diff options
Diffstat (limited to 'src/components/policy/policy_external/test/policy_manager_impl_ptu_test.cc')
-rw-r--r-- | src/components/policy/policy_external/test/policy_manager_impl_ptu_test.cc | 384 |
1 files changed, 238 insertions, 146 deletions
diff --git a/src/components/policy/policy_external/test/policy_manager_impl_ptu_test.cc b/src/components/policy/policy_external/test/policy_manager_impl_ptu_test.cc index 066b5756e2..bb8c6fc12a 100644 --- a/src/components/policy/policy_external/test/policy_manager_impl_ptu_test.cc +++ b/src/components/policy/policy_external/test/policy_manager_impl_ptu_test.cc @@ -92,7 +92,8 @@ TEST_F(PolicyManagerImplTest, EXPECT_CALL(*cache_manager_, IsApplicationRepresented(_)) .WillOnce(Return(true)); EXPECT_EQ(policy_manager_->GetPolicyTableStatus(), "UP_TO_DATE"); - policy_manager_->AddApplication(kDefaultId, + policy_manager_->AddApplication(kDefaultDeviceMacAddress, + kDefaultId, HmiTypes(policy_table::AHT_DEFAULT)); EXPECT_EQ(policy_manager_->GetPolicyTableStatus(), "UP_TO_DATE"); } @@ -142,8 +143,11 @@ TEST_F(PolicyManagerImplTest2, IsAppRevoked_SetRevokedAppID_ExpectAppRevoked) { // Arrange CreateLocalPT(preloaded_pt_filename_); - policy_manager_->AddApplication(app_id_1_, - HmiTypes(policy_table::AHT_DEFAULT)); + EXPECT_CALL(listener_, GetDevicesIds(app_id_1_)) + .WillRepeatedly(Return(transport_manager::DeviceList())); + + policy_manager_->AddApplication( + device_id_1_, app_id_1_, HmiTypes(policy_table::AHT_DEFAULT)); std::ifstream ifile(kValidSdlPtUpdateJson); Json::Reader reader; @@ -174,8 +178,8 @@ TEST_F(PolicyManagerImplTest2, AppRevokedOne_AppRegistered) { EXPECT_FALSE(policy_manager_->GetCache()->IsPTPreloaded()); ASSERT_TRUE( (policy_manager_->GetCache())->AddDevice(device_id_2_, "Bluetooth")); - policy_manager_->AddApplication(application_id_, - HmiTypes(policy_table::AHT_DEFAULT)); + policy_manager_->AddApplication( + device_id_2_, application_id_, HmiTypes(policy_table::AHT_DEFAULT)); // Registration is allowed CheckRpcPermissions("RegisterAppInterface", ::policy::kRpcAllowed); } @@ -187,12 +191,13 @@ TEST_F(PolicyManagerImplTest2, AppRevokedOne_AppRegistered_HMIDefault) { EmulatePTAppRevoked(kPtu2Json); EXPECT_FALSE(policy_manager_->GetCache()->IsPTPreloaded()); - policy_manager_->AddApplication(application_id_, - HmiTypes(policy_table::AHT_DEFAULT)); + policy_manager_->AddApplication( + device_id_1_, application_id_, HmiTypes(policy_table::AHT_DEFAULT)); std::string default_hmi; // Default HMI level is NONE - EXPECT_TRUE(policy_manager_->GetDefaultHmi(application_id_, &default_hmi)); + EXPECT_TRUE(policy_manager_->GetDefaultHmi( + device_id_1_, application_id_, &default_hmi)); EXPECT_EQ("NONE", default_hmi); } @@ -210,12 +215,16 @@ TEST_F(PolicyManagerImplTest2, "Life", 2, "Bluetooth"); - EXPECT_CALL(listener_, OnCurrentDeviceIdUpdateRequired(app_id_1_)) - .WillRepeatedly(Return(device_id_1_)); + + EXPECT_CALL(listener_, OnCurrentDeviceIdUpdateRequired(_, app_id_1_)) + .Times(0); + EXPECT_CALL(listener_, GetDevicesIds(app_id_1_)) + .WillRepeatedly(Return(transport_manager::DeviceList(1, device_id_1_))); + policy_manager_->SetUserConsentForDevice(device_id_1_, true); // Add app from consented device. App will be assigned with default policies - policy_manager_->AddApplication(app_id_1_, - HmiTypes(policy_table::AHT_DEFAULT)); + policy_manager_->AddApplication( + device_id_1_, app_id_1_, HmiTypes(policy_table::AHT_DEFAULT)); // Check before action policy_table::RpcParameters rpc_parameters; rpc_parameters.hmi_levels.push_back(policy_table::HL_FULL); @@ -227,7 +236,7 @@ TEST_F(PolicyManagerImplTest2, ::policy::CheckPermissionResult output; policy_manager_->CheckPermissions( - app_id_1_, kHmiLevelFull, "Alert", input_params, output); + device_id_1_, app_id_1_, kHmiLevelFull, "Alert", input_params, output); // Check RPC is allowed EXPECT_EQ(::policy::kRpcAllowed, output.hmi_level_permitted); @@ -248,7 +257,7 @@ TEST_F(PolicyManagerImplTest2, EXPECT_FALSE(cache->IsPTPreloaded()); policy_manager_->CheckPermissions( - app_id_1_, kHmiLevelFull, "Alert", input_params, output); + device_id_1_, app_id_1_, kHmiLevelFull, "Alert", input_params, output); // Check RPC is disallowed EXPECT_EQ(::policy::kRpcDisallowed, output.hmi_level_permitted); ASSERT_TRUE(output.list_of_allowed_params.empty()); @@ -269,12 +278,14 @@ TEST_F(PolicyManagerImplTest2, "Life", 2, "Bluetooth")); - EXPECT_CALL(listener_, OnCurrentDeviceIdUpdateRequired(application_id_)) - .WillRepeatedly(Return(device_id_1_)); + EXPECT_CALL(listener_, OnCurrentDeviceIdUpdateRequired(_, application_id_)) + .Times(0); + EXPECT_CALL(listener_, GetDevicesIds(application_id_)) + .WillRepeatedly(Return(transport_manager::DeviceList(1, device_id_1_))); policy_manager_->SetUserConsentForDevice(device_id_1_, true); // Add app from consented device. App will be assigned with default policies - policy_manager_->AddApplication(application_id_, - HmiTypes(policy_table::AHT_MEDIA)); + policy_manager_->AddApplication( + device_id_1_, application_id_, HmiTypes(policy_table::AHT_MEDIA)); // Emulate PTU with new policies for app added above std::ifstream ifile(kValidSdlPtUpdateJson); Json::Reader reader; @@ -323,8 +334,6 @@ TEST_F(PolicyManagerImplTest2, ::policy::RPCParams input_params; ::policy::CheckPermissionResult output; - EXPECT_CALL(listener_, OnCurrentDeviceIdUpdateRequired(application_id_)) - .WillOnce(Return(device_id_1_)); cache->AddDevice(device_id_1_, "Bluetooth"); cache->SetDeviceData(device_id_1_, "hardware IPX", @@ -334,8 +343,12 @@ TEST_F(PolicyManagerImplTest2, "Life", 2, "Bluetooth"); - policy_manager_->CheckPermissions( - application_id_, kHmiLevelFull, "Alert", input_params, output); + policy_manager_->CheckPermissions(device_id_1_, + application_id_, + kHmiLevelFull, + "Alert", + input_params, + output); // Check RPC is allowed EXPECT_EQ(::policy::kRpcAllowed, output.hmi_level_permitted); // Check list of parameters empty @@ -344,21 +357,22 @@ TEST_F(PolicyManagerImplTest2, TEST_F(PolicyManagerImplTest2, CheckPermissions_NoParametersInPT_CheckRpcsInDifferentLevels) { + EXPECT_CALL(listener_, GetDevicesIds(application_id_)) + .WillRepeatedly(Return(transport_manager::DeviceList())); // Arrange AddSetDeviceData(); LoadPTUFromJsonFile("json/sdl_update_pt_send_location.json"); - // Will be called each time permissions are checked - EXPECT_CALL(listener_, OnCurrentDeviceIdUpdateRequired(application_id_)) - .Times(4) - .WillRepeatedly(Return(device_id_1_)); - // Check RPC in each level ::policy::RPCParams input_params; ::policy::CheckPermissionResult output; // Rpc in FULL level - policy_manager_->CheckPermissions( - application_id_, kHmiLevelFull, "SendLocation", input_params, output); + policy_manager_->CheckPermissions(device_id_1_, + application_id_, + kHmiLevelFull, + "SendLocation", + input_params, + output); // Check RPC is allowed EXPECT_EQ(::policy::kRpcAllowed, output.hmi_level_permitted); ASSERT_TRUE(output.list_of_allowed_params.empty()); @@ -367,8 +381,12 @@ TEST_F(PolicyManagerImplTest2, ResetOutputList(output); // Rpc in LIMITED level - policy_manager_->CheckPermissions( - application_id_, kHmiLevelLimited, "SendLocation", input_params, output); + policy_manager_->CheckPermissions(device_id_1_, + application_id_, + kHmiLevelLimited, + "SendLocation", + input_params, + output); // Check RPC is allowed EXPECT_EQ(::policy::kRpcAllowed, output.hmi_level_permitted); ASSERT_TRUE(output.list_of_allowed_params.empty()); @@ -376,7 +394,8 @@ TEST_F(PolicyManagerImplTest2, ResetOutputList(output); // Rpc in BACKGROUND level - policy_manager_->CheckPermissions(application_id_, + policy_manager_->CheckPermissions(device_id_1_, + application_id_, kHmiLevelBackground, "SendLocation", input_params, @@ -388,8 +407,12 @@ TEST_F(PolicyManagerImplTest2, ResetOutputList(output); // Rpc in NONE level - policy_manager_->CheckPermissions( - application_id_, kHmiLevelNone, "SendLocation", input_params, output); + policy_manager_->CheckPermissions(device_id_1_, + application_id_, + kHmiLevelNone, + "SendLocation", + input_params, + output); // Check RPC is disallowed EXPECT_EQ(::policy::kRpcDisallowed, output.hmi_level_permitted); // Check list of parameters is empty @@ -399,24 +422,25 @@ TEST_F(PolicyManagerImplTest2, TEST_F( PolicyManagerImplTest2, CheckPermissions_ParamsNotAllowedInPT_AddAppWithAllParams_CheckRpcsInDiffLvls) { + EXPECT_CALL(listener_, GetDevicesIds(application_id_)) + .WillRepeatedly(Return(transport_manager::DeviceList())); // Arrange AddSetDeviceData(); // File have empty parameters, so they are forbidden LoadPTUFromJsonFile("json/sdl_update_pt_send_location_no_params.json"); - // Will be called each time permissions are checked - EXPECT_CALL(listener_, OnCurrentDeviceIdUpdateRequired(application_id_)) - .Times(4) - .WillRepeatedly(Return(device_id_1_)); - // Check RPC in each level ::policy::RPCParams input_params; InsertRpcParametersInList(input_params); ::policy::CheckPermissionResult output; // Rpc in FULL level - policy_manager_->CheckPermissions( - application_id_, kHmiLevelFull, "SendLocation", input_params, output); + policy_manager_->CheckPermissions(device_id_1_, + application_id_, + kHmiLevelFull, + "SendLocation", + input_params, + output); // Group which has RPC does not require user consent, so its auto-allowed for // user. Since RPC 'parameters' section is present, but empty, that means @@ -431,8 +455,12 @@ TEST_F( ResetOutputList(output); // Rpc in LIMITED level - policy_manager_->CheckPermissions( - application_id_, kHmiLevelLimited, "SendLocation", input_params, output); + policy_manager_->CheckPermissions(device_id_1_, + application_id_, + kHmiLevelLimited, + "SendLocation", + input_params, + output); EXPECT_EQ(::policy::kRpcDisallowed, output.hmi_level_permitted); @@ -443,7 +471,8 @@ TEST_F( ResetOutputList(output); // Rpc in BACKGROUND level - policy_manager_->CheckPermissions(application_id_, + policy_manager_->CheckPermissions(device_id_1_, + application_id_, kHmiLevelBackground, "SendLocation", input_params, @@ -459,8 +488,12 @@ TEST_F( ResetOutputList(output); // Rpc in NONE level - policy_manager_->CheckPermissions( - application_id_, kHmiLevelNone, "SendLocation", input_params, output); + policy_manager_->CheckPermissions(device_id_1_, + application_id_, + kHmiLevelNone, + "SendLocation", + input_params, + output); EXPECT_EQ(::policy::kRpcDisallowed, output.hmi_level_permitted); @@ -472,6 +505,8 @@ TEST_F( TEST_F(PolicyManagerImplTest2, CheckPermissions_SomeParamsAllowedInPT_CheckRpcsInDiffLvls) { + EXPECT_CALL(listener_, GetDevicesIds(application_id_)) + .WillRepeatedly(Return(transport_manager::DeviceList())); // Arrange AddSetDeviceData(); @@ -479,19 +514,18 @@ TEST_F(PolicyManagerImplTest2, //"locationDescription", "phoneNumber" are allowed LoadPTUFromJsonFile("json/sdl_update_pt_send_location_some_params.json"); - // Will be called each time permissions are checked - EXPECT_CALL(listener_, OnCurrentDeviceIdUpdateRequired(application_id_)) - .Times(4) - .WillRepeatedly(Return(device_id_1_)); - // Check RPC in each level ::policy::RPCParams input_params; InsertRpcParametersInList(input_params); ::policy::CheckPermissionResult output; // Rpc in FULL level - policy_manager_->CheckPermissions( - application_id_, kHmiLevelFull, "SendLocation", input_params, output); + policy_manager_->CheckPermissions(device_id_1_, + application_id_, + kHmiLevelFull, + "SendLocation", + input_params, + output); // Check RPC is allowed EXPECT_EQ(::policy::kRpcAllowed, output.hmi_level_permitted); @@ -520,8 +554,12 @@ TEST_F(PolicyManagerImplTest2, output.list_of_undefined_params.clear(); // Rpc in LIMITED level - policy_manager_->CheckPermissions( - application_id_, kHmiLevelLimited, "SendLocation", input_params, output); + policy_manager_->CheckPermissions(device_id_1_, + application_id_, + kHmiLevelLimited, + "SendLocation", + input_params, + output); // Check RPC is allowed EXPECT_EQ(::policy::kRpcAllowed, output.hmi_level_permitted); @@ -539,7 +577,8 @@ TEST_F(PolicyManagerImplTest2, ResetOutputList(output); // Rpc in BACKGROUND level - policy_manager_->CheckPermissions(application_id_, + policy_manager_->CheckPermissions(device_id_1_, + application_id_, kHmiLevelBackground, "SendLocation", input_params, @@ -559,8 +598,12 @@ TEST_F(PolicyManagerImplTest2, ResetOutputList(output); // Rpc in NONE level - policy_manager_->CheckPermissions( - application_id_, kHmiLevelNone, "SendLocation", input_params, output); + policy_manager_->CheckPermissions(device_id_1_, + application_id_, + kHmiLevelNone, + "SendLocation", + input_params, + output); // Check RPC is disallowed EXPECT_EQ(::policy::kRpcDisallowed, output.hmi_level_permitted); // Check lists of parameters are empty @@ -585,10 +628,12 @@ TEST_F(PolicyManagerImplTest2, GetCorrectStatus_PTUSuccessful) { CreateLocalPT(preloaded_pt_filename_); // Check EXPECT_EQ("UP_TO_DATE", policy_manager_->GetPolicyTableStatus()); + EXPECT_CALL(listener_, GetDevicesIds(application_id_)) + .WillRepeatedly(Return(transport_manager::DeviceList())); // Adding changes PT status - policy_manager_->AddApplication(application_id_, - HmiTypes(policy_table::AHT_DEFAULT)); + policy_manager_->AddApplication( + device_id_1_, application_id_, HmiTypes(policy_table::AHT_DEFAULT)); EXPECT_EQ("UP_TO_DATE", policy_manager_->GetPolicyTableStatus()); // Before load PT we should send notification about start updating policy_manager_->OnUpdateStarted(); @@ -613,6 +658,8 @@ TEST_F(PolicyManagerImplTest2, TEST_F(PolicyManagerImplTest2, CheckPermissions_DiffParamsAllowedInGroups_CheckRpcsInDiffLvls) { + EXPECT_CALL(listener_, GetDevicesIds(application_id_)) + .WillRepeatedly(Return(transport_manager::DeviceList())); // Arrange AddSetDeviceData(); // Load Json to cache @@ -621,19 +668,18 @@ TEST_F(PolicyManagerImplTest2, // Allowed both groups of parameters LoadPTUFromJsonFile("json/sdl_update_pt_2_groups_have_params.json"); - // Will be called each time permissions are checked - EXPECT_CALL(listener_, OnCurrentDeviceIdUpdateRequired(application_id_)) - .Times(4) - .WillRepeatedly(Return(device_id_1_)); - // Check RPC in each level ::policy::RPCParams input_params; InsertRpcParametersInList(input_params); ::policy::CheckPermissionResult output; // Rpc in FULL level - policy_manager_->CheckPermissions( - application_id_, kHmiLevelFull, "SendLocation", input_params, output); + policy_manager_->CheckPermissions(device_id_1_, + application_id_, + kHmiLevelFull, + "SendLocation", + input_params, + output); // Check RPC is allowed EXPECT_EQ(::policy::kRpcAllowed, output.hmi_level_permitted); // Check list of allowed parameters is not empty @@ -652,8 +698,12 @@ TEST_F(PolicyManagerImplTest2, ResetOutputList(output); // Rpc in LIMITED level - policy_manager_->CheckPermissions( - application_id_, kHmiLevelLimited, "SendLocation", input_params, output); + policy_manager_->CheckPermissions(device_id_1_, + application_id_, + kHmiLevelLimited, + "SendLocation", + input_params, + output); // Check RPC is allowed EXPECT_EQ(::policy::kRpcAllowed, output.hmi_level_permitted); // Check list of allowed parameters is not empty @@ -672,7 +722,8 @@ TEST_F(PolicyManagerImplTest2, ResetOutputList(output); // Rpc in BACKGROUND level - policy_manager_->CheckPermissions(application_id_, + policy_manager_->CheckPermissions(device_id_1_, + application_id_, kHmiLevelBackground, "SendLocation", input_params, @@ -696,8 +747,12 @@ TEST_F(PolicyManagerImplTest2, ResetOutputList(output); // Rpc in NONE level - policy_manager_->CheckPermissions( - application_id_, kHmiLevelNone, "SendLocation", input_params, output); + policy_manager_->CheckPermissions(device_id_1_, + application_id_, + kHmiLevelNone, + "SendLocation", + input_params, + output); // Check RPC is disallowed EXPECT_EQ(::policy::kRpcDisallowed, output.hmi_level_permitted); // Check lists of parameters are empty @@ -726,9 +781,12 @@ TEST_F(PolicyManagerImplTest2, 2, "Bluetooth")); + EXPECT_CALL(listener_, GetDevicesIds(application_id_)) + .WillRepeatedly(Return(transport_manager::DeviceList())); // Add app from consented device. App will be assigned with default policies - policy_manager_->AddApplication(application_id_, - HmiTypes(policy_table::AHT_DEFAULT)); + policy_manager_->SetUserConsentForDevice(device_id_1_, true); + policy_manager_->AddApplication( + device_id_1_, application_id_, HmiTypes(policy_table::AHT_DEFAULT)); std::ifstream ifile("json/sdl_update_pt_2_groups_no_params_in1.json"); Json::Reader reader; @@ -743,19 +801,18 @@ TEST_F(PolicyManagerImplTest2, EXPECT_TRUE(policy_manager_->LoadPT(kFilePtUpdateJson, msg)); EXPECT_FALSE(cache->IsPTPreloaded()); - // Will be called each time permissions are checked - EXPECT_CALL(listener_, OnCurrentDeviceIdUpdateRequired(application_id_)) - .Times(4) - .WillRepeatedly(Return(device_id_1_)); - // Check RPC in each level ::policy::RPCParams input_params; InsertRpcParametersInList(input_params); ::policy::CheckPermissionResult output; // Rpc in FULL level - policy_manager_->CheckPermissions( - application_id_, kHmiLevelFull, "SendLocation", input_params, output); + policy_manager_->CheckPermissions(device_id_1_, + application_id_, + kHmiLevelFull, + "SendLocation", + input_params, + output); EXPECT_EQ(::policy::kRpcAllowed, output.hmi_level_permitted); EXPECT_TRUE(output.list_of_undefined_params.empty()); @@ -763,8 +820,12 @@ TEST_F(PolicyManagerImplTest2, ResetOutputList(output); // Rpc in LIMITED level - policy_manager_->CheckPermissions( - application_id_, kHmiLevelLimited, "SendLocation", input_params, output); + policy_manager_->CheckPermissions(device_id_1_, + application_id_, + kHmiLevelLimited, + "SendLocation", + input_params, + output); EXPECT_EQ(::policy::kRpcAllowed, output.hmi_level_permitted); EXPECT_TRUE(output.list_of_undefined_params.empty()); @@ -772,7 +833,8 @@ TEST_F(PolicyManagerImplTest2, ResetOutputList(output); // Rpc in BACKGROUND level - policy_manager_->CheckPermissions(application_id_, + policy_manager_->CheckPermissions(device_id_1_, + application_id_, kHmiLevelBackground, "SendLocation", input_params, @@ -785,8 +847,12 @@ TEST_F(PolicyManagerImplTest2, ResetOutputList(output); // Rpc in NONE level - policy_manager_->CheckPermissions( - application_id_, kHmiLevelNone, "SendLocation", input_params, output); + policy_manager_->CheckPermissions(device_id_1_, + application_id_, + kHmiLevelNone, + "SendLocation", + input_params, + output); EXPECT_EQ(::policy::kRpcDisallowed, output.hmi_level_permitted); EXPECT_TRUE(output.list_of_allowed_params.empty()); @@ -813,9 +879,12 @@ TEST_F(PolicyManagerImplTest2, 2, "Bluetooth")); + EXPECT_CALL(listener_, GetDevicesIds(application_id_)) + .WillRepeatedly(Return(transport_manager::DeviceList())); // Add app from consented device. App will be assigned with default policies - policy_manager_->AddApplication(application_id_, - HmiTypes(policy_table::AHT_DEFAULT)); + policy_manager_->SetUserConsentForDevice(device_id_1_, true); + policy_manager_->AddApplication( + device_id_1_, application_id_, HmiTypes(policy_table::AHT_DEFAULT)); std::ifstream ifile( "json/sdl_update_pt_2_groups_no_params_in1_omitted_in2.json"); @@ -831,19 +900,18 @@ TEST_F(PolicyManagerImplTest2, EXPECT_TRUE(policy_manager_->LoadPT(kFilePtUpdateJson, msg)); EXPECT_FALSE(cache->IsPTPreloaded()); - // Will be called each time permissions are checked - EXPECT_CALL(listener_, OnCurrentDeviceIdUpdateRequired(application_id_)) - .Times(4) - .WillRepeatedly(Return(device_id_1_)); - // Check RPC in each level ::policy::RPCParams input_params; InsertRpcParametersInList(input_params); ::policy::CheckPermissionResult output; // Rpc in FULL level - policy_manager_->CheckPermissions( - application_id_, kHmiLevelFull, "SendLocation", input_params, output); + policy_manager_->CheckPermissions(device_id_1_, + application_id_, + kHmiLevelFull, + "SendLocation", + input_params, + output); EXPECT_EQ(::policy::kRpcAllowed, output.hmi_level_permitted); EXPECT_TRUE(output.list_of_undefined_params.empty()); @@ -851,15 +919,20 @@ TEST_F(PolicyManagerImplTest2, ResetOutputList(output); // Rpc in LIMITED level - policy_manager_->CheckPermissions( - application_id_, kHmiLevelLimited, "SendLocation", input_params, output); + policy_manager_->CheckPermissions(device_id_1_, + application_id_, + kHmiLevelLimited, + "SendLocation", + input_params, + output); EXPECT_EQ(::policy::kRpcAllowed, output.hmi_level_permitted); EXPECT_TRUE(output.list_of_undefined_params.empty()); EXPECT_EQ(10u, output.list_of_allowed_params.size()); ResetOutputList(output); // Rpc in BACKGROUND level - policy_manager_->CheckPermissions(application_id_, + policy_manager_->CheckPermissions(device_id_1_, + application_id_, kHmiLevelBackground, "SendLocation", input_params, @@ -871,8 +944,12 @@ TEST_F(PolicyManagerImplTest2, ResetOutputList(output); // Rpc in NONE level - policy_manager_->CheckPermissions( - application_id_, kHmiLevelNone, "SendLocation", input_params, output); + policy_manager_->CheckPermissions(device_id_1_, + application_id_, + kHmiLevelNone, + "SendLocation", + input_params, + output); EXPECT_EQ(::policy::kRpcDisallowed, output.hmi_level_permitted); EXPECT_TRUE(output.list_of_allowed_params.empty()); EXPECT_TRUE(output.list_of_disallowed_params.empty()); @@ -917,8 +994,8 @@ TEST_F( GetPTU(kValidSdlPtUpdateJson); EXPECT_EQ("UP_TO_DATE", policy_manager_->GetPolicyTableStatus()); // Try to add existing app - policy_manager_->AddApplication(app_id_2_, - HmiTypes(policy_table::AHT_DEFAULT)); + policy_manager_->AddApplication( + device_id_1_, app_id_2_, HmiTypes(policy_table::AHT_DEFAULT)); // Check no update required EXPECT_EQ("UP_TO_DATE", policy_manager_->GetPolicyTableStatus()); } @@ -939,14 +1016,14 @@ TEST_F(PolicyManagerImplTest2, GetPTU(kValidSdlPtUpdateJson); EXPECT_EQ("UP_TO_DATE", policy_manager_->GetPolicyTableStatus()); - policy_manager_->AddApplication(app_id_2_, - HmiTypes(policy_table::AHT_DEFAULT)); + policy_manager_->AddApplication( + device_id_2_, app_id_2_, HmiTypes(policy_table::AHT_DEFAULT)); EXPECT_EQ("UP_TO_DATE", policy_manager_->GetPolicyTableStatus()); ::policy::Counters counter = ::policy::Counters::DAYS_AFTER_EPOCH; // Set PT was updated 10 days ago (limit is 30 days for now) // So no limit exceeded policy_manager_->PTUpdatedAt(counter, days - 10); - policy_manager_->OnAppRegisteredOnMobile(app_id_2_); + policy_manager_->OnAppRegisteredOnMobile(device_id_2_, app_id_2_); EXPECT_EQ("UP_TO_DATE", policy_manager_->GetPolicyTableStatus()); } @@ -959,13 +1036,13 @@ TEST_F(PolicyManagerImplTest2, GetPTU(kValidSdlPtUpdateJson); EXPECT_EQ("UP_TO_DATE", policy_manager_->GetPolicyTableStatus()); - policy_manager_->AddApplication(app_id_2_, - HmiTypes(policy_table::AHT_DEFAULT)); + policy_manager_->AddApplication( + device_id_2_, app_id_2_, HmiTypes(policy_table::AHT_DEFAULT)); EXPECT_EQ("UP_TO_DATE", policy_manager_->GetPolicyTableStatus()); ::policy::Counters counter = ::policy::Counters::DAYS_AFTER_EPOCH; // Set PT was updated 50 days ago (limit is 30 days for now) policy_manager_->PTUpdatedAt(counter, days - 50); - policy_manager_->OnAppRegisteredOnMobile(app_id_2_); + policy_manager_->OnAppRegisteredOnMobile(device_id_2_, app_id_2_); EXPECT_EQ("UPDATE_NEEDED", policy_manager_->GetPolicyTableStatus()); } @@ -979,8 +1056,8 @@ TEST_F( GetPTU(kValidSdlPtUpdateJson); EXPECT_EQ("UP_TO_DATE", policy_manager_->GetPolicyTableStatus()); // Try to add existing app - policy_manager_->AddApplication(app_id_2_, - HmiTypes(policy_table::AHT_DEFAULT)); + policy_manager_->AddApplication( + device_id_2_, app_id_2_, HmiTypes(policy_table::AHT_DEFAULT)); EXPECT_EQ("UP_TO_DATE", policy_manager_->GetPolicyTableStatus()); ::policy::Counters counter = ::policy::Counters::DAYS_AFTER_EPOCH; // Set PT was updated 10 days ago (limit is 30 days for now) @@ -993,7 +1070,7 @@ TEST_F( for (int i = 0; i < ign_cycles; ++i) { policy_manager_->IncrementIgnitionCycles(); } - policy_manager_->OnAppRegisteredOnMobile(app_id_2_); + policy_manager_->OnAppRegisteredOnMobile(device_id_2_, app_id_2_); // Check update required EXPECT_EQ("UPDATE_NEEDED", policy_manager_->GetPolicyTableStatus()); } @@ -1022,10 +1099,10 @@ TEST_F(PolicyManagerImplTest2, ->SetUserPermissionsForDevice( device_id_2_, consented_groups, disallowed_groups); policy_manager_->SetUserConsentForDevice(device_id_2_, true); - EXPECT_CALL(listener_, OnCurrentDeviceIdUpdateRequired(app_id_2_)) - .WillRepeatedly(Return(device_id_2_)); - policy_manager_->AddApplication(app_id_2_, - HmiTypes(policy_table::AHT_DEFAULT)); + EXPECT_CALL(listener_, GetDevicesIds(app_id_2_)) + .WillRepeatedly(Return(transport_manager::DeviceList())); + policy_manager_->AddApplication( + device_id_2_, app_id_2_, HmiTypes(policy_table::AHT_DEFAULT)); GetPTU(kValidSdlPtUpdateJson); ::policy::PermissionConsent perm_consent; @@ -1045,7 +1122,8 @@ TEST_F(PolicyManagerImplTest2, policy_manager_->SetUserConsentForApp(perm_consent, policy::PolicyManager::kSilentMode); - policy_manager_->SendNotificationOnPermissionsUpdated(app_id_2_); + policy_manager_->SendNotificationOnPermissionsUpdated(device_id_2_, + app_id_2_); std::vector< ::policy::FunctionalGroupPermission> actual_groups_permissions; std::vector< ::policy::FunctionalGroupPermission>::iterator it; policy_manager_->GetUserConsentForApp( @@ -1069,8 +1147,10 @@ TEST_F(PolicyManagerImplTest2, CanAppKeepContext_SetPoliciesForAppUpdated_ExpectAppCanKeepContext) { // Arrange CreateLocalPT(preloaded_pt_filename_); - policy_manager_->AddApplication(app_id_2_, - HmiTypes(policy_table::AHT_DEFAULT)); + EXPECT_CALL(listener_, GetDevicesIds(app_id_2_)) + .WillRepeatedly(Return(transport_manager::DeviceList())); + policy_manager_->AddApplication( + device_id_2_, app_id_2_, HmiTypes(policy_table::AHT_DEFAULT)); GetPTU(kValidSdlPtUpdateJson); // Check keep context in updated policies for app EXPECT_TRUE(policy_manager_->CanAppKeepContext(app_id_2_)); @@ -1080,8 +1160,10 @@ TEST_F(PolicyManagerImplTest2, CanAppStealFocus_SetPoliciesForAppUpdated_ExpectAppCanStealFocus) { // Arrange CreateLocalPT(preloaded_pt_filename_); - policy_manager_->AddApplication(app_id_2_, - HmiTypes(policy_table::AHT_DEFAULT)); + EXPECT_CALL(listener_, GetDevicesIds(app_id_2_)) + .WillRepeatedly(Return(transport_manager::DeviceList())); + policy_manager_->AddApplication( + device_id_2_, app_id_2_, HmiTypes(policy_table::AHT_DEFAULT)); GetPTU(kValidSdlPtUpdateJson); // Check keep context in updated policies for app EXPECT_TRUE(policy_manager_->CanAppKeepContext(app_id_2_)); @@ -1130,10 +1212,10 @@ TEST_F( ->SetUserPermissionsForDevice( device_id_2_, consented_groups, disallowed_groups); policy_manager_->SetUserConsentForDevice(device_id_2_, true); - EXPECT_CALL(listener_, OnCurrentDeviceIdUpdateRequired(app_id_2_)) - .WillRepeatedly(Return(device_id_2_)); - policy_manager_->AddApplication(app_id_2_, - HmiTypes(policy_table::AHT_DEFAULT)); + EXPECT_CALL(listener_, GetDevicesIds(app_id_2_)) + .WillRepeatedly(Return(transport_manager::DeviceList(1, device_id_2_))); + policy_manager_->AddApplication( + device_id_2_, app_id_2_, HmiTypes(policy_table::AHT_DEFAULT)); GetPTU(kValidSdlPtUpdateJson); ::policy::PermissionConsent perm_consent; @@ -1153,7 +1235,8 @@ TEST_F( policy_manager_->SetUserConsentForApp(perm_consent, policy::PolicyManager::kSilentMode); - policy_manager_->SendNotificationOnPermissionsUpdated(app_id_2_); + policy_manager_->SendNotificationOnPermissionsUpdated(device_id_2_, + app_id_2_); std::vector< ::policy::FunctionalGroupPermission> actual_groups_permissions; std::vector< ::policy::FunctionalGroupPermission>::iterator it; policy_manager_->GetPermissionsForApp( @@ -1177,19 +1260,23 @@ TEST_F( PolicyManagerImplTest2, GetAppRequestTypes_AddApp_UpdateAppPolicies_ExpectReceivedRequestTypesCorrect) { // Arrange + const transport_manager::DeviceHandle handle = 1; CreateLocalPT(preloaded_pt_filename_); - - policy_manager_->AddApplication(app_id_3_, - HmiTypes(policy_table::AHT_DEFAULT)); + EXPECT_CALL(listener_, GetDevicesIds(app_id_3_)) + .WillRepeatedly(Return(transport_manager::DeviceList(1, device_id_1_))); + EXPECT_CALL(listener_, OnCurrentDeviceIdUpdateRequired(handle, app_id_3_)) + .WillRepeatedly(Return(device_id_1_)); + policy_manager_->AddApplication( + device_id_1_, app_id_3_, HmiTypes(policy_table::AHT_DEFAULT)); ::policy::StringArray app_requests = - policy_manager_->GetAppRequestTypes(app_id_3_); + policy_manager_->GetAppRequestTypes(handle, app_id_3_); EXPECT_EQ(1u, app_requests.size()); Json::Value root = GetPTU(kPtuRequestTypeJson); Json::Value request_Types = Json::Value(Json::arrayValue); request_Types = root["policy_table"]["app_policies"][app_id_3_]["RequestType"]; - app_requests = policy_manager_->GetAppRequestTypes(app_id_3_); + app_requests = policy_manager_->GetAppRequestTypes(handle, app_id_3_); EXPECT_EQ(request_Types.size(), app_requests.size()); // Check nicknames match for (uint32_t i = 0; i < request_Types.size(); ++i) { @@ -1213,9 +1300,11 @@ TEST_F( rpc::ValidationReport report("policy_table"); pt->ReportErrors(&report); } + EXPECT_CALL(listener_, GetDevicesIds(app_id_2_)) + .WillRepeatedly(Return(transport_manager::DeviceList())); // Add new app - policy_manager_->AddApplication(app_id_2_, - HmiTypes(policy_table::AHT_DEFAULT)); + policy_manager_->AddApplication( + device_id_2_, app_id_2_, HmiTypes(policy_table::AHT_DEFAULT)); uint32_t result = policy_manager_->HeartBeatTimeout(app_id_2_); // By default hertbeat timeout is 0 EXPECT_EQ(0u, result); @@ -1261,10 +1350,10 @@ TEST_F(PolicyManagerImplTest2, ->SetUserPermissionsForDevice( device_id_2_, consented_groups, disallowed_groups); policy_manager_->SetUserConsentForDevice(device_id_2_, true); - EXPECT_CALL(listener_, OnCurrentDeviceIdUpdateRequired(app_id_2_)) - .WillRepeatedly(Return(device_id_2_)); - policy_manager_->AddApplication(app_id_2_, - HmiTypes(policy_table::AHT_DEFAULT)); + EXPECT_CALL(listener_, GetDevicesIds(app_id_2_)) + .WillRepeatedly(Return(transport_manager::DeviceList(1, device_id_2_))); + policy_manager_->AddApplication( + device_id_2_, app_id_2_, HmiTypes(policy_table::AHT_DEFAULT)); GetPTU(kValidSdlPtUpdateJson); ::policy::PermissionConsent perm_consent; @@ -1284,7 +1373,8 @@ TEST_F(PolicyManagerImplTest2, policy_manager_->SetUserConsentForApp(perm_consent, policy::PolicyManager::kSilentMode); - policy_manager_->SendNotificationOnPermissionsUpdated(app_id_2_); + policy_manager_->SendNotificationOnPermissionsUpdated(device_id_2_, + app_id_2_); std::vector< ::policy::FunctionalGroupPermission> actual_groups_permissions; std::vector< ::policy::FunctionalGroupPermission>::iterator it; policy_manager_->GetPermissionsForApp( @@ -1330,20 +1420,22 @@ TEST_F(PolicyManagerImplTest2, SingleInvalidRequestTypeInPTU_ExpectReplaceWithDefaultValues) { // Arrange const std::string section_name = app_id_2_; + const transport_manager::DeviceHandle handle = 1; // Arrange CreateLocalPT(preloaded_pt_filename_); // Setting device consent to 'true' in order to have defult application // permissions, request type etc. - EXPECT_CALL(listener_, OnCurrentDeviceIdUpdateRequired(app_id_2_)) + EXPECT_CALL(listener_, OnCurrentDeviceIdUpdateRequired(handle, app_id_2_)) .WillRepeatedly(Return(device_id_1_)); policy_manager_->SetUserConsentForDevice(device_id_1_, true); - + EXPECT_CALL(listener_, GetDevicesIds(section_name)) + .WillRepeatedly(Return(transport_manager::DeviceList(1, device_id_1_))); // Add app - policy_manager_->AddApplication(section_name, - HmiTypes(policy_table::AHT_DEFAULT)); - EXPECT_CALL(listener_, OnPendingPermissionChange(section_name)); + policy_manager_->AddApplication( + device_id_1_, section_name, HmiTypes(policy_table::AHT_DEFAULT)); + EXPECT_CALL(listener_, OnPendingPermissionChange(device_id_1_, section_name)); // PTU has single invalid RequestTypes, which must be dropped and replaced // with default RT @@ -1351,18 +1443,18 @@ TEST_F(PolicyManagerImplTest2, // Get RequestTypes from <app_id> section of app policies after PT update ::policy::StringArray app_request_types_after = - policy_manager_->GetAppRequestTypes(section_name); + policy_manager_->GetAppRequestTypes(handle, section_name); - EXPECT_CALL(listener_, OnCurrentDeviceIdUpdateRequired(kDefaultId)) + EXPECT_CALL(listener_, OnCurrentDeviceIdUpdateRequired(handle, kDefaultId)) .WillOnce(Return(device_id_1_)); ::policy::StringArray default_request_types_after = - policy_manager_->GetAppRequestTypes(kDefaultId); + policy_manager_->GetAppRequestTypes(handle, kDefaultId); // Check sizes of Request types of PT and PTU EXPECT_EQ(4u, app_request_types_after.size()); ::policy::AppPermissions permissions = - policy_manager_->GetAppPermissionsChanges(section_name); + policy_manager_->GetAppPermissionsChanges(device_id_1_, section_name); EXPECT_TRUE(permissions.requestTypeChanged); policy_table::RequestType temp_res1; |