| Index: blimp/net/engine_authentication_handler_unittest.cc
|
| diff --git a/blimp/net/engine_authentication_handler_unittest.cc b/blimp/net/engine_authentication_handler_unittest.cc
|
| index b3498106e9466cc9e501fea1653eae4eecad5f50..afe7f3c59d7776660bf75675196ceed5da47f23a 100644
|
| --- a/blimp/net/engine_authentication_handler_unittest.cc
|
| +++ b/blimp/net/engine_authentication_handler_unittest.cc
|
| @@ -10,6 +10,7 @@
|
| #include "base/thread_task_runner_handle.h"
|
| #include "blimp/common/create_blimp_message.h"
|
| #include "blimp/common/proto/blimp_message.pb.h"
|
| +#include "blimp/common/version_info.h"
|
| #include "blimp/net/blimp_connection.h"
|
| #include "blimp/net/blimp_transport.h"
|
| #include "blimp/net/common.h"
|
| @@ -24,6 +25,7 @@
|
|
|
| using testing::_;
|
| using testing::Eq;
|
| +using testing::Return;
|
| using testing::SaveArg;
|
|
|
| namespace blimp {
|
| @@ -68,19 +70,47 @@ TEST_F(EngineAuthenticationHandlerTest, AuthenticationSucceeds) {
|
| EXPECT_NE(nullptr, incoming_message_processor_);
|
|
|
| std::unique_ptr<BlimpMessage> blimp_message =
|
| - CreateStartConnectionMessage(client_token, 0);
|
| + CreateStartConnectionMessage(client_token, GetProtocolVersion());
|
| net::TestCompletionCallback process_message_cb;
|
| incoming_message_processor_->ProcessMessage(std::move(blimp_message),
|
| process_message_cb.callback());
|
| EXPECT_EQ(net::OK, process_message_cb.WaitForResult());
|
| }
|
|
|
| +TEST_F(EngineAuthenticationHandlerTest, ProtocolMismatch) {
|
| + const int kInvalidProtocolVersion = -1;
|
| +
|
| + BlimpMessage end_connection_message;
|
| + MockBlimpMessageProcessor message_processor;
|
| + EXPECT_CALL(message_processor, MockableProcessMessage(_, _))
|
| + .WillOnce(SaveArg<0>(&end_connection_message));
|
| + EXPECT_CALL(*connection_, GetOutgoingMessageProcessor())
|
| + .WillOnce(Return(&message_processor));
|
| +
|
| + ExpectOnConnection();
|
| + auth_handler_->HandleConnection(std::move(connection_));
|
| +
|
| + std::unique_ptr<BlimpMessage> blimp_message =
|
| + CreateStartConnectionMessage(client_token, kInvalidProtocolVersion);
|
| + net::TestCompletionCallback process_message_cb;
|
| + incoming_message_processor_->ProcessMessage(std::move(blimp_message),
|
| + process_message_cb.callback());
|
| + EXPECT_EQ(net::OK, process_message_cb.WaitForResult());
|
| +
|
| + EXPECT_EQ(BlimpMessage::PROTOCOL_CONTROL, end_connection_message.type());
|
| + EXPECT_EQ(ProtocolControlMessage::END_CONNECTION,
|
| + end_connection_message.protocol_control().type());
|
| + EXPECT_EQ(
|
| + EndConnectionMessage::PROTOCOL_MISMATCH,
|
| + end_connection_message.protocol_control().end_connection().reason());
|
| +}
|
| +
|
| TEST_F(EngineAuthenticationHandlerTest, AuthenticationFailed) {
|
| ExpectOnConnection();
|
| auth_handler_->HandleConnection(std::move(connection_));
|
|
|
| std::unique_ptr<BlimpMessage> blimp_message =
|
| - CreateStartConnectionMessage("invalid token", 0);
|
| + CreateStartConnectionMessage("invalid token", GetProtocolVersion());
|
| net::TestCompletionCallback process_message_cb;
|
| incoming_message_processor_->ProcessMessage(std::move(blimp_message),
|
| process_message_cb.callback());
|
| @@ -123,7 +153,7 @@ TEST_F(EngineAuthenticationHandlerTest, AuthHandlerDeletedFirst) {
|
| auth_handler_.reset();
|
|
|
| std::unique_ptr<BlimpMessage> blimp_message =
|
| - CreateStartConnectionMessage(client_token, 0);
|
| + CreateStartConnectionMessage(client_token, GetProtocolVersion());
|
| net::TestCompletionCallback process_message_cb;
|
| incoming_message_processor_->ProcessMessage(std::move(blimp_message),
|
| process_message_cb.callback());
|
|
|