diff options
Diffstat (limited to 'src/components/application_manager/test/message_helper/message_helper_test.cc')
-rw-r--r-- | src/components/application_manager/test/message_helper/message_helper_test.cc | 214 |
1 files changed, 187 insertions, 27 deletions
diff --git a/src/components/application_manager/test/message_helper/message_helper_test.cc b/src/components/application_manager/test/message_helper/message_helper_test.cc index 77e791dc82..289e4f5d05 100644 --- a/src/components/application_manager/test/message_helper/message_helper_test.cc +++ b/src/components/application_manager/test/message_helper/message_helper_test.cc @@ -37,7 +37,7 @@ #include "utils/macro.h" #include "utils/make_shared.h" #include "application_manager/policies/policy_handler.h" -#include "application_manager/test/resumption/include/application_mock.h" +#include "application_manager/mock_application.h" #include "utils/custom_string.h" #include "policy/mock_policy_settings.h" #include "application_manager/policies/policy_handler.h" @@ -46,23 +46,30 @@ #include "application_manager/state_controller.h" #include "application_manager/resumption/resume_ctrl.h" -namespace application_manager { +#ifdef EXTERNAL_PROPRIETARY_MODE +#include "policy/policy_external/include/policy/policy_types.h" +#endif + namespace test { +namespace components { +namespace application_manager_test { namespace HmiLanguage = hmi_apis::Common_Language; namespace HmiResults = hmi_apis::Common_Result; namespace MobileResults = mobile_apis::Result; -typedef ::test::components::resumption_test::MockApplication AppMock; -typedef utils::SharedPtr<AppMock> MockApplicationSharedPtr; +using namespace application_manager; + +typedef utils::SharedPtr<MockApplication> MockApplicationSharedPtr; typedef std::vector<std::string> StringArray; -typedef ::application_manager::Application App; -typedef utils::SharedPtr<App> ApplicationSharedPtr; +typedef utils::SharedPtr<application_manager::Application> ApplicationSharedPtr; using testing::AtLeast; using testing::ReturnRefOfCopy; using testing::ReturnRef; using testing::Return; +using testing::SaveArg; +using testing::_; TEST(MessageHelperTestCreate, CreateBlockedByPoliciesResponse_SmartObject_Equal) { @@ -74,7 +81,7 @@ TEST(MessageHelperTestCreate, bool success = false; smart_objects::SmartObjectSPtr ptr = - MessageHelper::CreateBlockedByPoliciesResponse( + application_manager::MessageHelper::CreateBlockedByPoliciesResponse( function_id, result, correlation_id, connection_key); EXPECT_TRUE(ptr); @@ -89,7 +96,8 @@ TEST(MessageHelperTestCreate, obj[strings::params][strings::correlation_id].asUInt()); EXPECT_EQ(connection_key, obj[strings::params][strings::connection_key].asUInt()); - EXPECT_EQ(kV2, obj[strings::params][strings::protocol_version].asInt()); + EXPECT_EQ(protocol_handler::MajorProtocolVersion::PROTOCOL_VERSION_2, + obj[strings::params][strings::protocol_version].asInt()); } TEST(MessageHelperTestCreate, CreateSetAppIcon_SendNullPathImagetype_Equal) { @@ -146,7 +154,7 @@ TEST(MessageHelperTestCreate, TEST(MessageHelperTestCreate, CreateGlobalPropertiesRequestsToHMI_SmartObject_NotEmpty) { - MockApplicationSharedPtr appSharedMock = utils::MakeShared<AppMock>(); + MockApplicationSharedPtr appSharedMock = utils::MakeShared<MockApplication>(); smart_objects::SmartObjectSPtr objPtr = MakeShared<smart_objects::SmartObject>(); @@ -200,7 +208,7 @@ TEST(MessageHelperTestCreate, } TEST(MessageHelperTestCreate, CreateShowRequestToHMI_SendSmartObject_Equal) { - MockApplicationSharedPtr appSharedMock = utils::MakeShared<AppMock>(); + MockApplicationSharedPtr appSharedMock = utils::MakeShared<MockApplication>(); smart_objects::SmartObjectSPtr smartObjectPtr = utils::MakeShared<smart_objects::SmartObject>(); @@ -241,7 +249,7 @@ TEST(MessageHelperTestCreate, TEST(MessageHelperTestCreate, CreateAddCommandRequestToHMI_SendSmartObject_Equal) { - MockApplicationSharedPtr appSharedMock = utils::MakeShared<AppMock>(); + MockApplicationSharedPtr appSharedMock = utils::MakeShared<MockApplication>(); CommandsMap vis; DataAccessor<CommandsMap> data_accessor(vis, true); smart_objects::SmartObjectSPtr smartObjectPtr = @@ -282,7 +290,7 @@ TEST(MessageHelperTestCreate, TEST(MessageHelperTestCreate, CreateAddVRCommandRequestFromChoiceToHMI_SendEmptyData_EmptyList) { - MockApplicationSharedPtr appSharedMock = utils::MakeShared<AppMock>(); + MockApplicationSharedPtr appSharedMock = utils::MakeShared<MockApplication>(); application_manager::ChoiceSetMap vis; DataAccessor< ::application_manager::ChoiceSetMap> data_accessor(vis, true); @@ -297,7 +305,7 @@ TEST(MessageHelperTestCreate, TEST(MessageHelperTestCreate, CreateAddVRCommandRequestFromChoiceToHMI_SendObject_EqualList) { - MockApplicationSharedPtr appSharedMock = utils::MakeShared<AppMock>(); + MockApplicationSharedPtr appSharedMock = utils::MakeShared<MockApplication>(); application_manager::ChoiceSetMap vis; DataAccessor< ::application_manager::ChoiceSetMap> data_accessor(vis, true); smart_objects::SmartObjectSPtr smartObjectPtr = @@ -343,7 +351,7 @@ TEST(MessageHelperTestCreate, } TEST(MessageHelperTestCreate, CreateAddSubMenuRequestToHMI_SendObject_Equal) { - MockApplicationSharedPtr appSharedMock = utils::MakeShared<AppMock>(); + MockApplicationSharedPtr appSharedMock = utils::MakeShared<MockApplication>(); application_manager::SubMenuMap vis; DataAccessor< ::application_manager::SubMenuMap> data_accessor(vis, true); smart_objects::SmartObjectSPtr smartObjectPtr = @@ -382,7 +390,7 @@ TEST(MessageHelperTestCreate, CreateAddSubMenuRequestToHMI_SendObject_Equal) { TEST(MessageHelperTestCreate, CreateAddSubMenuRequestToHMI_SendEmptyMap_EmptySmartObjectList) { - MockApplicationSharedPtr appSharedMock = utils::MakeShared<AppMock>(); + MockApplicationSharedPtr appSharedMock = utils::MakeShared<MockApplication>(); application_manager::SubMenuMap vis; DataAccessor< ::application_manager::SubMenuMap> data_accessor(vis, true); @@ -441,7 +449,9 @@ class MessageHelperTest : public ::testing::Test { "RU-RU", "TR-TR", "PL-PL", "FR-FR", "IT-IT", "SV-SE", "PT-PT", "NL-NL", "EN-AU", "ZH-CN", "ZH-TW", "JA-JP", "AR-SA", "KO-KR", "PT-BR", "CS-CZ", "DA-DK", "NO-NO", - "NL-BE", "EL-GR", "HU-HU", "FI-FI", "SK-SK"} + "NL-BE", "EL-GR", "HU-HU", "FI-FI", "SK-SK", "EN-IN", + "TH-TH", "EN-SA", "HE-IL", "RO-RO", "UK-UA", "ID-ID", + "VI-VN", "MS-MY", "HI-IN"} , hmi_result_strings{"SUCCESS", "UNSUPPORTED_REQUEST", "UNSUPPORTED_RESOURCE", @@ -699,7 +709,7 @@ TEST_F(MessageHelperTest, VerifySoftButtonString_CorrectStrings_True) { TEST_F(MessageHelperTest, GetIVISubscriptionRequests_ValidApplication_HmiRequestNotEmpty) { // Creating sharedPtr to MockApplication - MockApplicationSharedPtr appSharedMock = utils::MakeShared<AppMock>(); + MockApplicationSharedPtr appSharedMock = utils::MakeShared<MockApplication>(); // Creating data acessor application_manager::VehicleInfoSubscriptions vis; DataAccessor<application_manager::VehicleInfoSubscriptions> data_accessor( @@ -718,7 +728,7 @@ TEST_F(MessageHelperTest, TEST_F(MessageHelperTest, ProcessSoftButtons_SmartObjectWithoutButtonsKey_Success) { // Creating sharedPtr to MockApplication - MockApplicationSharedPtr appSharedMock = utils::MakeShared<AppMock>(); + MockApplicationSharedPtr appSharedMock = utils::MakeShared<MockApplication>(); // Creating input data for method smart_objects::SmartObject object; policy_handler_test::MockPolicySettings policy_settings_; @@ -734,7 +744,7 @@ TEST_F(MessageHelperTest, TEST_F(MessageHelperTest, ProcessSoftButtons_IncorectSoftButonValue_InvalidData) { // Creating sharedPtr to MockApplication - MockApplicationSharedPtr appSharedMock = utils::MakeShared<AppMock>(); + MockApplicationSharedPtr appSharedMock = utils::MakeShared<MockApplication>(); // Creating input data for method smart_objects::SmartObject object; smart_objects::SmartObject& buttons = object[strings::soft_buttons]; @@ -752,7 +762,7 @@ TEST_F(MessageHelperTest, TEST_F(MessageHelperTest, VerifyImage_ImageTypeIsStatic_Success) { // Creating sharedPtr to MockApplication - MockApplicationSharedPtr appSharedMock = utils::MakeShared<AppMock>(); + MockApplicationSharedPtr appSharedMock = utils::MakeShared<MockApplication>(); // Creating input data for method smart_objects::SmartObject image; image[strings::image_type] = mobile_apis::ImageType::STATIC; @@ -765,7 +775,7 @@ TEST_F(MessageHelperTest, VerifyImage_ImageTypeIsStatic_Success) { TEST_F(MessageHelperTest, VerifyImage_ImageValueNotValid_InvalidData) { // Creating sharedPtr to MockApplication - MockApplicationSharedPtr appSharedMock = utils::MakeShared<AppMock>(); + MockApplicationSharedPtr appSharedMock = utils::MakeShared<MockApplication>(); // Creating input data for method smart_objects::SmartObject image; image[strings::image_type] = mobile_apis::ImageType::DYNAMIC; @@ -778,9 +788,39 @@ TEST_F(MessageHelperTest, VerifyImage_ImageValueNotValid_InvalidData) { EXPECT_EQ(mobile_apis::Result::INVALID_DATA, result); } +TEST_F(MessageHelperTest, VerifyImageApplyPath_ImageTypeIsStatic_Success) { + // Creating sharedPtr to MockApplication + MockApplicationSharedPtr appSharedMock = utils::MakeShared<MockApplication>(); + // Creating input data for method + smart_objects::SmartObject image; + image[strings::image_type] = mobile_apis::ImageType::STATIC; + image[strings::value] = "icon.png"; + // Method call + mobile_apis::Result::eType result = MessageHelper::VerifyImageApplyPath( + image, appSharedMock, mock_application_manager); + // EXPECT + EXPECT_EQ(mobile_apis::Result::SUCCESS, result); + EXPECT_EQ("icon.png", image[strings::value].asString()); +} + +TEST_F(MessageHelperTest, VerifyImageApplyPath_ImageValueNotValid_InvalidData) { + // Creating sharedPtr to MockApplication + MockApplicationSharedPtr appSharedMock = utils::MakeShared<MockApplication>(); + // Creating input data for method + smart_objects::SmartObject image; + image[strings::image_type] = mobile_apis::ImageType::DYNAMIC; + // Invalid value + image[strings::value] = " "; + // Method call + mobile_apis::Result::eType result = MessageHelper::VerifyImageApplyPath( + image, appSharedMock, mock_application_manager); + // EXPECT + EXPECT_EQ(mobile_apis::Result::INVALID_DATA, result); +} + TEST_F(MessageHelperTest, VerifyImageFiles_SmartObjectWithValidData_Success) { // Creating sharedPtr to MockApplication - MockApplicationSharedPtr appSharedMock = utils::MakeShared<AppMock>(); + MockApplicationSharedPtr appSharedMock = utils::MakeShared<MockApplication>(); // Creating input data for method smart_objects::SmartObject images; images[0][strings::image_type] = mobile_apis::ImageType::STATIC; @@ -795,7 +835,7 @@ TEST_F(MessageHelperTest, VerifyImageFiles_SmartObjectWithValidData_Success) { TEST_F(MessageHelperTest, VerifyImageFiles_SmartObjectWithInvalidData_NotSuccsess) { // Creating sharedPtr to MockApplication - MockApplicationSharedPtr appSharedMock = utils::MakeShared<AppMock>(); + MockApplicationSharedPtr appSharedMock = utils::MakeShared<MockApplication>(); // Creating input data for method smart_objects::SmartObject images; images[0][strings::image_type] = mobile_apis::ImageType::DYNAMIC; @@ -813,7 +853,7 @@ TEST_F(MessageHelperTest, TEST_F(MessageHelperTest, VerifyImageVrHelpItems_SmartObjectWithSeveralValidImages_Succsess) { // Creating sharedPtr to MockApplication - MockApplicationSharedPtr appSharedMock = utils::MakeShared<AppMock>(); + MockApplicationSharedPtr appSharedMock = utils::MakeShared<MockApplication>(); // Creating input data for method smart_objects::SmartObject message; message[0][strings::image][strings::image_type] = @@ -830,7 +870,7 @@ TEST_F(MessageHelperTest, TEST_F(MessageHelperTest, VerifyImageVrHelpItems_SmartObjWithSeveralInvalidImages_NotSuccsess) { // Creating sharedPtr to MockApplication - MockApplicationSharedPtr appSharedMock = utils::MakeShared<AppMock>(); + MockApplicationSharedPtr appSharedMock = utils::MakeShared<MockApplication>(); // Creating input data for method smart_objects::SmartObject message; message[0][strings::image][strings::image_type] = @@ -891,7 +931,7 @@ TEST_F(MessageHelperTest, StringToHmiLevel_LevelString_EqEType) { TEST_F(MessageHelperTest, SubscribeApplicationToSoftButton_CallFromApp) { // Create application mock - MockApplicationSharedPtr appSharedPtr = utils::MakeShared<AppMock>(); + MockApplicationSharedPtr appSharedPtr = utils::MakeShared<MockApplication>(); // Prepare data for method smart_objects::SmartObject message_params; size_t function_id = 1; @@ -901,6 +941,126 @@ TEST_F(MessageHelperTest, SubscribeApplicationToSoftButton_CallFromApp) { MessageHelper::SubscribeApplicationToSoftButton( message_params, appSharedPtr, function_id); } +#ifdef EXTERNAL_PROPRIETARY_MODE +TEST_F(MessageHelperTest, SendGetListOfPermissionsResponse_SUCCESS) { + std::vector<policy::FunctionalGroupPermission> permissions; + policy::ExternalConsentStatus external_consent_status; + policy::FunctionalGroupPermission permission; + permission.state = policy::GroupConsent::kGroupAllowed; + permissions.push_back(permission); + + smart_objects::SmartObjectSPtr result; + EXPECT_CALL(mock_application_manager, ManageHMICommand(_)) + .WillOnce(DoAll(SaveArg<0>(&result), Return(true))); + + const uint32_t correlation_id = 0u; + MessageHelper::SendGetListOfPermissionsResponse(permissions, + external_consent_status, + correlation_id, + mock_application_manager); + + ASSERT_TRUE(result); + + EXPECT_EQ(hmi_apis::FunctionID::SDL_GetListOfPermissions, + (*result)[strings::params][strings::function_id].asInt()); + + smart_objects::SmartObject& msg_params = (*result)[strings::msg_params]; + const std::string external_consent_status_key = "externalConsentStatus"; + EXPECT_TRUE(msg_params.keyExists(external_consent_status_key)); + EXPECT_TRUE(msg_params[external_consent_status_key].empty()); +} + +TEST_F(MessageHelperTest, + SendGetListOfPermissionsResponse_ExternalConsentStatusNonEmpty_SUCCESS) { + std::vector<policy::FunctionalGroupPermission> permissions; + + policy::ExternalConsentStatus external_consent_status; + const int32_t entity_type_1 = 1; + const int32_t entity_id_1 = 2; + const policy::EntityStatus entity_status_1 = policy::kStatusOn; + const policy::EntityStatus entity_status_2 = policy::kStatusOff; + const int32_t entity_type_2 = 3; + const int32_t entity_id_2 = 4; + external_consent_status.insert(policy::ExternalConsentStatusItem( + entity_type_1, entity_id_1, entity_status_1)); + external_consent_status.insert(policy::ExternalConsentStatusItem( + entity_type_2, entity_id_2, entity_status_2)); + + smart_objects::SmartObjectSPtr result; + EXPECT_CALL(mock_application_manager, ManageHMICommand(_)) + .WillOnce(DoAll(SaveArg<0>(&result), Return(true))); + + const uint32_t correlation_id = 0u; + MessageHelper::SendGetListOfPermissionsResponse(permissions, + external_consent_status, + correlation_id, + mock_application_manager); + + ASSERT_TRUE(result); + + smart_objects::SmartObject& msg_params = (*result)[strings::msg_params]; + const std::string external_consent_status_key = "externalConsentStatus"; + EXPECT_TRUE(msg_params.keyExists(external_consent_status_key)); + + smart_objects::SmartArray* status_array = + msg_params[external_consent_status_key].asArray(); + EXPECT_TRUE(external_consent_status.size() == status_array->size()); + + const std::string entityType = "entityType"; + const std::string entityID = "entityID"; + const std::string status = "status"; + + smart_objects::SmartObject item_1_so = + smart_objects::SmartObject(smart_objects::SmartType_Map); + item_1_so[entityType] = entity_type_1; + item_1_so[entityID] = entity_id_1; + item_1_so[status] = hmi_apis::Common_EntityStatus::ON; + + smart_objects::SmartObject item_2_so = + smart_objects::SmartObject(smart_objects::SmartType_Map); + item_2_so[entityType] = entity_type_2; + item_2_so[entityID] = entity_id_2; + item_2_so[status] = hmi_apis::Common_EntityStatus::OFF; + + EXPECT_TRUE(status_array->end() != + std::find(status_array->begin(), status_array->end(), item_1_so)); + EXPECT_TRUE(status_array->end() != + std::find(status_array->begin(), status_array->end(), item_2_so)); +} +#endif + +TEST_F(MessageHelperTest, SendNaviSetVideoConfigRequest) { + smart_objects::SmartObjectSPtr result; + EXPECT_CALL(mock_application_manager, ManageHMICommand(_)) + .WillOnce(DoAll(SaveArg<0>(&result), Return(true))); + + int32_t app_id = 123; + smart_objects::SmartObject video_params(smart_objects::SmartType_Map); + video_params[strings::protocol] = + hmi_apis::Common_VideoStreamingProtocol::RTP; + video_params[strings::codec] = hmi_apis::Common_VideoStreamingCodec::H264; + video_params[strings::width] = 640; + video_params[strings::height] = 480; + + MessageHelper::SendNaviSetVideoConfig( + app_id, mock_application_manager, video_params); + + EXPECT_EQ(hmi_apis::FunctionID::Navigation_SetVideoConfig, + (*result)[strings::params][strings::function_id].asInt()); + + smart_objects::SmartObject& msg_params = (*result)[strings::msg_params]; + EXPECT_TRUE(msg_params.keyExists(strings::config)); + + EXPECT_TRUE(msg_params[strings::config].keyExists(strings::protocol)); + EXPECT_EQ(1, msg_params[strings::config][strings::protocol].asInt()); + EXPECT_TRUE(msg_params[strings::config].keyExists(strings::codec)); + EXPECT_EQ(0, msg_params[strings::config][strings::codec].asInt()); + EXPECT_TRUE(msg_params[strings::config].keyExists(strings::width)); + EXPECT_EQ(640, msg_params[strings::config][strings::width].asInt()); + EXPECT_TRUE(msg_params[strings::config].keyExists(strings::height)); + EXPECT_EQ(480, msg_params[strings::config][strings::height].asInt()); +} +} // namespace application_manager_test +} // namespace components } // namespace test -} // namespace application_manager |