diff options
Diffstat (limited to 'remoting/protocol/v2_authenticator_unittest.cc')
-rw-r--r-- | remoting/protocol/v2_authenticator_unittest.cc | 120 |
1 files changed, 2 insertions, 118 deletions
diff --git a/remoting/protocol/v2_authenticator_unittest.cc b/remoting/protocol/v2_authenticator_unittest.cc index 715fa2e..fe2458e 100644 --- a/remoting/protocol/v2_authenticator_unittest.cc +++ b/remoting/protocol/v2_authenticator_unittest.cc @@ -5,16 +5,10 @@ #include "remoting/protocol/v2_authenticator.h" #include "base/bind.h" -#include "base/file_path.h" -#include "base/file_util.h" -#include "base/message_loop.h" -#include "base/path_service.h" -#include "crypto/rsa_private_key.h" #include "net/base/net_errors.h" -#include "remoting/protocol/authenticator.h" +#include "remoting/protocol/authenticator_test_base.h" #include "remoting/protocol/channel_authenticator.h" #include "remoting/protocol/connection_tester.h" -#include "remoting/protocol/fake_session.h" #include "testing/gmock/include/gmock/gmock.h" #include "testing/gtest/include/gtest/gtest.h" #include "third_party/libjingle/source/talk/xmllite/xmlelement.h" @@ -31,19 +25,12 @@ namespace { const int kMessageSize = 100; const int kMessages = 1; -const char kClientJid[] = "host2@gmail.com/321"; - const char kTestSharedSecret[] = "1234-1234-5678"; const char kTestSharedSecretBad[] = "0000-0000-0001"; -class MockChannelDoneCallback { - public: - MOCK_METHOD2(OnDone, void(net::Error error, net::StreamSocket* socket)); -}; - } // namespace -class V2AuthenticatorTest : public testing::Test { +class V2AuthenticatorTest : public AuthenticatorTestBase { public: V2AuthenticatorTest() { } @@ -51,28 +38,6 @@ class V2AuthenticatorTest : public testing::Test { } protected: - virtual void SetUp() OVERRIDE { - FilePath certs_dir; - PathService::Get(base::DIR_SOURCE_ROOT, &certs_dir); - certs_dir = certs_dir.AppendASCII("net"); - certs_dir = certs_dir.AppendASCII("data"); - certs_dir = certs_dir.AppendASCII("ssl"); - certs_dir = certs_dir.AppendASCII("certificates"); - - FilePath cert_path = certs_dir.AppendASCII("unittest.selfsigned.der"); - ASSERT_TRUE(file_util::ReadFileToString(cert_path, &host_cert_)); - - FilePath key_path = certs_dir.AppendASCII("unittest.key.bin"); - std::string key_string; - ASSERT_TRUE(file_util::ReadFileToString(key_path, &key_string)); - std::vector<uint8> key_vector( - reinterpret_cast<const uint8*>(key_string.data()), - reinterpret_cast<const uint8*>(key_string.data() + - key_string.length())); - private_key_.reset( - crypto::RSAPrivateKey::CreateFromPrivateKeyInfo(key_vector)); - } - void InitAuthenticators(const std::string& client_secret, const std::string& host_secret) { host_ = V2Authenticator::CreateForHost( @@ -80,87 +45,6 @@ class V2AuthenticatorTest : public testing::Test { client_ = V2Authenticator::CreateForClient(client_secret); } - void RunAuthExchange() { - do { - scoped_ptr<buzz::XmlElement> message; - - // Pass message from client to host. - ASSERT_EQ(Authenticator::MESSAGE_READY, client_->state()); - message = client_->GetNextMessage(); - ASSERT_TRUE(message.get()); - ASSERT_NE(Authenticator::MESSAGE_READY, client_->state()); - - ASSERT_EQ(Authenticator::WAITING_MESSAGE, host_->state()); - host_->ProcessMessage(message.get()); - ASSERT_NE(Authenticator::WAITING_MESSAGE, host_->state()); - - // Are we done yet? - if (host_->state() == Authenticator::ACCEPTED || - host_->state() == Authenticator::REJECTED) { - break; - } - - // Pass message from host to client. - ASSERT_EQ(Authenticator::MESSAGE_READY, host_->state()); - message = host_->GetNextMessage(); - ASSERT_TRUE(message.get()); - ASSERT_NE(Authenticator::MESSAGE_READY, host_->state()); - - ASSERT_EQ(Authenticator::WAITING_MESSAGE, client_->state()); - client_->ProcessMessage(message.get()); - ASSERT_NE(Authenticator::WAITING_MESSAGE, client_->state()); - } while (client_->state() != Authenticator::ACCEPTED && - client_->state() != Authenticator::REJECTED); - } - - void RunChannelAuth(bool expected_fail) { - client_fake_socket_.reset(new FakeSocket()); - host_fake_socket_.reset(new FakeSocket()); - client_fake_socket_->PairWith(host_fake_socket_.get()); - - client_auth_->SecureAndAuthenticate( - client_fake_socket_.release(), - base::Bind(&MockChannelDoneCallback::OnDone, - base::Unretained(&client_callback_))); - - host_auth_->SecureAndAuthenticate( - host_fake_socket_.release(), - base::Bind(&MockChannelDoneCallback::OnDone, - base::Unretained(&host_callback_))); - - net::StreamSocket* client_socket = NULL; - net::StreamSocket* host_socket = NULL; - - EXPECT_CALL(client_callback_, OnDone(net::OK, _)) - .WillOnce(SaveArg<1>(&client_socket)); - if (expected_fail) { - EXPECT_CALL(host_callback_, OnDone(net::ERR_FAILED, NULL)); - } else { - EXPECT_CALL(host_callback_, OnDone(net::OK, _)) - .WillOnce(SaveArg<1>(&host_socket)); - } - - message_loop_.RunAllPending(); - - client_socket_.reset(client_socket); - host_socket_.reset(host_socket); - } - - MessageLoop message_loop_; - - scoped_ptr<crypto::RSAPrivateKey> private_key_; - std::string host_cert_; - scoped_ptr<Authenticator> host_; - scoped_ptr<Authenticator> client_; - scoped_ptr<FakeSocket> client_fake_socket_; - scoped_ptr<FakeSocket> host_fake_socket_; - scoped_ptr<ChannelAuthenticator> client_auth_; - scoped_ptr<ChannelAuthenticator> host_auth_; - MockChannelDoneCallback client_callback_; - MockChannelDoneCallback host_callback_; - scoped_ptr<net::StreamSocket> client_socket_; - scoped_ptr<net::StreamSocket> host_socket_; - DISALLOW_COPY_AND_ASSIGN(V2AuthenticatorTest); }; |