summaryrefslogtreecommitdiff
path: root/src/components/application_manager/rpc_plugins/rc_rpc_plugin/test/commands/rc_get_interior_vehicle_data_consent_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/application_manager/rpc_plugins/rc_rpc_plugin/test/commands/rc_get_interior_vehicle_data_consent_test.cc')
-rw-r--r--src/components/application_manager/rpc_plugins/rc_rpc_plugin/test/commands/rc_get_interior_vehicle_data_consent_test.cc113
1 files changed, 77 insertions, 36 deletions
diff --git a/src/components/application_manager/rpc_plugins/rc_rpc_plugin/test/commands/rc_get_interior_vehicle_data_consent_test.cc b/src/components/application_manager/rpc_plugins/rc_rpc_plugin/test/commands/rc_get_interior_vehicle_data_consent_test.cc
index 567d4b1e20..d44265a1d5 100644
--- a/src/components/application_manager/rpc_plugins/rc_rpc_plugin/test/commands/rc_get_interior_vehicle_data_consent_test.cc
+++ b/src/components/application_manager/rpc_plugins/rc_rpc_plugin/test/commands/rc_get_interior_vehicle_data_consent_test.cc
@@ -31,59 +31,61 @@
*/
#include "application_manager/application.h"
-#include "application_manager/mock_application.h"
#include "application_manager/commands/command_request_test.h"
-#include "application_manager/rpc_service_impl.h"
-#include "application_manager/mock_request_controller_settings.h"
#include "application_manager/include/application_manager/command_holder_impl.h"
-#include "application_manager/mock_hmi_capabilities.h"
-#include "application_manager/request_controller.h"
-#include "application_manager/mock_rpc_plugin_manager.h"
-#include "application_manager/mock_rpc_plugin.h"
+#include "application_manager/message.h"
+#include "application_manager/mock_application.h"
#include "application_manager/mock_command_factory.h"
#include "application_manager/mock_event_dispatcher.h"
-#include "application_manager/message.h"
-#include "rc_rpc_plugin/rc_rpc_plugin.h"
-#include "rc_rpc_plugin/rc_module_constants.h"
-#include "rc_rpc_plugin/mock/mock_resource_allocation_manager.h"
-#include "rc_rpc_plugin/mock/mock_interior_data_cache.h"
-#include "rc_rpc_plugin/mock/mock_interior_data_manager.h"
-#include "rc_rpc_plugin/commands/mobile/button_press_request.h"
-#include "rc_rpc_plugin/commands/hmi/rc_get_interior_vehicle_data_consent_response.h"
-#include "rc_rpc_plugin/commands/hmi/rc_get_interior_vehicle_data_consent_request.h"
+#include "application_manager/mock_hmi_capabilities.h"
+#include "application_manager/mock_request_controller_settings.h"
+#include "application_manager/mock_rpc_plugin.h"
+#include "application_manager/mock_rpc_plugin_manager.h"
+#include "application_manager/mock_rpc_protection_manager.h"
+#include "application_manager/request_controller.h"
+#include "application_manager/rpc_service_impl.h"
#include "hmi_message_handler/mock_hmi_message_handler.h"
-#include "interfaces/MOBILE_API.h"
#include "include/test/protocol_handler/mock_protocol_handler.h"
+#include "interfaces/MOBILE_API.h"
+#include "rc_rpc_plugin/commands/hmi/rc_get_interior_vehicle_data_consent_request.h"
+#include "rc_rpc_plugin/commands/hmi/rc_get_interior_vehicle_data_consent_response.h"
+#include "rc_rpc_plugin/commands/mobile/button_press_request.h"
+#include "rc_rpc_plugin/mock/mock_interior_data_cache.h"
+#include "rc_rpc_plugin/mock/mock_interior_data_manager.h"
+#include "rc_rpc_plugin/mock/mock_rc_capabilities_manager.h"
+#include "rc_rpc_plugin/mock/mock_rc_consent_manager.h"
+#include "rc_rpc_plugin/mock/mock_resource_allocation_manager.h"
+#include "rc_rpc_plugin/rc_module_constants.h"
+#include "rc_rpc_plugin/rc_rpc_plugin.h"
#include "test/application_manager/mock_application_manager_settings.h"
using ::testing::_;
+using ::testing::Mock;
+using ::testing::NiceMock;
using ::testing::Return;
using ::testing::ReturnRef;
-using ::testing::NiceMock;
using ::testing::SaveArg;
-using ::testing::Mock;
-using ::testing::NiceMock;
namespace am = ::application_manager;
using am::ApplicationSet;
-using am::commands::MessageSharedPtr;
using am::commands::CommandImpl;
+using am::commands::MessageSharedPtr;
+using am::plugin_manager::MockRPCPlugin;
+using am::plugin_manager::MockRPCPluginManager;
using am::plugin_manager::RPCPlugin;
-using ::smart_objects::SmartObject;
+using rc_rpc_plugin::RCRPCPlugin;
using rc_rpc_plugin::commands::ButtonPressRequest;
-using rc_rpc_plugin::commands::RCGetInteriorVehicleDataConsentResponse;
using rc_rpc_plugin::commands::RCGetInteriorVehicleDataConsentRequest;
-using rc_rpc_plugin::RCRPCPlugin;
-using test::components::commands_test::CommandsTestMocks;
-using test::components::commands_test::CommandRequestTest;
-using am::plugin_manager::MockRPCPluginManager;
-using am::plugin_manager::MockRPCPlugin;
+using rc_rpc_plugin::commands::RCGetInteriorVehicleDataConsentResponse;
+using ::smart_objects::SmartObject;
using test::components::application_manager_test::MockApplication;
+using test::components::application_manager_test::MockCommandFactory;
+using test::components::application_manager_test::MockHMICapabilities;
using test::components::application_manager_test::MockRequestControlerSettings;
-using test::components::protocol_handler_test::MockProtocolHandler;
+using test::components::commands_test::CommandRequestTest;
+using test::components::commands_test::CommandsTestMocks;
using test::components::hmi_message_handler_test::MockHMIMessageHandler;
-using test::components::application_manager_test::MockHMICapabilities;
-using test::components::application_manager_test::MockCommandFactory;
using test::components::policy_test::MockPolicyHandlerInterface;
+using test::components::protocol_handler_test::MockProtocolHandler;
namespace rc_rpc_plugin_test {
using namespace rc_rpc_plugin;
@@ -92,6 +94,9 @@ namespace {
const uint32_t kConnectionKey = 2u;
const uint32_t kAppId = 5u;
const std::string kResource = "CLIMATE";
+const std::string kResourceId = "34045662-a9dc-4823-8435-91056d4c26cb";
+const std::string kPolicyAppId = "policy_app_id";
+const std::string kMacAddress = "device1";
const uint32_t kPluginID = RCRPCPlugin::kRCPluginID;
} // namespace
@@ -101,17 +106,25 @@ class RCGetInteriorVehicleDataConsentTest
RCGetInteriorVehicleDataConsentTest()
: mock_app_(std::make_shared<NiceMock<MockApplication> >())
, command_holder(app_mngr_)
+ , rc_capabilities_(smart_objects::SmartType::SmartType_Array)
, request_controller(mock_request_controler)
+ , rpc_protection_manager_(
+ std::make_shared<application_manager::MockRPCProtectionManager>())
, rpc_service_(app_mngr_,
request_controller,
&mock_protocol_handler,
&mock_hmi_handler,
- command_holder)
+ command_holder,
+ rpc_protection_manager_,
+ hmi_so_factory_,
+ mobile_so_factoy_)
, rc_app_extention_(std::make_shared<RCAppExtension>(kPluginID))
, mock_rpc_plugin_manager(
std::make_shared<NiceMock<MockRPCPluginManager> >())
, rpc_plugin(mock_rpc_plugin)
, optional_mock_rpc_plugin(mock_rpc_plugin) {
+ smart_objects::SmartObject control_caps((smart_objects::SmartType_Array));
+ rc_capabilities_[strings::kradioControlCapabilities] = control_caps;
ON_CALL(*mock_app_, app_id()).WillByDefault(Return(kAppId));
ON_CALL(app_mngr_, hmi_interfaces())
.WillByDefault(ReturnRef(mock_hmi_interfaces_));
@@ -141,10 +154,16 @@ class RCGetInteriorVehicleDataConsentTest
.WillByDefault(ReturnRef(*mock_rpc_plugin_manager));
ON_CALL(*mock_rpc_plugin_manager, FindPluginToProcess(_, _))
.WillByDefault(Return(rpc_plugin));
- ON_CALL(mock_allocation_manager_, IsResourceFree(kResource))
+ ON_CALL(mock_allocation_manager_, IsResourceFree(kResource, kResourceId))
.WillByDefault(Return(true));
ON_CALL(mock_allocation_manager_, is_rc_enabled())
.WillByDefault(Return(true));
+ ON_CALL(mock_protocol_handler, IsRPCServiceSecure(_))
+ .WillByDefault(Return(false));
+ ON_CALL(*rpc_protection_manager_, CheckPolicyEncryptionFlag(_, _, _))
+ .WillByDefault(Return(false));
+ ON_CALL(mock_rc_capabilities_manager_, CheckIfModuleExistsInCapabilities(_))
+ .WillByDefault(Return(true));
}
template <class Command>
@@ -156,7 +175,9 @@ class RCGetInteriorVehicleDataConsentTest
mock_policy_handler_,
mock_allocation_manager_,
mock_interior_data_cache_,
- mock_interior_data_manager_};
+ mock_interior_data_manager_,
+ mock_rc_capabilities_manager_,
+ mock_rc_consent_manger_};
return std::make_shared<Command>(msg ? msg : msg = CreateMessage(), params);
}
@@ -169,6 +190,10 @@ class RCGetInteriorVehicleDataConsentTest
[application_manager::strings::connection_key] = kConnectionKey;
(*message)[application_manager::strings::params]
[application_manager::strings::connection_key] = kAppId;
+ ns_smart_device_link::ns_smart_objects::SmartObject& msg_params =
+ (*message)[application_manager::strings::msg_params];
+ msg_params[message_params::kModuleType] = kResource;
+ msg_params[message_params::kModuleId] = kResourceId;
return message;
}
@@ -188,12 +213,19 @@ class RCGetInteriorVehicleDataConsentTest
MockRPCPlugin mock_rpc_plugin;
MockCommandFactory mock_command_factory;
am::request_controller::RequestController request_controller;
+ std::shared_ptr<application_manager::MockRPCProtectionManager>
+ rpc_protection_manager_;
am::rpc_service::RPCServiceImpl rpc_service_;
std::shared_ptr<RCAppExtension> rc_app_extention_;
std::shared_ptr<am::plugin_manager::MockRPCPluginManager>
mock_rpc_plugin_manager;
utils::Optional<RPCPlugin> rpc_plugin;
utils::Optional<MockRPCPlugin> optional_mock_rpc_plugin;
+ hmi_apis::HMI_API hmi_so_factory_;
+ mobile_apis::MOBILE_API mobile_so_factoy_;
+ testing::NiceMock<rc_rpc_plugin_test::MockRCCapabilitiesManager>
+ mock_rc_capabilities_manager_;
+ testing::NiceMock<MockRCConsentManager> mock_rc_consent_manger_;
};
TEST_F(RCGetInteriorVehicleDataConsentTest,
@@ -202,8 +234,17 @@ TEST_F(RCGetInteriorVehicleDataConsentTest,
auto mobile_message = CreateBasicMessage();
// Expectations
- EXPECT_CALL(mock_allocation_manager_, AcquireResource(_, _))
+ EXPECT_CALL(mock_allocation_manager_, AcquireResource(_, _, _))
.WillOnce(Return(rc_rpc_plugin::AcquireResult::ASK_DRIVER));
+ ON_CALL(*mock_app_, app_id()).WillByDefault(Return(kAppId));
+ ON_CALL(*mock_app_, policy_app_id()).WillByDefault(Return(kPolicyAppId));
+ ON_CALL(*mock_app_, mac_address()).WillByDefault(ReturnRef(kMacAddress));
+
+ rc_rpc_types::ModuleUid moduleUid{kResource, kResourceId};
+ EXPECT_CALL(mock_rc_consent_manger_,
+ GetModuleConsent(kPolicyAppId, _, moduleUid))
+ .WillOnce(Return(rc_rpc_types::ModuleConsent::NOT_EXISTS));
+
EXPECT_CALL(*optional_mock_rpc_plugin, GetCommandFactory())
.WillOnce(ReturnRef(mock_command_factory));
auto rc_consent_request =
@@ -228,7 +269,7 @@ TEST_F(RCGetInteriorVehicleDataConsentTest,
auto mobile_message = CreateBasicMessage();
// Expectations
- EXPECT_CALL(mock_allocation_manager_, AcquireResource(_, _))
+ EXPECT_CALL(mock_allocation_manager_, AcquireResource(_, _, _))
.WillOnce(Return(rc_rpc_plugin::AcquireResult::IN_USE));
EXPECT_CALL(*optional_mock_rpc_plugin, GetCommandFactory())