diff --git a/src/components/application_manager/rpc_plugins/rc_rpc_plugin/test/commands/set_interior_vehicle_data_request_test.cc b/src/components/application_manager/rpc_plugins/rc_rpc_plugin/test/commands/set_interior_vehicle_data_request_test.cc index 5a822a2fe49..0e6cc2aaef6 100644 --- a/src/components/application_manager/rpc_plugins/rc_rpc_plugin/test/commands/set_interior_vehicle_data_request_test.cc +++ b/src/components/application_manager/rpc_plugins/rc_rpc_plugin/test/commands/set_interior_vehicle_data_request_test.cc @@ -48,6 +48,7 @@ using application_manager::ApplicationSet; using application_manager::commands::MessageSharedPtr; +using rc_rpc_plugin::commands::SetInteriorVehicleDataRequest; using test::components::application_manager_test::MockApplication; using test::components::application_manager_test::MockApplicationManager; using test::components::commands_test::CommandRequestTest; @@ -56,6 +57,7 @@ using test::components::commands_test::HMIResultCodeIs; using ::testing::_; using ::testing::NiceMock; using ::testing::Return; +using ::testing::ReturnRef; using ::testing::SaveArg; namespace { @@ -155,20 +157,20 @@ class SetInteriorVehicleDataRequestTest TEST_F(SetInteriorVehicleDataRequestTest, Execute_ValidWithoutReadOnlyParams_ExpectResendToHMI) { + using namespace rc_rpc_plugin::message_params; + // Arrange - MessageSharedPtr mobile_message = CreateBasicMessage(); - ns_smart_device_link::ns_smart_objects::SmartObject& msg_params = + auto mobile_message = CreateBasicMessage(); + auto& msg_params = (*mobile_message)[application_manager::strings::msg_params]; - msg_params[message_params::kModuleData][message_params::kModuleType] = - mobile_apis::ModuleType::CLIMATE; - smart_objects::SmartObject climate_control_data(smart_objects::SmartType_Map); - climate_control_data[message_params::kFanSpeed] = 10; + msg_params[kModuleData][kModuleType] = mobile_apis::ModuleType::CLIMATE; + auto& control_data = msg_params[kModuleData][kClimateControlData]; + const uint64_t fan_speed = 10u; + control_data[kFanSpeed] = fan_speed; - msg_params[message_params::kModuleData][message_params::kClimateControlData] = - climate_control_data; // Expectations EXPECT_CALL(mock_policy_handler_, CheckModule(kPolicyAppId, _)) - .WillOnce(Return(rc_rpc_plugin::TypeAccess::kAllowed)); + .WillOnce(Return(true)); EXPECT_CALL( mock_rpc_service_, @@ -176,34 +178,37 @@ TEST_F(SetInteriorVehicleDataRequestTest, HMIResultCodeIs(hmi_apis::FunctionID::RC_SetInteriorVehicleData), _)) .WillOnce(Return(true)); // Act - auto command = - CreateRCCommand( - mobile_message); + auto command = CreateRCCommand(mobile_message); ASSERT_TRUE(command->Init()); command->Run(); + + EXPECT_TRUE(control_data.keyExists(kFanSpeed) && + control_data[kFanSpeed].asUInt() == fan_speed); } TEST_F( SetInteriorVehicleDataRequestTest, Execute_ValidWithSettableAndReadOnlyParams_ExpectCutReadOnlyAndResendToHMI) { - // Arrange + using namespace rc_rpc_plugin::message_params; - MessageSharedPtr mobile_message = CreateBasicMessage(); - ns_smart_device_link::ns_smart_objects::SmartObject& msg_params = + // Arrange + auto mobile_message = CreateBasicMessage(); + auto& msg_params = (*mobile_message)[application_manager::strings::msg_params]; - msg_params[message_params::kModuleData][message_params::kModuleType] = - mobile_apis::ModuleType::RADIO; - smart_objects::SmartObject radio_control_data(smart_objects::SmartType_Map); - radio_control_data[message_params::kState] = true; - radio_control_data[message_params::kRadioEnable] = true; - msg_params[message_params::kModuleData][message_params::kRadioControlData] = - radio_control_data; + msg_params[kModuleData][kModuleType] = mobile_apis::ModuleType::RADIO; + auto& control_data = msg_params[kModuleData][kRadioControlData]; + control_data[kState] = true; + const bool radio_enable = true; + control_data[kRadioEnable] = radio_enable; + + ON_CALL(mock_rc_capabilities_manager_, ControlDataForType(_, _)) + .WillByDefault(ReturnRef(control_data)); + ON_CALL(mock_rc_capabilities_manager_, AreReadOnlyParamsPresent(_, _, _)) + .WillByDefault(Return(true)); // Expectations EXPECT_CALL(mock_policy_handler_, CheckModule(kPolicyAppId, _)) - .WillOnce(Return(rc_rpc_plugin::TypeAccess::kAllowed)); - - EXPECT_CALL(app_mngr_, RemoveHMIFakeParameters(_, _)); + .WillOnce(Return(true)); EXPECT_CALL( mock_rpc_service_, @@ -212,12 +217,13 @@ TEST_F( .WillOnce(Return(true)); // Act - std::shared_ptr - command = CreateRCCommand< - rc_rpc_plugin::commands::SetInteriorVehicleDataRequest>( - mobile_message); + auto command = CreateRCCommand(mobile_message); ASSERT_TRUE(command->Init()); command->Run(); + + EXPECT_FALSE(control_data.keyExists(kState)); + EXPECT_TRUE(control_data.keyExists(kRadioEnable) && + control_data[kRadioEnable].asBool() == radio_enable); } TEST_F(