diff options
author | Yana Chernysheva <ychernysheva@luxoft.com> | 2021-01-15 15:06:10 +0200 |
---|---|---|
committer | LitvinenkoIra <ilytvynenko@luxoft.com> | 2021-02-02 11:24:11 +0200 |
commit | 8f7762e955ddec5b67b130c62374340801ba9130 (patch) | |
tree | ebc4634a0d0ff119272443e6560271318ee43dbb | |
parent | 2a697179dc5cc47d5420c0d2baf92b889636968a (diff) | |
download | sdl_core-8f7762e955ddec5b67b130c62374340801ba9130.tar.gz |
Delete outdated hard-coded PTs and update affected UTs
Delete unused and outdated hard-coded PTs from PTRepresentation classes.
Move and update affected UTs with actual version of preloaded PT,
copied from AppMain folder
3 files changed, 91 insertions, 616 deletions
diff --git a/src/components/policy/policy_external/test/sql_pt_ext_representation_test.cc b/src/components/policy/policy_external/test/sql_pt_ext_representation_test.cc index 7d4d00ae96..58f526d7d3 100644 --- a/src/components/policy/policy_external/test/sql_pt_ext_representation_test.cc +++ b/src/components/policy/policy_external/test/sql_pt_ext_representation_test.cc @@ -65,6 +65,9 @@ const std::string kHardwareVersion = "1.1.1.0"; const std::string kSoftwareVersion = "4.1.3.B_EB355B"; const std::string kWersCountryCode = "WAEGB"; const std::string kLanguage = "EN-US"; +const std::string kFunctionalGroupWithParams = "Location-1"; +const std::string kUserConsentForGroupWithParams = "Location"; +const std::string kRpcForGroupWithParams = "GetVehicleData"; } // namespace policy_table::Table LoadPreloadedPT(const std::string& filename) { @@ -93,6 +96,7 @@ Json::Value GetDefaultSnapshotModuleMeta(policy_table::Table& policy_table) { default_module_meta["vin"] = Json::Value(""); return default_module_meta; } + class SQLPTExtRepresentationTest : public ::testing::Test { public: // Collection of pairs of group alias and corresponding group name @@ -354,6 +358,93 @@ TEST_F(SQLPTExtRepresentationTest, EXPECT_EQ(expected_module_meta.toStyledString(), snapshot_module_meta.ToJsonValue().toStyledString()); } + +TEST_F(SQLPTExtRepresentationTest, Save_ParametersPresent_ParametersSaved) { + policy_table::Table update = LoadPreloadedPT(kSdlPreloadedPtJson); + ASSERT_TRUE(IsValid(update)); + + policy_table::FunctionalGroupings func_groups; + ASSERT_TRUE(reps_->GetFunctionalGroupings(func_groups)); + EXPECT_TRUE(func_groups.empty()); + + EXPECT_TRUE(reps_->Save(update)); + ASSERT_TRUE(reps_->GetFunctionalGroupings(func_groups)); + + policy_table::FunctionalGroupings::iterator func_groups_iter = + func_groups.find(kFunctionalGroupWithParams); + ASSERT_TRUE(func_groups.end() != func_groups_iter); + policy_table::Rpcs& rpcs = func_groups_iter->second; + EXPECT_EQ(kUserConsentForGroupWithParams, + static_cast<std::string>(*rpcs.user_consent_prompt)); + policy_table::Rpc& rpc = rpcs.rpcs; + policy_table::Rpc::const_iterator rpc_iter = rpc.find(kRpcForGroupWithParams); + EXPECT_TRUE(rpc.end() != rpc_iter); + const ::policy_table::Parameters& parameters = *(rpc_iter->second.parameters); + EXPECT_TRUE(!parameters.empty()); +} + +TEST_F(SQLPTExtRepresentationTest, Save_NoParameters_NoParametersSaved) { + policy_table::Table update = LoadPreloadedPT(kSdlPreloadedPtJson); + ASSERT_TRUE(IsValid(update)); + + policy_table::FunctionalGroupings func_groups; + ASSERT_TRUE(reps_->GetFunctionalGroupings(func_groups)); + EXPECT_TRUE(func_groups.empty()); + + EXPECT_TRUE(reps_->Save(update)); + ASSERT_TRUE(reps_->GetFunctionalGroupings(func_groups)); + + const std::string func_group_without_params = "Notifications"; + const std::string user_consent = "Notifications"; + const std::string rpc_without_params = "Alert"; + + policy_table::FunctionalGroupings::iterator func_groups_iter = + func_groups.find(func_group_without_params); + ASSERT_TRUE(func_groups.end() != func_groups_iter); + policy_table::Rpcs& rpcs = func_groups_iter->second; + EXPECT_EQ(user_consent, static_cast<std::string>(*rpcs.user_consent_prompt)); + policy_table::Rpc& rpc = rpcs.rpcs; + EXPECT_EQ(1u, rpc.size()); + policy_table::Rpc::const_iterator rpc_iter = rpc.find(rpc_without_params); + EXPECT_TRUE(rpc.end() != rpc_iter); + // Check parameters + const ::policy_table::Parameters& parameters = *(rpc_iter->second.parameters); + EXPECT_FALSE(parameters.is_initialized()); + EXPECT_TRUE(parameters.empty()); +} + +TEST_F(SQLPTExtRepresentationTest, Save_EmptyParameters_ParametersEmpty) { + policy_table::Table update = LoadPreloadedPT(kSdlPreloadedPtJson); + ASSERT_TRUE(IsValid(update)); + + policy_table::FunctionalGroupings func_groups; + EXPECT_TRUE(reps_->GetFunctionalGroupings(func_groups)); + EXPECT_TRUE(func_groups.empty()); + + auto json_update = update.ToJsonValue(); + json_update["policy_table"]["functional_groupings"] + [kFunctionalGroupWithParams]["rpcs"][kRpcForGroupWithParams] + ["parameters"] = Json::Value(Json::arrayValue); + policy_table::Table update_with_empty_param(&json_update); + + EXPECT_TRUE(reps_->Save(update_with_empty_param)); + EXPECT_TRUE(reps_->GetFunctionalGroupings(func_groups)); + + policy_table::FunctionalGroupings::iterator func_groups_iter = + func_groups.find(kFunctionalGroupWithParams); + ASSERT_TRUE(func_groups.end() != func_groups_iter); + policy_table::Rpcs& rpcs = func_groups_iter->second; + EXPECT_EQ(kUserConsentForGroupWithParams, + static_cast<std::string>(*rpcs.user_consent_prompt)); + policy_table::Rpc& rpc = rpcs.rpcs; + policy_table::Rpc::const_iterator rpc_iter = rpc.find(kRpcForGroupWithParams); + EXPECT_TRUE(rpc.end() != rpc_iter); + // Check parameters + const ::policy_table::Parameters& parameters = *(rpc_iter->second.parameters); + // 'parameters' : [] - represented as initialized, but empty + // missing 'parameters' - represented as non-initialized and empty + EXPECT_TRUE(parameters.is_initialized()); + EXPECT_TRUE(parameters.empty()); } TEST_F( diff --git a/src/components/policy/policy_external/test/sql_pt_representation_test.cc b/src/components/policy/policy_external/test/sql_pt_representation_test.cc index 224c663c52..1adf9ae7c6 100644 --- a/src/components/policy/policy_external/test/sql_pt_representation_test.cc +++ b/src/components/policy/policy_external/test/sql_pt_representation_test.cc @@ -188,150 +188,6 @@ class SQLPTRepresentationTest : public SQLPTRepresentation, StringsCompare(groups, app_groups); } - void PolicyTableUpdatePrepare(Json::Value& table) { - PolicyTableUpdatePrepareNoParameters(table); - - table["policy_table"]["functional_groupings"]["default"]["rpcs"]["Update"] - ["parameters"] = Json::Value(Json::arrayValue); - table["policy_table"]["functional_groupings"]["default"]["rpcs"]["Update"] - ["parameters"][0] = Json::Value("speed"); - } - - void PolicyTableUpdatePrepareEmptyParameters(Json::Value& table) { - PolicyTableUpdatePrepareNoParameters(table); - - // Parameters are empty - table["policy_table"]["functional_groupings"]["default"]["rpcs"]["Update"] - ["parameters"] = Json::Value(Json::arrayValue); - } - - void PolicyTableUpdatePrepareNoParameters(Json::Value& table) { - table["policy_table"] = Json::Value(Json::objectValue); - Json::Value& policy_table = table["policy_table"]; - policy_table["module_config"] = Json::Value(Json::objectValue); - policy_table["functional_groupings"] = Json::Value(Json::objectValue); - policy_table["consumer_friendly_messages"] = Json::Value(Json::objectValue); - policy_table["app_policies"] = Json::Value(Json::objectValue); - - Json::Value& module_config = policy_table["module_config"]; - module_config["preloaded_date"] = Json::Value("25-04-2015"); - module_config["exchange_after_x_ignition_cycles"] = Json::Value(10); - module_config["exchange_after_x_kilometers"] = Json::Value(100); - module_config["exchange_after_x_days"] = Json::Value(5); - module_config["timeout_after_x_seconds"] = Json::Value(500); - module_config["seconds_between_retries"] = Json::Value(Json::arrayValue); - Json::Value& seconds_between_retries = - module_config["seconds_between_retries"]; - seconds_between_retries[0] = Json::Value(10); - seconds_between_retries[1] = Json::Value(20); - seconds_between_retries[2] = Json::Value(30); - module_config["endpoints"] = Json::Value(Json::objectValue); - Json::Value& endpoins = module_config["endpoints"]; - endpoins["0x00"] = Json::Value(Json::objectValue); - endpoins["0x00"]["default"] = Json::Value(Json::arrayValue); - endpoins["0x00"]["default"][0] = - Json::Value("http://ford.com/cloud/default"); - module_config["notifications_per_minute_by_priority"] = - Json::Value(Json::objectValue); - module_config["notifications_per_minute_by_priority"]["emergency"] = - Json::Value(1); - module_config["notifications_per_minute_by_priority"]["navigation"] = - Json::Value(2); - module_config["notifications_per_minute_by_priority"]["VOICECOMM"] = - Json::Value(3); - module_config["notifications_per_minute_by_priority"]["communication"] = - Json::Value(4); - module_config["notifications_per_minute_by_priority"]["normal"] = - Json::Value(5); - module_config["notifications_per_minute_by_priority"]["none"] = - Json::Value(6); - module_config["subtle_notifications_per_minute_by_priority"] = - Json::Value(Json::objectValue); - module_config["subtle_notifications_per_minute_by_priority"]["emergency"] = - Json::Value(7); - module_config["subtle_notifications_per_minute_by_priority"]["navigation"] = - Json::Value(8); - module_config["subtle_notifications_per_minute_by_priority"]["VOICECOMM"] = - Json::Value(9); - module_config["subtle_notifications_per_minute_by_priority"] - ["communication"] = Json::Value(10); - module_config["subtle_notifications_per_minute_by_priority"]["normal"] = - Json::Value(11); - module_config["subtle_notifications_per_minute_by_priority"]["none"] = - Json::Value(12); - module_config["vehicle_make"] = Json::Value("MakeT"); - module_config["vehicle_model"] = Json::Value("ModelT"); - module_config["vehicle_year"] = Json::Value("2014"); - module_config["certificate"] = Json::Value("my_cert"); - - Json::Value& functional_groupings = policy_table["functional_groupings"]; - functional_groupings["default"] = Json::Value(Json::objectValue); - Json::Value& default_group = functional_groupings["default"]; - default_group["rpcs"] = Json::Value(Json::objectValue); - default_group["rpcs"]["Update"] = Json::Value(Json::objectValue); - default_group["rpcs"]["Update"]["hmi_levels"] = - Json::Value(Json::arrayValue); - default_group["rpcs"]["Update"]["hmi_levels"][0] = Json::Value("FULL"); - // No parameters - - Json::Value& consumer_friendly_messages = - policy_table["consumer_friendly_messages"]; - consumer_friendly_messages["version"] = Json::Value("1.2"); - consumer_friendly_messages["messages"] = Json::Value(Json::objectValue); - consumer_friendly_messages["messages"]["MSG1"] = - Json::Value(Json::objectValue); - Json::Value& msg1 = consumer_friendly_messages["messages"]["MSG1"]; - msg1["languages"] = Json::Value(Json::objectValue); - msg1["languages"]["en-us"] = Json::Value(Json::objectValue); - msg1["languages"]["en-us"]["tts"] = Json::Value("TTS message"); - msg1["languages"]["en-us"]["label"] = Json::Value("LABEL message"); - msg1["languages"]["en-us"]["line1"] = Json::Value("LINE1 message"); - msg1["languages"]["en-us"]["line2"] = Json::Value("LINE2 message"); - msg1["languages"]["en-us"]["textBody"] = Json::Value("TEXTBODY message"); - - Json::Value& app_policies = policy_table["app_policies"]; - app_policies["default"] = Json::Value(Json::objectValue); - app_policies["default"]["priority"] = Json::Value("EMERGENCY"); - app_policies["default"]["memory_kb"] = Json::Value(50); - app_policies["default"]["heart_beat_timeout_ms"] = Json::Value(100); - app_policies["default"]["groups"] = Json::Value(Json::arrayValue); - app_policies["default"]["groups"][0] = Json::Value("default"); - app_policies["default"]["priority"] = Json::Value("EMERGENCY"); - app_policies["default"]["is_revoked"] = Json::Value(true); - app_policies["default"]["default_hmi"] = Json::Value("FULL"); - app_policies["default"]["keep_context"] = Json::Value(true); - app_policies["default"]["steal_focus"] = Json::Value(true); - - app_policies["pre_DataConsent"] = Json::Value(Json::objectValue); - app_policies["pre_DataConsent"]["memory_kb"] = Json::Value(40); - app_policies["pre_DataConsent"]["heart_beat_timeout_ms"] = Json::Value(90); - app_policies["pre_DataConsent"]["groups"] = Json::Value(Json::arrayValue); - app_policies["pre_DataConsent"]["groups"][0] = Json::Value("default"); - app_policies["pre_DataConsent"]["priority"] = Json::Value("EMERGENCY"); - app_policies["pre_DataConsent"]["default_hmi"] = Json::Value("FULL"); - app_policies["pre_DataConsent"]["is_revoked"] = Json::Value(false); - app_policies["pre_DataConsent"]["keep_context"] = Json::Value(true); - app_policies["pre_DataConsent"]["steal_focus"] = Json::Value(true); - app_policies["1234"] = Json::Value(Json::objectValue); - app_policies["1234"]["memory_kb"] = Json::Value(150); - app_policies["1234"]["heart_beat_timeout_ms"] = Json::Value(200); - app_policies["1234"]["groups"] = Json::Value(Json::arrayValue); - app_policies["1234"]["groups"][0] = Json::Value("default"); - app_policies["1234"]["priority"] = Json::Value("EMERGENCY"); - app_policies["1234"]["default_hmi"] = Json::Value("FULL"); - app_policies["1234"]["is_revoked"] = Json::Value(true); - app_policies["1234"]["keep_context"] = Json::Value(false); - app_policies["1234"]["steal_focus"] = Json::Value(false); - app_policies["device"] = Json::Value(Json::objectValue); - app_policies["device"]["groups"] = Json::Value(Json::arrayValue); - app_policies["device"]["groups"][0] = Json::Value("default"); - app_policies["device"]["priority"] = Json::Value("EMERGENCY"); - app_policies["device"]["is_revoked"] = Json::Value(true); - app_policies["device"]["default_hmi"] = Json::Value("FULL"); - app_policies["device"]["keep_context"] = Json::Value(true); - app_policies["device"]["steal_focus"] = Json::Value(true); - } - ::testing::AssertionResult IsValid(const policy_table::Table& table) { if (table.is_valid()) { return ::testing::AssertionSuccess(); @@ -1633,304 +1489,6 @@ TEST(SQLPTRepresentationTest3, RemoveDB_RemoveDB_ExpectFileDeleted) { EXPECT_FALSE(file_system::FileExists(path)); } -TEST_F(SQLPTRepresentationTest, - DISABLED_GenerateSnapshot_SetPolicyTable_SnapshotIsPresent) { - // TODO(AKutsan):APPLINK-31526 Test requires initial preloaded pt for - // preloaded date reading - // Arrange - Json::Value table(Json::objectValue); - PolicyTableUpdatePrepare(table); - - policy_table::Table update(&table); - update.SetPolicyTableType(rpc::policy_table_interface_base::PT_UPDATE); - - // Assert - ASSERT_TRUE(IsValid(update)); - ASSERT_TRUE(reps->Save(update)); - - // Act - std::shared_ptr<policy_table::Table> snapshot = reps->GenerateSnapshot(); - snapshot->SetPolicyTableType(rpc::policy_table_interface_base::PT_SNAPSHOT); - // Remove fields which must be absent in snapshot - table["policy_table"]["consumer_friendly_messages"].removeMember("messages"); - table["policy_table"]["app_policies"]["1234"].removeMember("default_hmi"); - table["policy_table"]["app_policies"]["1234"].removeMember("keep_context"); - table["policy_table"]["app_policies"]["1234"].removeMember("steal_focus"); - table["policy_table"]["app_policies"]["default"].removeMember("default_hmi"); - table["policy_table"]["app_policies"]["default"].removeMember("keep_context"); - table["policy_table"]["app_policies"]["default"].removeMember("steal_focus"); - table["policy_table"]["app_policies"]["pre_DataConsent"].removeMember( - "default_hmi"); - table["policy_table"]["app_policies"]["pre_DataConsent"].removeMember( - "keep_context"); - table["policy_table"]["app_policies"]["pre_DataConsent"].removeMember( - "steal_focus"); - table["policy_table"]["app_policies"]["device"].removeMember("default_hmi"); - table["policy_table"]["app_policies"]["device"].removeMember("keep_context"); - table["policy_table"]["app_policies"]["device"].removeMember("steal_focus"); - table["policy_table"]["app_policies"]["device"].removeMember("groups"); - table["policy_table"]["device_data"] = Json::Value(Json::objectValue); - table["policy_table"]["module_meta"] = Json::Value(Json::objectValue); - table["policy_table"]["module_config"]["preloaded_pt"] = Json::Value(false); - policy_table::Table expected(&table); - Json::StreamWriterBuilder writer_builder; - // Checks - Json::Value snapshot_json_value = snapshot->ToJsonValue(); - EXPECT_EQ(Json::writeString(writer_builder, expected.ToJsonValue()), - Json::writeString(writer_builder, snapshot_json_value)); - std::cout << Json::writeString(writer_builder, snapshot_json_value) - << std::endl; - EXPECT_EQ(expected.ToJsonValue().toStyledString(), - snapshot_json_value.toStyledString()); -} - -TEST_F(SQLPTRepresentationTest, - DISABLED_Save_SetPolicyTableThenSave_ExpectSavedToPT) { - // TODO(AKutsan): APPLINK-31526 Test requires initial preloaded pt for - // preloaded date reading - // Arrange - Json::Value table(Json::objectValue); - PolicyTableUpdatePrepare(table); - - policy_table::Table update(&table); - update.SetPolicyTableType(rpc::policy_table_interface_base::PT_UPDATE); - // Checks PT before Save - policy_table::FunctionalGroupings func_groups; - ASSERT_TRUE(reps->GetFunctionalGroupings(func_groups)); - // Check functional groupings section - EXPECT_EQ(0u, func_groups.size()); - - policy_table::ApplicationPoliciesSection policies; - GatherApplicationPoliciesSection(&policies); - // Check ApplicationPoliciesSection - EXPECT_EQ(0u, policies.apps.size()); - EXPECT_EQ(0u, (policies.device.preconsented_groups)->size()); - EXPECT_EQ(0u, policies.device.groups.size()); - EXPECT_EQ(policy_table::Priority::P_EMERGENCY, policies.device.priority); - EXPECT_EQ(policy_table::HmiLevel::HL_BACKGROUND, policies.device.default_hmi); - EXPECT_FALSE(policies.device.keep_context); - EXPECT_FALSE(policies.device.steal_focus); - - policy_table::ModuleConfig config; - GatherModuleConfig(&config); - // Check Module config section - EXPECT_TRUE(*config.preloaded_pt); - EXPECT_EQ(0, config.exchange_after_x_ignition_cycles); - EXPECT_EQ(0, config.exchange_after_x_kilometers); - EXPECT_EQ(0, config.exchange_after_x_days); - EXPECT_EQ(0, config.timeout_after_x_seconds); - EXPECT_EQ("", static_cast<std::string>(*config.vehicle_make)); - EXPECT_EQ("", static_cast<std::string>(*config.vehicle_model)); - EXPECT_EQ("", static_cast<std::string>(*config.vehicle_year)); - EXPECT_EQ("", static_cast<std::string>(*config.preloaded_date)); - EXPECT_EQ("", static_cast<std::string>(*config.certificate)); - EXPECT_EQ(0u, config.seconds_between_retries.size()); - EXPECT_EQ(0u, config.endpoints.size()); - EXPECT_EQ(0u, config.notifications_per_minute_by_priority.size()); - EXPECT_EQ(0u, (*config.subtle_notifications_per_minute_by_priority).size()); - - policy_table::ConsumerFriendlyMessages messages; - GatherConsumerFriendlyMessages(&messages); - EXPECT_EQ("0", static_cast<std::string>(messages.version)); - policy_table::DeviceData devices; - GatherDeviceData(&devices); - EXPECT_EQ(0u, devices.size()); - policy_table::UsageAndErrorCounts counts; - GatherUsageAndErrorCounts(&counts); - EXPECT_EQ(0u, counts.app_level->size()); - ASSERT_TRUE(IsValid(update)); - // Act - ASSERT_TRUE(reps->Save(update)); - - // Check Functional Groupings - ASSERT_TRUE(reps->GetFunctionalGroupings(func_groups)); - // Checks - EXPECT_EQ(1u, func_groups.size()); - policy_table::FunctionalGroupings::iterator func_groups_iter = - func_groups.find("default"); - ASSERT_TRUE(func_groups.end() != func_groups_iter); - policy_table::Rpcs& rpcs = func_groups_iter->second; - EXPECT_EQ("", static_cast<std::string>(*rpcs.user_consent_prompt)); - policy_table::Rpc& rpc = rpcs.rpcs; - EXPECT_EQ(1u, rpc.size()); - policy_table::Rpc::const_iterator rpc_iter = rpc.find("Update"); - EXPECT_TRUE(rpc.end() != rpc_iter); - const policy_table::HmiLevels& hmi_levels = rpc_iter->second.hmi_levels; - EXPECT_EQ(1u, hmi_levels.size()); - EXPECT_TRUE(hmi_levels.end() != std::find(hmi_levels.begin(), - hmi_levels.end(), - policy_table::HmiLevel::HL_FULL)); - - const ::policy_table::Parameters& parameters = *(rpc_iter->second.parameters); - EXPECT_EQ(1u, parameters.size()); - EXPECT_TRUE(parameters.end() != - std::find(parameters.begin(), parameters.end(), "P_SPEED")); - // Check Application Policies Section - GatherApplicationPoliciesSection(&policies); - const uint32_t apps_size = 3u; - - rpc::String<1ul, 255ul> str("default"); - policy_table::Strings groups; - groups.push_back(str); - CheckAppPoliciesSection(policies, - apps_size, - policy_table::Priority::P_EMERGENCY, - "1234", - 150u, - 200u, - groups); - CheckAppPoliciesSection(policies, - apps_size, - policy_table::Priority::P_EMERGENCY, - "default", - 50u, - 100u, - groups); - CheckAppPoliciesSection(policies, - apps_size, - policy_table::Priority::P_EMERGENCY, - "pre_DataConsent", - 40u, - 90u, - groups); - CheckAppPoliciesSection(policies, - apps_size, - policy_table::Priority::P_EMERGENCY, - "device", - 0u, - 0u, - groups); - EXPECT_EQ(0u, (policies.device.preconsented_groups)->size()); - EXPECT_EQ(0u, policies.device.groups.size()); - EXPECT_EQ(policy_table::HmiLevel::HL_BACKGROUND, policies.device.default_hmi); - EXPECT_FALSE(policies.device.keep_context); - EXPECT_FALSE(policies.device.steal_focus); - - CheckAppGroups("1234", groups); - CheckAppGroups("default", groups); - CheckAppGroups("pre_DataConsent", groups); - CheckAppGroups("device", groups); - - GatherModuleConfig(&config); - // Check Module Config section - ASSERT_FALSE(*config.preloaded_pt); - ASSERT_EQ("my_cert", static_cast<std::string>(*config.certificate)); - ASSERT_EQ("25-04-2015", static_cast<std::string>(*config.preloaded_date)); - ASSERT_EQ("2014", static_cast<std::string>(*config.vehicle_year)); - ASSERT_EQ("ModelT", static_cast<std::string>(*config.vehicle_model)); - ASSERT_EQ("MakeT", static_cast<std::string>(*config.vehicle_make)); - ASSERT_EQ(10, config.exchange_after_x_ignition_cycles); - ASSERT_EQ(100, config.exchange_after_x_kilometers); - ASSERT_EQ(5, config.exchange_after_x_days); - ASSERT_EQ(500, config.timeout_after_x_seconds); - ASSERT_EQ(3u, config.seconds_between_retries.size()); - ASSERT_EQ(10, config.seconds_between_retries[0]); - ASSERT_EQ(20, config.seconds_between_retries[1]); - ASSERT_EQ(30, config.seconds_between_retries[2]); - ASSERT_EQ(6u, config.notifications_per_minute_by_priority.size()); - ASSERT_EQ(1, config.notifications_per_minute_by_priority["emergency"]); - ASSERT_EQ(2, config.notifications_per_minute_by_priority["navigation"]); - ASSERT_EQ(3, config.notifications_per_minute_by_priority["VOICECOMM"]); - ASSERT_EQ(4, config.notifications_per_minute_by_priority["communication"]); - ASSERT_EQ(5, config.notifications_per_minute_by_priority["normal"]); - ASSERT_EQ(6, config.notifications_per_minute_by_priority["none"]); - ASSERT_EQ(6u, (*config.subtle_notifications_per_minute_by_priority).size()); - ASSERT_EQ(7, - (*config.subtle_notifications_per_minute_by_priority)["emergency"]); - ASSERT_EQ( - 8, (*config.subtle_notifications_per_minute_by_priority)["navigation"]); - ASSERT_EQ(9, - (*config.subtle_notifications_per_minute_by_priority)["VOICECOMM"]); - ASSERT_EQ( - 10, - (*config.subtle_notifications_per_minute_by_priority)["communication"]); - ASSERT_EQ(11, - (*config.subtle_notifications_per_minute_by_priority)["normal"]); - ASSERT_EQ(12, (*config.subtle_notifications_per_minute_by_priority)["none"]); - EXPECT_EQ(1u, config.endpoints.size()); - policy_table::ServiceEndpoints& service_endpoints = config.endpoints; - EXPECT_EQ("0x00", service_endpoints.begin()->first); - policy_table::URLList& url_list = service_endpoints.begin()->second; - EXPECT_EQ("default", url_list.begin()->first); - policy_table::URL& url = url_list.begin()->second; - EXPECT_EQ("http://ford.com/cloud/default", static_cast<std::string>(url[0])); - GatherConsumerFriendlyMessages(&messages); - EXPECT_EQ("1.2", static_cast<std::string>(messages.version)); -} - -TEST_F(SQLPTRepresentationTest, - Save_SavePolicyTable_EmptyParameters_ParametersEMPTY) { - // Arrange - Json::Value table(Json::objectValue); - PolicyTableUpdatePrepareEmptyParameters(table); - - policy_table::Table update(&table); - update.SetPolicyTableType(rpc::policy_table_interface_base::PT_UPDATE); - // Checks PT before Save - policy_table::FunctionalGroupings func_groups; - ASSERT_TRUE(reps->GetFunctionalGroupings(func_groups)); - // Check functional groupings section - EXPECT_EQ(0u, func_groups.size()); - - // Act - ASSERT_TRUE(reps->Save(update)); - - // Check Functional Groupings - ASSERT_TRUE(reps->GetFunctionalGroupings(func_groups)); - // Checks - EXPECT_EQ(1u, func_groups.size()); - policy_table::FunctionalGroupings::iterator func_groups_iter = - func_groups.find("default"); - ASSERT_TRUE(func_groups.end() != func_groups_iter); - policy_table::Rpcs& rpcs = func_groups_iter->second; - EXPECT_EQ("", static_cast<std::string>(*rpcs.user_consent_prompt)); - policy_table::Rpc& rpc = rpcs.rpcs; - EXPECT_EQ(1u, rpc.size()); - policy_table::Rpc::const_iterator rpc_iter = rpc.find("Update"); - EXPECT_TRUE(rpc.end() != rpc_iter); - // Check parameters - const ::policy_table::Parameters& parameters = *(rpc_iter->second.parameters); - // 'parameters' : [] - represented as initialized, but empty - // missing 'parameters' - represented as non-initialized and empty - EXPECT_TRUE(parameters.is_initialized()); - EXPECT_TRUE(parameters.empty()); -} - -TEST_F(SQLPTRepresentationTest, - Save_SavePolicyTable_NoParameters_NoParametersSaved) { - // Arrange - Json::Value table(Json::objectValue); - PolicyTableUpdatePrepareNoParameters(table); - - policy_table::Table update(&table); - update.SetPolicyTableType(rpc::policy_table_interface_base::PT_UPDATE); - // Checks PT before Save - policy_table::FunctionalGroupings func_groups; - ASSERT_TRUE(reps->GetFunctionalGroupings(func_groups)); - // Check functional groupings section - EXPECT_EQ(0u, func_groups.size()); - - // Act - ASSERT_TRUE(reps->Save(update)); - - // Check Functional Groupings - ASSERT_TRUE(reps->GetFunctionalGroupings(func_groups)); - // Checks - EXPECT_EQ(1u, func_groups.size()); - policy_table::FunctionalGroupings::iterator func_groups_iter = - func_groups.find("default"); - ASSERT_TRUE(func_groups.end() != func_groups_iter); - policy_table::Rpcs& rpcs = func_groups_iter->second; - EXPECT_EQ("", static_cast<std::string>(*rpcs.user_consent_prompt)); - policy_table::Rpc& rpc = rpcs.rpcs; - EXPECT_EQ(1u, rpc.size()); - policy_table::Rpc::const_iterator rpc_iter = rpc.find("Update"); - EXPECT_TRUE(rpc.end() != rpc_iter); - // Check parameters - const ::policy_table::Parameters& parameters = *(rpc_iter->second.parameters); - EXPECT_EQ(0u, parameters.size()); -} - } // namespace policy_test } // namespace components } // namespace test diff --git a/src/components/policy/policy_regular/test/sql_pt_representation_test.cc b/src/components/policy/policy_regular/test/sql_pt_representation_test.cc index 584f7b8930..fb64dfe7d0 100644 --- a/src/components/policy/policy_regular/test/sql_pt_representation_test.cc +++ b/src/components/policy/policy_regular/test/sql_pt_representation_test.cc @@ -230,180 +230,6 @@ class SQLPTRepresentationTest : protected SQLPTRepresentation, StringsCompare(groups, app_groups); } - void PolicyTableUpdatePrepare(Json::Value& table) { - // Root - table["policy_table"] = Json::Value(Json::objectValue); - - // 1st level - Json::Value& policy_table = table["policy_table"]; - policy_table["module_config"] = Json::Value(Json::objectValue); - policy_table["functional_groupings"] = Json::Value(Json::objectValue); - policy_table["consumer_friendly_messages"] = Json::Value(Json::objectValue); - policy_table["app_policies"] = Json::Value(Json::objectValue); - policy_table["usage_and_error_counts"] = Json::Value(Json::objectValue); - policy_table["device_data"] = Json::Value(Json::objectValue); - - // 'module_config' section start - Json::Value& module_config = policy_table["module_config"]; - module_config["preloaded_pt"] = Json::Value(false); - module_config["preloaded_date"] = Json::Value(""); - module_config["exchange_after_x_ignition_cycles"] = Json::Value(10); - module_config["exchange_after_x_kilometers"] = Json::Value(100); - module_config["exchange_after_x_days"] = Json::Value(5); - module_config["timeout_after_x_seconds"] = Json::Value(500); - module_config["seconds_between_retries"] = Json::Value(Json::arrayValue); - - Json::Value& seconds_between_retries = - module_config["seconds_between_retries"]; - seconds_between_retries[0] = Json::Value(10); - seconds_between_retries[1] = Json::Value(20); - seconds_between_retries[2] = Json::Value(30); - module_config["endpoints"] = Json::Value(Json::objectValue); - - Json::Value& endpoins = module_config["endpoints"]; - endpoins["0x00"] = Json::Value(Json::objectValue); - endpoins["0x00"]["default"] = Json::Value(Json::arrayValue); - endpoins["0x00"]["default"][0] = - Json::Value("http://ford.com/cloud/default"); - module_config["notifications_per_minute_by_priority"] = - Json::Value(Json::objectValue); - module_config["notifications_per_minute_by_priority"]["emergency"] = - Json::Value(1); - module_config["notifications_per_minute_by_priority"]["navigation"] = - Json::Value(2); - module_config["notifications_per_minute_by_priority"]["VOICECOMM"] = - Json::Value(3); - module_config["notifications_per_minute_by_priority"]["communication"] = - Json::Value(4); - module_config["notifications_per_minute_by_priority"]["normal"] = - Json::Value(5); - module_config["notifications_per_minute_by_priority"]["none"] = - Json::Value(6); - module_config["subtle_notifications_per_minute_by_priority"] = - Json::Value(Json::objectValue); - module_config["subtle_notifications_per_minute_by_priority"]["emergency"] = - Json::Value(7); - module_config["subtle_notifications_per_minute_by_priority"]["navigation"] = - Json::Value(8); - module_config["subtle_notifications_per_minute_by_priority"]["VOICECOMM"] = - Json::Value(9); - module_config["subtle_notifications_per_minute_by_priority"] - ["communication"] = Json::Value(10); - module_config["subtle_notifications_per_minute_by_priority"]["normal"] = - Json::Value(11); - module_config["subtle_notifications_per_minute_by_priority"]["none"] = - Json::Value(12); - module_config["vehicle_make"] = Json::Value(""); - module_config["vehicle_model"] = Json::Value(""); - module_config["vehicle_year"] = Json::Value(""); - module_config["certificate"] = Json::Value("encrypted_certificate_content"); - // 'module_config' section end - - // 'functional_groupings' section start - Json::Value& functional_groupings = policy_table["functional_groupings"]; - functional_groupings["default"] = Json::Value(Json::objectValue); - Json::Value& default_group = functional_groupings["default"]; - default_group["rpcs"] = Json::Value(Json::objectValue); - default_group["rpcs"]["Update"] = Json::Value(Json::objectValue); - default_group["rpcs"]["Update"]["hmi_levels"] = - Json::Value(Json::arrayValue); - default_group["rpcs"]["Update"]["hmi_levels"][0] = Json::Value("FULL"); - default_group["rpcs"]["Update"]["parameters"] = - Json::Value(Json::arrayValue); - default_group["rpcs"]["Update"]["parameters"][0] = Json::Value("speed"); - - Json::Value& consumer_friendly_messages = - policy_table["consumer_friendly_messages"]; - consumer_friendly_messages["version"] = Json::Value("some_msg_version"); - consumer_friendly_messages["messages"] = Json::Value(Json::objectValue); - consumer_friendly_messages["messages"]["MSG_CODE"] = - Json::Value(Json::objectValue); - Json::Value& msg1 = consumer_friendly_messages["messages"]["MSG_CODE"]; - msg1["languages"] = Json::Value(Json::objectValue); - msg1["languages"]["en-us"] = Json::Value(Json::objectValue); - // 'functional_groupings' section end - - // 'app_policies' section start - Json::Value& app_policies = policy_table["app_policies"]; - app_policies["default"] = Json::Value(Json::objectValue); - app_policies["default"]["priority"] = Json::Value("EMERGENCY"); - app_policies["default"]["memory_kb"] = Json::Value(50); - app_policies["default"]["heart_beat_timeout_ms"] = Json::Value(100); - app_policies["default"]["groups"] = Json::Value(Json::arrayValue); - app_policies["default"]["groups"][0] = Json::Value("default"); - app_policies["default"]["priority"] = Json::Value("EMERGENCY"); - app_policies["default"]["is_revoked"] = Json::Value(true); - app_policies["default"]["default_hmi"] = Json::Value("FULL"); - app_policies["default"]["keep_context"] = Json::Value(true); - app_policies["default"]["steal_focus"] = Json::Value(true); - app_policies["default"]["RequestType"] = Json::Value(Json::arrayValue); - - app_policies["pre_DataConsent"] = Json::Value(Json::objectValue); - app_policies["pre_DataConsent"]["memory_kb"] = Json::Value(40); - app_policies["pre_DataConsent"]["heart_beat_timeout_ms"] = Json::Value(90); - app_policies["pre_DataConsent"]["groups"] = Json::Value(Json::arrayValue); - app_policies["pre_DataConsent"]["groups"][0] = Json::Value("default"); - app_policies["pre_DataConsent"]["priority"] = Json::Value("EMERGENCY"); - app_policies["pre_DataConsent"]["default_hmi"] = Json::Value("FULL"); - app_policies["pre_DataConsent"]["is_revoked"] = Json::Value(false); - app_policies["pre_DataConsent"]["keep_context"] = Json::Value(true); - app_policies["pre_DataConsent"]["steal_focus"] = Json::Value(true); - app_policies["pre_DataConsent"]["RequestType"] = - Json::Value(Json::arrayValue); - - app_policies["1234"] = Json::Value(Json::objectValue); - app_policies["1234"]["memory_kb"] = Json::Value(150); - app_policies["1234"]["heart_beat_timeout_ms"] = Json::Value(200); - app_policies["1234"]["groups"] = Json::Value(Json::arrayValue); - app_policies["1234"]["groups"][0] = Json::Value("default"); - app_policies["1234"]["priority"] = Json::Value("EMERGENCY"); - app_policies["1234"]["default_hmi"] = Json::Value("FULL"); - app_policies["1234"]["is_revoked"] = Json::Value(true); - app_policies["1234"]["keep_context"] = Json::Value(false); - app_policies["1234"]["steal_focus"] = Json::Value(false); - app_policies["1234"]["RequestType"] = Json::Value(Json::arrayValue); - app_policies["1234"]["app_services"] = Json::Value(Json::objectValue); - app_policies["1234"]["icon_url"] = - Json::Value("http:://www.sdl.com/image.png"); - app_policies["1234"]["app_services"]["MEDIA"] = - Json::Value(Json::objectValue); - app_policies["1234"]["app_services"]["MEDIA"]["service_names"] = - Json::Value(Json::arrayValue); - app_policies["1234"]["app_services"]["MEDIA"]["service_names"][0] = - Json::Value("SDL App"); - app_policies["1234"]["app_services"]["MEDIA"]["service_names"][1] = - Json::Value("SDL Music"); - app_policies["1234"]["app_services"]["MEDIA"]["handled_rpcs"] = - Json::Value(Json::arrayValue); - app_policies["1234"]["app_services"]["MEDIA"]["handled_rpcs"][0] = - Json::Value(Json::objectValue); - app_policies["1234"]["app_services"]["MEDIA"]["handled_rpcs"][0] - ["function_id"] = Json::Value(41); - - app_policies["device"] = Json::Value(Json::objectValue); - app_policies["device"]["groups"] = Json::Value(Json::arrayValue); - app_policies["device"]["groups"][0] = Json::Value("default"); - app_policies["device"]["priority"] = Json::Value("EMERGENCY"); - app_policies["device"]["is_revoked"] = Json::Value(true); - app_policies["device"]["default_hmi"] = Json::Value("FULL"); - app_policies["device"]["keep_context"] = Json::Value(true); - app_policies["device"]["steal_focus"] = Json::Value(true); - // 'app_policies' section end - - Json::Value& usage_and_error_counts = - policy_table["usage_and_error_counts"]; - usage_and_error_counts["app_level"] = Json::Value(Json::objectValue); - usage_and_error_counts["app_level"]["some_app_id"] = - Json::Value(Json::objectValue); - usage_and_error_counts["app_level"]["some_app_id"]["count_of_tls_errors"] = - Json::Value(5); - - Json::Value& device_data = policy_table["device_data"]; - device_data["device_id_hash_1"] = Json::Value(Json::objectValue); - device_data["device_id_hash_2"] = Json::Value(Json::objectValue); - device_data["device_id_hash_3"] = Json::Value(Json::objectValue); - } - ::testing::AssertionResult IsValid(const policy_table::Table& table) { if (table.is_valid()) { return ::testing::AssertionSuccess(); |