| Index: remoting/host/security_key/security_key_extension_session_unittest.cc
|
| diff --git a/remoting/host/security_key/gnubby_extension_session_unittest.cc b/remoting/host/security_key/security_key_extension_session_unittest.cc
|
| similarity index 60%
|
| rename from remoting/host/security_key/gnubby_extension_session_unittest.cc
|
| rename to remoting/host/security_key/security_key_extension_session_unittest.cc
|
| index 3bd04d5c4a7f6949827431c5c87f0d1257aebeda..229f7447c5fe8b54d84b07877edfbd856cbb0d60 100644
|
| --- a/remoting/host/security_key/gnubby_extension_session_unittest.cc
|
| +++ b/remoting/host/security_key/security_key_extension_session_unittest.cc
|
| @@ -2,7 +2,7 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#include "remoting/host/security_key/gnubby_extension_session.h"
|
| +#include "remoting/host/security_key/security_key_extension_session.h"
|
|
|
| #include <stddef.h>
|
|
|
| @@ -23,7 +23,7 @@
|
| #include "net/socket/unix_domain_client_socket_posix.h"
|
| #include "remoting/host/client_session_details.h"
|
| #include "remoting/host/host_mock_objects.h"
|
| -#include "remoting/host/security_key/gnubby_auth_handler.h"
|
| +#include "remoting/host/security_key/security_key_auth_handler.h"
|
| #include "remoting/proto/internal.pb.h"
|
| #include "remoting/protocol/client_stub.h"
|
| #include "testing/gmock/include/gmock/gmock.h"
|
| @@ -33,7 +33,7 @@ namespace remoting {
|
|
|
| namespace {
|
|
|
| -// Test gnubby request data.
|
| +// Test security key request data.
|
| const unsigned char kRequestData[] = {
|
| 0x00, 0x00, 0x00, 0x9a, 0x65, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
|
| 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x60, 0x90,
|
| @@ -143,44 +143,44 @@ TestClientSessionDetails::TestClientSessionDetails() {}
|
|
|
| TestClientSessionDetails::~TestClientSessionDetails() {}
|
|
|
| -class GnubbyExtensionSessionTest : public testing::Test {
|
| +class SecurityKeyExtensionSessionTest : public testing::Test {
|
| public:
|
| - GnubbyExtensionSessionTest();
|
| - ~GnubbyExtensionSessionTest() override;
|
| + SecurityKeyExtensionSessionTest();
|
| + ~SecurityKeyExtensionSessionTest() override;
|
|
|
| void WaitForAndVerifyHostMessage();
|
|
|
| - void CreateGnubbyConnection();
|
| + void CreateSecurityKeyConnection();
|
|
|
| protected:
|
| base::MessageLoopForIO message_loop_;
|
|
|
| // Object under test.
|
| - std::unique_ptr<GnubbyExtensionSession> gnubby_extension_session_;
|
| + std::unique_ptr<SecurityKeyExtensionSession> security_key_extension_session_;
|
|
|
| - MockGnubbyAuthHandler* mock_gnubby_auth_handler_ = nullptr;
|
| + MockSecurityKeyAuthHandler* mock_security_key_auth_handler_ = nullptr;
|
|
|
| TestClientStub client_stub_;
|
| TestClientSessionDetails client_details_;
|
|
|
| private:
|
| - DISALLOW_COPY_AND_ASSIGN(GnubbyExtensionSessionTest);
|
| + DISALLOW_COPY_AND_ASSIGN(SecurityKeyExtensionSessionTest);
|
| };
|
|
|
| -GnubbyExtensionSessionTest::GnubbyExtensionSessionTest()
|
| - : gnubby_extension_session_(
|
| - new GnubbyExtensionSession(&client_details_, &client_stub_)) {
|
| +SecurityKeyExtensionSessionTest::SecurityKeyExtensionSessionTest()
|
| + : security_key_extension_session_(
|
| + new SecurityKeyExtensionSession(&client_details_, &client_stub_)) {
|
| // We want to retain ownership of mock object so we can use it to inject
|
| // events into the extension session. The mock object should not be used
|
| - // once |gnubby_extension_session_| is destroyed.
|
| - mock_gnubby_auth_handler_ = new MockGnubbyAuthHandler();
|
| - gnubby_extension_session_->SetGnubbyAuthHandlerForTesting(
|
| - base::WrapUnique(mock_gnubby_auth_handler_));
|
| + // once |security_key_extension_session_| is destroyed.
|
| + mock_security_key_auth_handler_ = new MockSecurityKeyAuthHandler();
|
| + security_key_extension_session_->SetSecurityKeyAuthHandlerForTesting(
|
| + base::WrapUnique(mock_security_key_auth_handler_));
|
| }
|
|
|
| -GnubbyExtensionSessionTest::~GnubbyExtensionSessionTest() {}
|
| +SecurityKeyExtensionSessionTest::~SecurityKeyExtensionSessionTest() {}
|
|
|
| -void GnubbyExtensionSessionTest::WaitForAndVerifyHostMessage() {
|
| +void SecurityKeyExtensionSessionTest::WaitForAndVerifyHostMessage() {
|
| client_stub_.WaitForDeliverHostMessage(
|
| base::TimeDelta::FromMilliseconds(500));
|
| base::ListValue expected_data;
|
| @@ -195,133 +195,143 @@ void GnubbyExtensionSessionTest::WaitForAndVerifyHostMessage() {
|
| client_stub_.CheckHostDataMessage(1, expected_data_json);
|
| }
|
|
|
| -void GnubbyExtensionSessionTest::CreateGnubbyConnection() {
|
| - EXPECT_CALL(*mock_gnubby_auth_handler_, CreateGnubbyConnection()).Times(1);
|
| +void SecurityKeyExtensionSessionTest::CreateSecurityKeyConnection() {
|
| + EXPECT_CALL(*mock_security_key_auth_handler_, CreateSecurityKeyConnection())
|
| + .Times(1);
|
|
|
| protocol::ExtensionMessage message;
|
| message.set_type("gnubby-auth");
|
| message.set_data("{\"type\":\"control\",\"option\":\"auth-v1\"}");
|
|
|
| - ASSERT_TRUE(
|
| - gnubby_extension_session_->OnExtensionMessage(nullptr, nullptr, message));
|
| + ASSERT_TRUE(security_key_extension_session_->OnExtensionMessage(
|
| + nullptr, nullptr, message));
|
| }
|
|
|
| -TEST_F(GnubbyExtensionSessionTest, GnubbyConnectionCreated_ValidMessage) {
|
| - CreateGnubbyConnection();
|
| +TEST_F(SecurityKeyExtensionSessionTest,
|
| + SecurityKeyConnectionCreated_ValidMessage) {
|
| + CreateSecurityKeyConnection();
|
| }
|
|
|
| -TEST_F(GnubbyExtensionSessionTest, NoGnubbyConnectionCreated_WrongMessageType) {
|
| - EXPECT_CALL(*mock_gnubby_auth_handler_, CreateGnubbyConnection()).Times(0);
|
| +TEST_F(SecurityKeyExtensionSessionTest,
|
| + NoSecurityKeyConnectionCreated_WrongMessageType) {
|
| + EXPECT_CALL(*mock_security_key_auth_handler_, CreateSecurityKeyConnection())
|
| + .Times(0);
|
|
|
| protocol::ExtensionMessage message;
|
| message.set_type("unsupported-gnubby-auth");
|
| message.set_data("{\"type\":\"control\",\"option\":\"auth-v1\"}");
|
|
|
| - ASSERT_FALSE(
|
| - gnubby_extension_session_->OnExtensionMessage(nullptr, nullptr, message));
|
| + ASSERT_FALSE(security_key_extension_session_->OnExtensionMessage(
|
| + nullptr, nullptr, message));
|
| }
|
|
|
| -TEST_F(GnubbyExtensionSessionTest,
|
| - NoGnubbyConnectionCreated_InvalidMessageData) {
|
| - EXPECT_CALL(*mock_gnubby_auth_handler_, CreateGnubbyConnection()).Times(0);
|
| +TEST_F(SecurityKeyExtensionSessionTest,
|
| + NoSecurityKeyConnectionCreated_InvalidMessageData) {
|
| + EXPECT_CALL(*mock_security_key_auth_handler_, CreateSecurityKeyConnection())
|
| + .Times(0);
|
|
|
| // First try invalid JSON.
|
| protocol::ExtensionMessage message;
|
| message.set_type("gnubby-auth");
|
| message.set_data("{\"type\":\"control\",\"option\":}");
|
| // handled should still be true, even if the message payload is invalid.
|
| - ASSERT_TRUE(
|
| - gnubby_extension_session_->OnExtensionMessage(nullptr, nullptr, message));
|
| + ASSERT_TRUE(security_key_extension_session_->OnExtensionMessage(
|
| + nullptr, nullptr, message));
|
|
|
| // Now try an invalid message type.
|
| message.set_type("gnubby-auth");
|
| message.set_data("{\"type\":\"control\",\"option\":\"auth-v0\"}");
|
| // handled should still be true, even if the message payload is invalid.
|
| - ASSERT_TRUE(
|
| - gnubby_extension_session_->OnExtensionMessage(nullptr, nullptr, message));
|
| + ASSERT_TRUE(security_key_extension_session_->OnExtensionMessage(
|
| + nullptr, nullptr, message));
|
|
|
| // Now try a message that is missing the option and auth type.
|
| message.set_type("gnubby-auth");
|
| message.set_data("{\"type\":\"control\"}");
|
| // handled should still be true, even if the message payload is invalid.
|
| - ASSERT_TRUE(
|
| - gnubby_extension_session_->OnExtensionMessage(nullptr, nullptr, message));
|
| + ASSERT_TRUE(security_key_extension_session_->OnExtensionMessage(
|
| + nullptr, nullptr, message));
|
| }
|
|
|
| -TEST_F(GnubbyExtensionSessionTest, DataMessageProcessing_MissingConnectionId) {
|
| - CreateGnubbyConnection();
|
| +TEST_F(SecurityKeyExtensionSessionTest,
|
| + DataMessageProcessing_MissingConnectionId) {
|
| + CreateSecurityKeyConnection();
|
|
|
| - EXPECT_CALL(*mock_gnubby_auth_handler_,
|
| + EXPECT_CALL(*mock_security_key_auth_handler_,
|
| SendClientResponse(testing::_, testing::_))
|
| .Times(0);
|
| - EXPECT_CALL(*mock_gnubby_auth_handler_,
|
| + EXPECT_CALL(*mock_security_key_auth_handler_,
|
| SendErrorAndCloseConnection(testing::_))
|
| .Times(0);
|
| - EXPECT_CALL(*mock_gnubby_auth_handler_, IsValidConnectionId(testing::_))
|
| + EXPECT_CALL(*mock_security_key_auth_handler_, IsValidConnectionId(testing::_))
|
| .Times(0);
|
|
|
| protocol::ExtensionMessage message;
|
| message.set_type("gnubby-auth");
|
| message.set_data("{\"type\":\"data\"}");
|
|
|
| - ASSERT_TRUE(
|
| - gnubby_extension_session_->OnExtensionMessage(nullptr, nullptr, message));
|
| + ASSERT_TRUE(security_key_extension_session_->OnExtensionMessage(
|
| + nullptr, nullptr, message));
|
| }
|
|
|
| -TEST_F(GnubbyExtensionSessionTest, DataMessageProcessing_InvalidConnectionId) {
|
| - CreateGnubbyConnection();
|
| +TEST_F(SecurityKeyExtensionSessionTest,
|
| + DataMessageProcessing_InvalidConnectionId) {
|
| + CreateSecurityKeyConnection();
|
|
|
| - EXPECT_CALL(*mock_gnubby_auth_handler_,
|
| + EXPECT_CALL(*mock_security_key_auth_handler_,
|
| SendClientResponse(testing::_, testing::_))
|
| .Times(0);
|
| - EXPECT_CALL(*mock_gnubby_auth_handler_,
|
| + EXPECT_CALL(*mock_security_key_auth_handler_,
|
| SendErrorAndCloseConnection(testing::_))
|
| .Times(0);
|
| - EXPECT_CALL(*mock_gnubby_auth_handler_, IsValidConnectionId(1)).Times(1);
|
| + EXPECT_CALL(*mock_security_key_auth_handler_, IsValidConnectionId(1))
|
| + .Times(1);
|
|
|
| - ON_CALL(*mock_gnubby_auth_handler_, IsValidConnectionId(testing::_))
|
| + ON_CALL(*mock_security_key_auth_handler_, IsValidConnectionId(testing::_))
|
| .WillByDefault(testing::Return(false));
|
|
|
| protocol::ExtensionMessage message;
|
| message.set_type("gnubby-auth");
|
| message.set_data("{\"type\":\"data\",\"connectionId\":1}");
|
|
|
| - ASSERT_TRUE(
|
| - gnubby_extension_session_->OnExtensionMessage(nullptr, nullptr, message));
|
| + ASSERT_TRUE(security_key_extension_session_->OnExtensionMessage(
|
| + nullptr, nullptr, message));
|
| }
|
|
|
| -TEST_F(GnubbyExtensionSessionTest, DataMessageProcessing_MissingPayload) {
|
| - CreateGnubbyConnection();
|
| +TEST_F(SecurityKeyExtensionSessionTest, DataMessageProcessing_MissingPayload) {
|
| + CreateSecurityKeyConnection();
|
|
|
| - EXPECT_CALL(*mock_gnubby_auth_handler_, SendErrorAndCloseConnection(1))
|
| + EXPECT_CALL(*mock_security_key_auth_handler_, SendErrorAndCloseConnection(1))
|
| .Times(1);
|
| - EXPECT_CALL(*mock_gnubby_auth_handler_,
|
| + EXPECT_CALL(*mock_security_key_auth_handler_,
|
| SendClientResponse(testing::_, testing::_))
|
| .Times(0);
|
| - EXPECT_CALL(*mock_gnubby_auth_handler_, IsValidConnectionId(1)).Times(1);
|
| + EXPECT_CALL(*mock_security_key_auth_handler_, IsValidConnectionId(1))
|
| + .Times(1);
|
|
|
| - ON_CALL(*mock_gnubby_auth_handler_, IsValidConnectionId(testing::_))
|
| + ON_CALL(*mock_security_key_auth_handler_, IsValidConnectionId(testing::_))
|
| .WillByDefault(testing::Return(true));
|
|
|
| protocol::ExtensionMessage message;
|
| message.set_type("gnubby-auth");
|
| message.set_data("{\"type\":\"data\",\"connectionId\":1}");
|
|
|
| - ASSERT_TRUE(
|
| - gnubby_extension_session_->OnExtensionMessage(nullptr, nullptr, message));
|
| + ASSERT_TRUE(security_key_extension_session_->OnExtensionMessage(
|
| + nullptr, nullptr, message));
|
| }
|
|
|
| -TEST_F(GnubbyExtensionSessionTest, DataMessageProcessing_InvalidPayload) {
|
| - CreateGnubbyConnection();
|
| +TEST_F(SecurityKeyExtensionSessionTest, DataMessageProcessing_InvalidPayload) {
|
| + CreateSecurityKeyConnection();
|
|
|
| - EXPECT_CALL(*mock_gnubby_auth_handler_, SendErrorAndCloseConnection(1))
|
| + EXPECT_CALL(*mock_security_key_auth_handler_, SendErrorAndCloseConnection(1))
|
| .Times(1);
|
| - EXPECT_CALL(*mock_gnubby_auth_handler_,
|
| + EXPECT_CALL(*mock_security_key_auth_handler_,
|
| SendClientResponse(testing::_, testing::_))
|
| .Times(0);
|
| - EXPECT_CALL(*mock_gnubby_auth_handler_, IsValidConnectionId(1)).Times(1);
|
| + EXPECT_CALL(*mock_security_key_auth_handler_, IsValidConnectionId(1))
|
| + .Times(1);
|
|
|
| - ON_CALL(*mock_gnubby_auth_handler_, IsValidConnectionId(testing::_))
|
| + ON_CALL(*mock_security_key_auth_handler_, IsValidConnectionId(testing::_))
|
| .WillByDefault(testing::Return(true));
|
|
|
| protocol::ExtensionMessage message;
|
| @@ -329,22 +339,23 @@ TEST_F(GnubbyExtensionSessionTest, DataMessageProcessing_InvalidPayload) {
|
| message.set_data(
|
| "{\"type\":\"data\",\"connectionId\":1,\"data\":[\"a\",\"-\",\"z\"]}");
|
|
|
| - ASSERT_TRUE(
|
| - gnubby_extension_session_->OnExtensionMessage(nullptr, nullptr, message));
|
| + ASSERT_TRUE(security_key_extension_session_->OnExtensionMessage(
|
| + nullptr, nullptr, message));
|
| }
|
|
|
| -TEST_F(GnubbyExtensionSessionTest, DataMessageProcessing_ValidData) {
|
| - CreateGnubbyConnection();
|
| +TEST_F(SecurityKeyExtensionSessionTest, DataMessageProcessing_ValidData) {
|
| + CreateSecurityKeyConnection();
|
|
|
| - EXPECT_CALL(*mock_gnubby_auth_handler_,
|
| + EXPECT_CALL(*mock_security_key_auth_handler_,
|
| SendClientResponse(1, "\x1\x2\x3\x4\x5"))
|
| .Times(1);
|
| - EXPECT_CALL(*mock_gnubby_auth_handler_,
|
| + EXPECT_CALL(*mock_security_key_auth_handler_,
|
| SendErrorAndCloseConnection(testing::_))
|
| .Times(0);
|
| - EXPECT_CALL(*mock_gnubby_auth_handler_, IsValidConnectionId(1)).Times(1);
|
| + EXPECT_CALL(*mock_security_key_auth_handler_, IsValidConnectionId(1))
|
| + .Times(1);
|
|
|
| - ON_CALL(*mock_gnubby_auth_handler_, IsValidConnectionId(testing::_))
|
| + ON_CALL(*mock_security_key_auth_handler_, IsValidConnectionId(testing::_))
|
| .WillByDefault(testing::Return(true));
|
|
|
| protocol::ExtensionMessage message;
|
| @@ -352,78 +363,82 @@ TEST_F(GnubbyExtensionSessionTest, DataMessageProcessing_ValidData) {
|
| message.set_data(
|
| "{\"type\":\"data\",\"connectionId\":1,\"data\":[1,2,3,4,5]}");
|
|
|
| - ASSERT_TRUE(
|
| - gnubby_extension_session_->OnExtensionMessage(nullptr, nullptr, message));
|
| + ASSERT_TRUE(security_key_extension_session_->OnExtensionMessage(
|
| + nullptr, nullptr, message));
|
| }
|
|
|
| -TEST_F(GnubbyExtensionSessionTest, ErrorMessageProcessing_MissingConnectionId) {
|
| - CreateGnubbyConnection();
|
| +TEST_F(SecurityKeyExtensionSessionTest,
|
| + ErrorMessageProcessing_MissingConnectionId) {
|
| + CreateSecurityKeyConnection();
|
|
|
| - EXPECT_CALL(*mock_gnubby_auth_handler_,
|
| + EXPECT_CALL(*mock_security_key_auth_handler_,
|
| SendErrorAndCloseConnection(testing::_))
|
| .Times(0);
|
| - EXPECT_CALL(*mock_gnubby_auth_handler_,
|
| + EXPECT_CALL(*mock_security_key_auth_handler_,
|
| SendClientResponse(testing::_, testing::_))
|
| .Times(0);
|
| - EXPECT_CALL(*mock_gnubby_auth_handler_, IsValidConnectionId(testing::_))
|
| + EXPECT_CALL(*mock_security_key_auth_handler_, IsValidConnectionId(testing::_))
|
| .Times(0);
|
|
|
| protocol::ExtensionMessage message;
|
| message.set_type("gnubby-auth");
|
| message.set_data("{\"type\":\"error\"}");
|
|
|
| - ASSERT_TRUE(
|
| - gnubby_extension_session_->OnExtensionMessage(nullptr, nullptr, message));
|
| + ASSERT_TRUE(security_key_extension_session_->OnExtensionMessage(
|
| + nullptr, nullptr, message));
|
| }
|
|
|
| -TEST_F(GnubbyExtensionSessionTest, ErrorMessageProcessing_InvalidConnectionId) {
|
| - CreateGnubbyConnection();
|
| +TEST_F(SecurityKeyExtensionSessionTest,
|
| + ErrorMessageProcessing_InvalidConnectionId) {
|
| + CreateSecurityKeyConnection();
|
|
|
| - EXPECT_CALL(*mock_gnubby_auth_handler_,
|
| + EXPECT_CALL(*mock_security_key_auth_handler_,
|
| SendErrorAndCloseConnection(testing::_))
|
| .Times(0);
|
| - EXPECT_CALL(*mock_gnubby_auth_handler_,
|
| + EXPECT_CALL(*mock_security_key_auth_handler_,
|
| SendClientResponse(testing::_, testing::_))
|
| .Times(0);
|
| - EXPECT_CALL(*mock_gnubby_auth_handler_, IsValidConnectionId(1)).Times(1);
|
| + EXPECT_CALL(*mock_security_key_auth_handler_, IsValidConnectionId(1))
|
| + .Times(1);
|
|
|
| - ON_CALL(*mock_gnubby_auth_handler_, IsValidConnectionId(testing::_))
|
| + ON_CALL(*mock_security_key_auth_handler_, IsValidConnectionId(testing::_))
|
| .WillByDefault(testing::Return(false));
|
|
|
| protocol::ExtensionMessage message;
|
| message.set_type("gnubby-auth");
|
| message.set_data("{\"type\":\"error\",\"connectionId\":1}");
|
|
|
| - ASSERT_TRUE(
|
| - gnubby_extension_session_->OnExtensionMessage(nullptr, nullptr, message));
|
| + ASSERT_TRUE(security_key_extension_session_->OnExtensionMessage(
|
| + nullptr, nullptr, message));
|
| }
|
|
|
| -TEST_F(GnubbyExtensionSessionTest, ErrorMessageProcessing_ValidData) {
|
| - CreateGnubbyConnection();
|
| +TEST_F(SecurityKeyExtensionSessionTest, ErrorMessageProcessing_ValidData) {
|
| + CreateSecurityKeyConnection();
|
|
|
| - EXPECT_CALL(*mock_gnubby_auth_handler_, SendErrorAndCloseConnection(1))
|
| + EXPECT_CALL(*mock_security_key_auth_handler_, SendErrorAndCloseConnection(1))
|
| .Times(1);
|
| - EXPECT_CALL(*mock_gnubby_auth_handler_,
|
| + EXPECT_CALL(*mock_security_key_auth_handler_,
|
| SendClientResponse(testing::_, testing::_))
|
| .Times(0);
|
| - EXPECT_CALL(*mock_gnubby_auth_handler_, IsValidConnectionId(1)).Times(1);
|
| + EXPECT_CALL(*mock_security_key_auth_handler_, IsValidConnectionId(1))
|
| + .Times(1);
|
|
|
| - ON_CALL(*mock_gnubby_auth_handler_, IsValidConnectionId(testing::_))
|
| + ON_CALL(*mock_security_key_auth_handler_, IsValidConnectionId(testing::_))
|
| .WillByDefault(testing::Return(true));
|
|
|
| protocol::ExtensionMessage message;
|
| message.set_type("gnubby-auth");
|
| message.set_data("{\"type\":\"error\",\"connectionId\":1}");
|
|
|
| - ASSERT_TRUE(
|
| - gnubby_extension_session_->OnExtensionMessage(nullptr, nullptr, message));
|
| + ASSERT_TRUE(security_key_extension_session_->OnExtensionMessage(
|
| + nullptr, nullptr, message));
|
| }
|
|
|
| -TEST_F(GnubbyExtensionSessionTest, SendMessageToClient_ValidData) {
|
| - CreateGnubbyConnection();
|
| +TEST_F(SecurityKeyExtensionSessionTest, SendMessageToClient_ValidData) {
|
| + CreateSecurityKeyConnection();
|
|
|
| - // Inject data into the SendMessageCallback to simulate a gnubby request.
|
| - mock_gnubby_auth_handler_->GetSendMessageCallback().Run(42, "test_msg");
|
| + // Inject data into SendMessageCallback to simulate a security key request.
|
| + mock_security_key_auth_handler_->GetSendMessageCallback().Run(42, "test_msg");
|
|
|
| client_stub_.WaitForDeliverHostMessage(
|
| base::TimeDelta::FromMilliseconds(500));
|
|
|