Mandoline: Disable slimming paint
[chromium-blink-merge.git] / remoting / protocol / authenticator_test_base.h
blob02e7de9ec04342e31fe22fa1f5d42c67778363c9
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef REMOTING_PROTOCOL_AUTHENTICATOR_TEST_BASE_H_
6 #define REMOTING_PROTOCOL_AUTHENTICATOR_TEST_BASE_H_
8 #include <string>
10 #include "base/memory/ref_counted.h"
11 #include "base/message_loop/message_loop.h"
12 #include "testing/gmock/include/gmock/gmock.h"
13 #include "testing/gtest/include/gtest/gtest.h"
15 namespace net {
16 class StreamSocket;
17 } // namespace net
19 namespace remoting {
21 class RsaKeyPair;
23 namespace protocol {
25 class Authenticator;
26 class ChannelAuthenticator;
27 class FakeStreamSocket;
29 class AuthenticatorTestBase : public testing::Test {
30 public:
31 AuthenticatorTestBase();
32 ~AuthenticatorTestBase() override;
34 protected:
35 class MockChannelDoneCallback {
36 public:
37 MockChannelDoneCallback();
38 ~MockChannelDoneCallback();
39 MOCK_METHOD1(OnDone, void(int error));
42 static void ContinueAuthExchangeWith(Authenticator* sender,
43 Authenticator* receiver,
44 bool sender_started,
45 bool receiver_srated);
46 void SetUp() override;
47 void RunAuthExchange();
48 void RunHostInitiatedAuthExchange();
49 void RunChannelAuth(bool expected_fail);
51 void OnHostConnected(int error,
52 scoped_ptr<net::StreamSocket> socket);
53 void OnClientConnected(int error,
54 scoped_ptr<net::StreamSocket> socket);
56 base::MessageLoop message_loop_;
58 scoped_refptr<RsaKeyPair> key_pair_;
59 std::string host_public_key_;
60 std::string host_cert_;
61 scoped_ptr<Authenticator> host_;
62 scoped_ptr<Authenticator> client_;
63 scoped_ptr<FakeStreamSocket> client_fake_socket_;
64 scoped_ptr<FakeStreamSocket> host_fake_socket_;
65 scoped_ptr<ChannelAuthenticator> client_auth_;
66 scoped_ptr<ChannelAuthenticator> host_auth_;
67 MockChannelDoneCallback client_callback_;
68 MockChannelDoneCallback host_callback_;
69 scoped_ptr<net::StreamSocket> client_socket_;
70 scoped_ptr<net::StreamSocket> host_socket_;
72 DISALLOW_COPY_AND_ASSIGN(AuthenticatorTestBase);
75 } // namespace protocol
76 } // namespace remoting
78 #endif // REMOTING_PROTOCOL_AUTHENTICATOR_TEST_BASE_H_