diff options
Diffstat (limited to 'src/components')
8 files changed, 22 insertions, 23 deletions
diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/test/commands/hmi/sdl_activate_app_request_test.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/test/commands/hmi/sdl_activate_app_request_test.cc index f040128097..8543a201bf 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/test/commands/hmi/sdl_activate_app_request_test.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/test/commands/hmi/sdl_activate_app_request_test.cc @@ -44,6 +44,7 @@ #include "application_manager/event_engine/event.h" #include "application_manager/mock_event_dispatcher.h" #include "application_manager/mock_state_controller.h" +#include "connection_handler/mock_connection_handler.h" namespace test { namespace components { diff --git a/src/components/include/test/transport_manager/transport_adapter/mock_transport_adapter.h b/src/components/include/test/transport_manager/transport_adapter/mock_transport_adapter.h index c993f245b9..3864c3f6f9 100644 --- a/src/components/include/test/transport_manager/transport_adapter/mock_transport_adapter.h +++ b/src/components/include/test/transport_manager/transport_adapter/mock_transport_adapter.h @@ -35,6 +35,7 @@ #include "gmock/gmock.h" #include "transport_manager/transport_adapter/transport_adapter.h" +#include "transport_manager/transport_adapter/device.h" namespace test { namespace components { @@ -69,7 +70,6 @@ class MockTransportAdapter MOCK_CONST_METHOD1(GetConnectionStatus, ::transport_manager::ConnectionStatus( const ::transport_manager::DeviceUID& device_handle)); - MOCK_METHOD0(ConnectionStatusUpdated, void()); MOCK_METHOD2(RunAppOnDevice, void(const std::string&, const std::string&)); MOCK_CONST_METHOD0(IsClientOriginatedConnectSupported, bool()); MOCK_METHOD0( diff --git a/src/components/include/transport_manager/transport_adapter/transport_adapter.h b/src/components/include/transport_manager/transport_adapter/transport_adapter.h index f4ce19eb5f..2b3efd3624 100644 --- a/src/components/include/transport_manager/transport_adapter/transport_adapter.h +++ b/src/components/include/transport_manager/transport_adapter/transport_adapter.h @@ -206,8 +206,6 @@ class TransportAdapter { virtual ConnectionStatus GetConnectionStatus( const DeviceUID& device_handle) const = 0; - virtual void ConnectionStatusUpdated() = 0; - /** * @brief RunAppOnDevice allows to run specific application on the certain *device. diff --git a/src/components/transport_manager/include/transport_manager/transport_adapter/transport_adapter_impl.h b/src/components/transport_manager/include/transport_manager/transport_adapter/transport_adapter_impl.h index 8d03bdb2c7..68d5ba3067 100644 --- a/src/components/transport_manager/include/transport_manager/transport_adapter/transport_adapter_impl.h +++ b/src/components/transport_manager/include/transport_manager/transport_adapter/transport_adapter_impl.h @@ -159,7 +159,11 @@ class TransportAdapterImpl : public TransportAdapter, ConnectionStatus GetConnectionStatus( const DeviceUID& device_handle) const OVERRIDE; - void ConnectionStatusUpdated() OVERRIDE; + /** + * @brief Notifies the application manager that a cloud connection status has + * updated and should trigger an UpdateAppList RPC to the HMI + */ + void ConnectionStatusUpdated(DeviceSptr device, ConnectionStatus status); /** * @brief Disconnect from specified session. diff --git a/src/components/transport_manager/src/transport_adapter/transport_adapter_impl.cc b/src/components/transport_manager/src/transport_adapter/transport_adapter_impl.cc index 8928ecb4d2..34d5a29abd 100644 --- a/src/components/transport_manager/src/transport_adapter/transport_adapter_impl.cc +++ b/src/components/transport_manager/src/transport_adapter/transport_adapter_impl.cc @@ -252,13 +252,11 @@ TransportAdapter::Error TransportAdapterImpl::ConnectDevice( // Update retry count if (device->retry_count() >= get_settings().cloud_app_max_retry_attempts()) { - device->set_connection_status(ConnectionStatus::PENDING); device->reset_retry_count(); - ConnectionStatusUpdated(); + ConnectionStatusUpdated(device, ConnectionStatus::PENDING); return err; } else if (device->connection_status() == ConnectionStatus::PENDING) { - device->set_connection_status(ConnectionStatus::RETRY); - ConnectionStatusUpdated(); + ConnectionStatusUpdated(device, ConnectionStatus::RETRY); } device->next_retry(); @@ -273,8 +271,7 @@ TransportAdapter::Error TransportAdapterImpl::ConnectDevice( retry_timer->Start(get_settings().cloud_app_retry_timeout(), timer::kSingleShot); } else if (OK == err) { - device->set_connection_status(ConnectionStatus::CONNECTED); - ConnectionStatusUpdated(); + ConnectionStatusUpdated(device, ConnectionStatus::CONNECTED); } LOG4CXX_TRACE(logger_, "exit with error: " << err); return err; @@ -328,7 +325,9 @@ ConnectionStatus TransportAdapterImpl::GetConnectionStatus( : device->connection_status(); } -void TransportAdapterImpl::ConnectionStatusUpdated() { +void TransportAdapterImpl::ConnectionStatusUpdated(DeviceSptr device, + ConnectionStatus status) { + device->set_connection_status(status); for (TransportAdapterListenerList::iterator it = listeners_.begin(); it != listeners_.end(); ++it) { @@ -366,8 +365,7 @@ TransportAdapter::Error TransportAdapterImpl::DisconnectDevice( Error error = OK; DeviceSptr device = FindDevice(device_id); - device->set_connection_status(ConnectionStatus::CLOSING); - ConnectionStatusUpdated(); + ConnectionStatusUpdated(device, ConnectionStatus::CLOSING); std::vector<ConnectionInfo> to_disconnect; connections_lock_.AcquireForReading(); diff --git a/src/components/transport_manager/test/include/transport_manager/transport_adapter/mock_transport_adapter_controller.h b/src/components/transport_manager/test/include/transport_manager/transport_adapter/mock_transport_adapter_controller.h index 642c193d63..bd8c5d2ed3 100644 --- a/src/components/transport_manager/test/include/transport_manager/transport_adapter/mock_transport_adapter_controller.h +++ b/src/components/transport_manager/test/include/transport_manager/transport_adapter/mock_transport_adapter_controller.h @@ -44,7 +44,7 @@ using namespace ::transport_manager::transport_adapter; class MockTransportAdapterController : public TransportAdapterController { public: - MOCK_METHOD1(AddDevice, DeviceSptr(DeviceSptr device)); + MOCK_METHOD1(AddDevice, DeviceSptr(std::string device)); MOCK_METHOD1(SearchDeviceDone, void(DeviceVector device)); MOCK_METHOD1(ApplicationListUpdated, ApplicationListUpdated(const DeviceUID& device_handle)); diff --git a/src/components/transport_manager/test/include/transport_manager/transport_adapter/mock_transport_adapter_impl.h b/src/components/transport_manager/test/include/transport_manager/transport_adapter/mock_transport_adapter_impl.h index e18d1bc53b..3a1422cee1 100644 --- a/src/components/transport_manager/test/include/transport_manager/transport_adapter/mock_transport_adapter_impl.h +++ b/src/components/transport_manager/test/include/transport_manager/transport_adapter/mock_transport_adapter_impl.h @@ -36,6 +36,8 @@ #include "gmock/gmock.h" #include "transport_manager/transport_manager_settings.h" #include "transport_manager/transport_adapter/transport_adapter_impl.h" +#include "transport_manager/transport_adapter/device.h" +#include "transport_manager/common.h" using ::transport_manager::transport_adapter::TransportAdapterImpl; using ::transport_manager::transport_adapter::DeviceScanner; @@ -75,7 +77,9 @@ class MockTransportAdapterImpl : public TransportAdapterImpl { MOCK_CONST_METHOD1(FindDevice, transport_manager::transport_adapter::DeviceSptr( const DeviceUID& device_id)); - MOCK_METHOD0(ConnectionStatusUpdated, void()); + MOCK_METHOD2(ConnectionStatusUpdated, + void(transport_manager::transport_adapter::DeviceSptr device, + ::transport_manager::ConnectionStatus status)); MOCK_CONST_METHOD0(GetDeviceType, ::transport_manager::transport_adapter::DeviceType()); MOCK_METHOD0(RetryConnection, void()); diff --git a/src/components/transport_manager/test/transport_adapter_test.cc b/src/components/transport_manager/test/transport_adapter_test.cc index b917c60187..72cf0ba76e 100644 --- a/src/components/transport_manager/test/transport_adapter_test.cc +++ b/src/components/transport_manager/test/transport_adapter_test.cc @@ -359,7 +359,6 @@ TEST_F(TransportAdapterTest, ConnectDevice_DeviceAdded) { EXPECT_CALL(*serverMock, CreateConnection(uniq_id, app_handle)) .WillOnce(Return(TransportAdapter::OK)); EXPECT_CALL(transport_adapter, FindDevice(uniq_id)).WillOnce(Return(mockdev)); - EXPECT_CALL(transport_adapter, ConnectionStatusUpdated()); TransportAdapter::Error res = transport_adapter.ConnectDevice(uniq_id); EXPECT_EQ(TransportAdapter::OK, res); EXPECT_EQ(ConnectionStatus::CONNECTED, mockdev->connection_status()); @@ -372,7 +371,6 @@ TEST_F(TransportAdapterTest, ConnectDevice_DeviceAdded_ConnectFailedRetry) { MockTransportAdapterImpl transport_adapter( NULL, server_mock, NULL, last_state_, transport_manager_settings); SetDefaultExpectations(transport_adapter); - // transport_adapter.SetDeviceType(DeviceType::CLOUD_WEBSOCKET); EXPECT_CALL(*server_mock, Init()).WillOnce(Return(TransportAdapter::OK)); EXPECT_CALL(transport_adapter, Restore()).WillOnce(Return(true)); @@ -396,7 +394,6 @@ TEST_F(TransportAdapterTest, ConnectDevice_DeviceAdded_ConnectFailedRetry) { EXPECT_CALL(transport_adapter, FindDevice(uniq_id)).WillOnce(Return(mockdev)); EXPECT_CALL(transport_adapter, GetDeviceType()) .WillOnce(Return(DeviceType::CLOUD_WEBSOCKET)); - EXPECT_CALL(transport_adapter, ConnectionStatusUpdated()); EXPECT_CALL(transport_manager_settings, cloud_app_max_retry_attempts()) .WillOnce(Return(0)); TransportAdapter::Error res = transport_adapter.ConnectDevice(uniq_id); @@ -432,7 +429,6 @@ TEST_F(TransportAdapterTest, ConnectDevice_DeviceAddedTwice) { EXPECT_CALL(*serverMock, CreateConnection(uniq_id, app_handle)) .WillOnce(Return(TransportAdapter::OK)); EXPECT_CALL(transport_adapter, FindDevice(uniq_id)).WillOnce(Return(mockdev)); - EXPECT_CALL(transport_adapter, ConnectionStatusUpdated()); TransportAdapter::Error res = transport_adapter.ConnectDevice(uniq_id); EXPECT_EQ(TransportAdapter::OK, res); EXPECT_EQ(ConnectionStatus::CONNECTED, mockdev->connection_status()); @@ -444,7 +440,6 @@ TEST_F(TransportAdapterTest, ConnectDevice_DeviceAddedTwice) { EXPECT_CALL(*serverMock, IsInitialised()).WillOnce(Return(true)); EXPECT_CALL(*serverMock, CreateConnection(uniq_id, app_handle)).Times(0); EXPECT_CALL(transport_adapter, FindDevice(uniq_id)).WillOnce(Return(mockdev)); - EXPECT_CALL(transport_adapter, ConnectionStatusUpdated()); TransportAdapter::Error newres = transport_adapter.ConnectDevice(uniq_id); EXPECT_EQ(TransportAdapter::OK, newres); EXPECT_EQ(ConnectionStatus::CONNECTED, mockdev->connection_status()); @@ -509,7 +504,7 @@ TEST_F(TransportAdapterTest, DisconnectDevice_DeviceAddedConnectionCreated) { .WillOnce(Return(TransportAdapter::OK)); EXPECT_CALL(transport_adapter, FindDevice(uniq_id)) .WillRepeatedly(Return(mockdev)); - EXPECT_CALL(transport_adapter, ConnectionStatusUpdated()); + // EXPECT_CALL(transport_adapter, ConnectionStatusUpdated(_, _)); TransportAdapter::Error res = transport_adapter.ConnectDevice(uniq_id); EXPECT_EQ(TransportAdapter::OK, res); EXPECT_EQ(ConnectionStatus::CONNECTED, mockdev->connection_status()); @@ -520,7 +515,7 @@ TEST_F(TransportAdapterTest, DisconnectDevice_DeviceAddedConnectionCreated) { EXPECT_CALL(*mock_connection, Disconnect()) .WillOnce(Return(TransportAdapter::OK)); - EXPECT_CALL(transport_adapter, ConnectionStatusUpdated()); + // EXPECT_CALL(transport_adapter, ConnectionStatusUpdated(_, _)); TransportAdapter::Error new_res = transport_adapter.DisconnectDevice(uniq_id); EXPECT_EQ(TransportAdapter::OK, new_res); EXPECT_EQ(ConnectionStatus::CLOSING, mockdev->connection_status()); @@ -556,7 +551,6 @@ TEST_F(TransportAdapterTest, DeviceDisconnected) { EXPECT_CALL(*serverMock, IsInitialised()).WillOnce(Return(true)); EXPECT_CALL(*serverMock, CreateConnection(uniq_id, app_handle)) .WillOnce(Return(TransportAdapter::OK)); - EXPECT_CALL(transport_adapter, ConnectionStatusUpdated()); TransportAdapter::Error res = transport_adapter.ConnectDevice(uniq_id); EXPECT_EQ(TransportAdapter::OK, res); EXPECT_EQ(ConnectionStatus::CONNECTED, mockdev->connection_status()); |