diff options
Diffstat (limited to 'src/components/connection_handler/test/connection_handler_impl_test.cc')
-rw-r--r-- | src/components/connection_handler/test/connection_handler_impl_test.cc | 48 |
1 files changed, 46 insertions, 2 deletions
diff --git a/src/components/connection_handler/test/connection_handler_impl_test.cc b/src/components/connection_handler/test/connection_handler_impl_test.cc index 69c52648e0..aeb0c422f8 100644 --- a/src/components/connection_handler/test/connection_handler_impl_test.cc +++ b/src/components/connection_handler/test/connection_handler_impl_test.cc @@ -37,8 +37,10 @@ #include "connection_handler/connection_handler_impl.h" #include "protocol/common.h" // TODO(EZamakhov): move security test +#ifdef ENABLE_SECURITY #include "security_manager/mock_security_manager.h" #include "security_manager/mock_ssl_context.h" +#endif // ENABLE_SECURITY #include "protocol_handler/mock_protocol_handler.h" #include "connection_handler/mock_connection_handler_observer.h" #include "connection_handler/mock_connection_handler_settings.h" @@ -183,7 +185,7 @@ class ConnectionHandlerTest : public ::testing::Test { ASSERT_FALSE(connection_list.empty()); ConnectionList::const_iterator conn_it = connection_list.find(connectionId); ASSERT_NE(conn_it, connection_list.end()); - const Connection& connection = *connection_list.begin()->second; + const Connection& connection = *conn_it->second; const SessionMap& session_map = connection.session_map(); SessionMap::const_iterator sess_it = session_map.find(session_id); @@ -214,7 +216,7 @@ class ConnectionHandlerTest : public ::testing::Test { ASSERT_FALSE(connection_list.empty()); ConnectionList::const_iterator conn_it = connection_list.find(connectionId); ASSERT_NE(conn_it, connection_list.end()); - const Connection& connection = *connection_list.begin()->second; + const Connection& connection = *conn_it->second; const SessionMap& session_map = connection.session_map(); ASSERT_FALSE(session_map.empty()); @@ -506,6 +508,13 @@ TEST_F(ConnectionHandlerTest, GetPairFromKey) { EXPECT_EQ(out_context_.new_session_id_, session_id); } +MATCHER_P(SameDevice, device, "") { + return arg.device_handle() == device.device_handle() && + arg.user_friendly_name() == device.user_friendly_name() && + arg.mac_address() == device.mac_address() && + arg.connection_type() == device.connection_type(); +} + TEST_F(ConnectionHandlerTest, IsHeartBeatSupported) { AddTestDeviceConnection(); AddTestSession(); @@ -1977,6 +1986,41 @@ TEST_F(ConnectionHandlerTest, RunAppOnDevice_AppOnDevice_SUCCESS) { connection_handler_->RunAppOnDevice(hash_of_mac_address, bundle_id); } +TEST_F(ConnectionHandlerTest, OnDeviceConnectionSwitching) { + connection_handler_test::MockConnectionHandlerObserver + mock_connection_handler_observer; + connection_handler_->set_connection_handler_observer( + &mock_connection_handler_observer); + + const transport_manager::DeviceInfo device_info_1( + device_handle_, mac_address_, device_name_, connection_type_); + + connection_handler_->OnDeviceAdded(device_info_1); + + const auto second_mac_address = "second_mac_address"; + const transport_manager::DeviceInfo device_info_2(device_handle_ + 1, + second_mac_address, + "second_device_name", + "second_connection_type"); + + connection_handler_->OnDeviceAdded(device_info_2); + + connection_handler::Device d1(device_info_1.device_handle(), + device_info_1.name(), + device_info_1.mac_address(), + device_info_1.connection_type()); + + connection_handler::Device d2(device_info_2.device_handle(), + device_info_2.name(), + device_info_2.mac_address(), + device_info_2.connection_type()); + + EXPECT_CALL(mock_connection_handler_observer, + OnDeviceSwitchingStart(SameDevice(d1), SameDevice(d2))); + + connection_handler_->OnDeviceSwitchingStart(mac_address_, second_mac_address); +} + } // namespace connection_handler_test } // namespace components } // namespace test |