diff options
author | JackLivio <jack@livio.io> | 2018-10-19 15:05:09 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-19 15:05:09 -0400 |
commit | d36316738785c96dab2ee892762ed08c059fffde (patch) | |
tree | 168a7c0705b5bc8f0dee7ce4b511ccf71759d9b4 /src/components/application_manager/test/policy_handler_test.cc | |
parent | 7f7fcbb998fb17f2954fd103349af67ea9b71a3f (diff) | |
parent | 83c5e805346d55ec7fb9f4ba8b6f6855d992273e (diff) | |
download | sdl_core-d36316738785c96dab2ee892762ed08c059fffde.tar.gz |
Merge pull request #2572 from smartdevicelink/release/5.0.05.0.0hotfix/templates_updatesfeature/show_app_menufeature/progress_bar_seekfeature/open-menu-rpcfeature/open-menu-rfeature/button
Release 5.0.0
Diffstat (limited to 'src/components/application_manager/test/policy_handler_test.cc')
-rw-r--r-- | src/components/application_manager/test/policy_handler_test.cc | 144 |
1 files changed, 87 insertions, 57 deletions
diff --git a/src/components/application_manager/test/policy_handler_test.cc b/src/components/application_manager/test/policy_handler_test.cc index d9e1cefa01..a1471eff36 100644 --- a/src/components/application_manager/test/policy_handler_test.cc +++ b/src/components/application_manager/test/policy_handler_test.cc @@ -53,13 +53,13 @@ #include "json/value.h" #include "smart_objects/smart_object.h" #include "utils/file_system.h" -#include "utils/make_shared.h" + #include "utils/custom_string.h" #include "policy/usage_statistics/counter.h" #include "policy/usage_statistics/statistics_manager.h" #include "interfaces/MOBILE_API.h" #include "policy/mock_policy_settings.h" -#include "utils/make_shared.h" + #include "application_manager/mock_application.h" #include "policy/usage_statistics/mock_statistics_manager.h" #include "protocol_handler/mock_session_observer.h" @@ -69,6 +69,7 @@ #include "application_manager/mock_event_dispatcher.h" #include "application_manager/mock_state_controller.h" #include "application_manager/mock_hmi_capabilities.h" +#include "application_manager/mock_rpc_service.h" #include "policy/mock_policy_manager.h" #include "policy/usage_statistics/mock_statistics_manager.h" @@ -90,6 +91,8 @@ using ::testing::DoAll; using ::testing::SetArgReferee; using ::testing::Mock; +typedef NiceMock<application_manager_test::MockRPCService> MockRPCService; + const std::string kDummyData = "some_data"; class PolicyHandlerTest : public ::testing::Test { @@ -105,7 +108,8 @@ class PolicyHandlerTest : public ::testing::Test { , default_hmi_("fake_hmi") , kPreloadPTFile_("sdl_preloaded_pt.json") , kAppStorageFolder_("storage") - , app_set(test_app, app_lock) + , app_lock_(std::make_shared<sync_primitives::Lock>()) + , app_set(test_app, app_lock_) , kAppId1_(10u) , kAppId2_(11u) , kConnectionKey_(1u) @@ -130,14 +134,14 @@ class PolicyHandlerTest : public ::testing::Test { protected: NiceMock<MockPolicySettings> policy_settings_; NiceMock<event_engine_test::MockEventDispatcher> mock_event_dispatcher_; - utils::SharedPtr<application_manager_test::MockApplication> mock_app_; + std::shared_ptr<application_manager_test::MockApplication> mock_app_; connection_handler_test::MockConnectionHandler conn_handler; protocol_handler_test::MockSessionObserver mock_session_observer; application_manager_test::MockStateController mock_state_controller; components::usage_statistics_test::MockStatisticsManager mock_statistics_manager_; PolicyHandler policy_handler_; - utils::SharedPtr<policy_manager_test::MockPolicyManager> mock_policy_manager_; + std::shared_ptr<policy_manager_test::MockPolicyManager> mock_policy_manager_; application_manager_test::MockApplicationManager app_manager_; const std::string kPolicyAppId_; const std::string kMacAddr_; @@ -149,7 +153,7 @@ class PolicyHandlerTest : public ::testing::Test { const std::string kPreloadPTFile_; const std::string kAppStorageFolder_; ApplicationSet test_app; - sync_primitives::Lock app_lock; + std::shared_ptr<sync_primitives::Lock> app_lock_; DataAccessor<ApplicationSet> app_set; const uint32_t kAppId1_; const uint32_t kAppId2_; @@ -164,6 +168,7 @@ class PolicyHandlerTest : public ::testing::Test { const uint32_t kCallsCount_; const uint32_t kTimeout_; application_manager::MockMessageHelper& mock_message_helper_; + MockRPCService mock_rpc_service_; virtual void SetUp() OVERRIDE { Mock::VerifyAndClearExpectations(&mock_message_helper_); @@ -174,15 +179,15 @@ class PolicyHandlerTest : public ::testing::Test { std::string path = file_system::CreateDirectory("storage"); file_system::CreateFile(path + "/" + "certificate"); mock_policy_manager_ = - utils::MakeShared<policy_manager_test::MockPolicyManager>(); - ASSERT_TRUE(mock_policy_manager_.valid()); + std::make_shared<policy_manager_test::MockPolicyManager>(); + ASSERT_TRUE(mock_policy_manager_.use_count() != 0); ON_CALL(app_manager_, connection_handler()) .WillByDefault(ReturnRef(conn_handler)); ON_CALL(conn_handler, get_session_observer()) .WillByDefault(ReturnRef(mock_session_observer)); - mock_app_ = utils::MakeShared<application_manager_test::MockApplication>(); + mock_app_ = std::make_shared<application_manager_test::MockApplication>(); } virtual void TearDown() OVERRIDE { @@ -297,7 +302,7 @@ class WaitAsync { const uint32_t timeout_; sync_primitives::ConditionalVariable cond_var_; }; -} +} // namespace TEST_F(PolicyHandlerTest, LoadPolicyLibrary_Method_ExpectLibraryLoaded) { // Check before policy enabled from ini file @@ -439,7 +444,7 @@ TEST_F(PolicyHandlerTest, OnPermissionsUpdated_method_With2Parameters) { } TEST_F(PolicyHandlerTest, OnPermissionsUpdated_TwoParams_InvalidApp_UNSUCCESS) { - utils::SharedPtr<application_manager_test::MockApplication> invalid_app; + std::shared_ptr<application_manager_test::MockApplication> invalid_app; EXPECT_CALL(app_manager_, application_by_policy_id(kPolicyAppId_)) .WillOnce(Return(invalid_app)); EXPECT_CALL(mock_message_helper_, @@ -450,7 +455,7 @@ TEST_F(PolicyHandlerTest, OnPermissionsUpdated_TwoParams_InvalidApp_UNSUCCESS) { } TEST_F(PolicyHandlerTest, OnPermissionsUpdated_InvalidApp_UNSUCCESS) { - utils::SharedPtr<application_manager_test::MockApplication> invalid_app; + std::shared_ptr<application_manager_test::MockApplication> invalid_app; EXPECT_CALL(app_manager_, application_by_policy_id(kPolicyAppId_)) .WillOnce(Return(mock_app_)) .WillOnce(Return(invalid_app)); @@ -769,8 +774,8 @@ TEST_F(PolicyHandlerTest, KmsChanged) { void PolicyHandlerTest::TestActivateApp(const uint32_t connection_key, const uint32_t correlation_id) { - utils::SharedPtr<application_manager_test::MockApplication> application1 = - utils::MakeShared<application_manager_test::MockApplication>(); + std::shared_ptr<application_manager_test::MockApplication> application1 = + std::make_shared<application_manager_test::MockApplication>(); EXPECT_CALL(app_manager_, ActivateApplication(_)) .WillRepeatedly(Return(true)); EXPECT_CALL(app_manager_, application(connection_key)) @@ -786,12 +791,12 @@ void PolicyHandlerTest::TestActivateApp(const uint32_t connection_key, .WillRepeatedly(ReturnRef(conn_handler)); EXPECT_CALL(conn_handler, get_session_observer()) .WillOnce(ReturnRef(mock_session_observer)); - utils::SharedPtr<usage_statistics_test::MockStatisticsManager> + std::shared_ptr<usage_statistics_test::MockStatisticsManager> mock_statistics_manager = - utils::MakeShared<usage_statistics_test::MockStatisticsManager>(); + std::make_shared<usage_statistics_test::MockStatisticsManager>(); UsageStatistics usage_stats( "0", - utils::SharedPtr<usage_statistics::StatisticsManager>( + std::shared_ptr<usage_statistics::StatisticsManager>( mock_statistics_manager)); EXPECT_CALL(*application1, usage_report()).WillOnce(ReturnRef(usage_stats)); EXPECT_CALL(*mock_policy_manager_, GetUserConsentForDevice(_)) @@ -834,7 +839,7 @@ TEST_F(PolicyHandlerTest, OnActivateApp) { TEST_F(PolicyHandlerTest, OnActivateApp_InvalidApp_UNSUCCESS) { // Arrange EnablePolicyAndPolicyManagerMock(); - utils::SharedPtr<application_manager_test::MockApplication> invalid_app; + std::shared_ptr<application_manager_test::MockApplication> invalid_app; EXPECT_CALL(app_manager_, application(kConnectionKey_)) .WillOnce(Return(invalid_app)); @@ -854,12 +859,12 @@ TEST_F(PolicyHandlerTest, OnActivateApp_AppIsRevoked_AppNotActivated) { permissions.appRevoked = true; #ifdef EXTERNAL_PROPRIETARY_MODE - utils::SharedPtr<usage_statistics_test::MockStatisticsManager> + std::shared_ptr<usage_statistics_test::MockStatisticsManager> mock_statistics_manager = - utils::MakeShared<usage_statistics_test::MockStatisticsManager>(); + std::make_shared<usage_statistics_test::MockStatisticsManager>(); UsageStatistics usage_stats( "0", - utils::SharedPtr<usage_statistics::StatisticsManager>( + std::shared_ptr<usage_statistics::StatisticsManager>( mock_statistics_manager)); EXPECT_CALL(*mock_app_, usage_report()).WillOnce(ReturnRef(usage_stats)); const std::string default_mac = "00:00:00:00:00:00"; @@ -893,8 +898,8 @@ void PolicyHandlerTest::OnPendingPermissionChangePrecondition( // Arrange EnablePolicyAndPolicyManagerMock(); - utils::SharedPtr<application_manager_test::MockApplication> application = - utils::MakeShared<application_manager_test::MockApplication>(); + std::shared_ptr<application_manager_test::MockApplication> application = + std::make_shared<application_manager_test::MockApplication>(); EXPECT_CALL(app_manager_, application_by_policy_id(kPolicyAppId_)) .WillOnce(Return(application)); @@ -916,7 +921,7 @@ TEST_F(PolicyHandlerTest, EXPECT_CALL(*mock_policy_manager_, GetAppPermissionsChanges(_)) .WillOnce(Return(permissions)); EXPECT_CALL(*mock_policy_manager_, - RemovePendingPermissionChanges(kPolicyAppId_)).Times(0); + RemovePendingPermissionChanges(kPolicyAppId_)); // Act policy_handler_.OnPendingPermissionChange(kPolicyAppId_); } @@ -954,6 +959,7 @@ TEST_F(PolicyHandlerTest, OnPendingPermissionChange_AppLimitedAndRevoked) { SetRegularState(_, mobile_apis::HMILevel::HMI_NONE, mobile_apis::AudioStreamingState::NOT_AUDIBLE, + mobile_apis::VideoStreamingState::NOT_STREAMABLE, true)); EXPECT_CALL(*mock_policy_manager_, GetAppPermissionsChanges(_)) @@ -991,8 +997,8 @@ TEST_F(PolicyHandlerTest, AppPermissions permissions(kPolicyAppId_); permissions.appUnauthorized = true; - NsSmartDeviceLink::NsSmartObjects::SmartObjectSPtr message = - utils::MakeShared<NsSmartDeviceLink::NsSmartObjects::SmartObject>(); + ns_smart_device_link::ns_smart_objects::SmartObjectSPtr message = + std::make_shared<ns_smart_device_link::ns_smart_objects::SmartObject>(); // Check expectations EXPECT_CALL(mock_message_helper_, SendOnAppPermissionsChangedNotification(kAppId1_, _, _)); @@ -1005,8 +1011,10 @@ TEST_F(PolicyHandlerTest, kAppId1_, mobile_api::AppInterfaceUnregisteredReason::APP_UNAUTHORIZED)) .WillOnce(Return(message)); - EXPECT_CALL(app_manager_, - ManageMobileCommand(_, commands::Command::ORIGIN_SDL)); + ON_CALL(app_manager_, GetRPCService()) + .WillByDefault(ReturnRef(mock_rpc_service_)); + EXPECT_CALL(mock_rpc_service_, + ManageMobileCommand(_, commands::Command::SOURCE_SDL)); EXPECT_CALL(*mock_policy_manager_, RemovePendingPermissionChanges(kPolicyAppId_)); @@ -1042,8 +1050,8 @@ TEST_F(PolicyHandlerTest, AppPermissions permissions(kPolicyAppId_); permissions.appUnauthorized = true; - NsSmartDeviceLink::NsSmartObjects::SmartObjectSPtr message = - utils::MakeShared<NsSmartDeviceLink::NsSmartObjects::SmartObject>(); + ns_smart_device_link::ns_smart_objects::SmartObjectSPtr message = + std::make_shared<ns_smart_device_link::ns_smart_objects::SmartObject>(); // Check expectations // Notification won't be sent EXPECT_CALL(mock_message_helper_, @@ -1057,8 +1065,10 @@ TEST_F(PolicyHandlerTest, kAppId1_, mobile_api::AppInterfaceUnregisteredReason::APP_UNAUTHORIZED)) .WillOnce(Return(message)); - EXPECT_CALL(app_manager_, - ManageMobileCommand(_, commands::Command::ORIGIN_SDL)); + ON_CALL(app_manager_, GetRPCService()) + .WillByDefault(ReturnRef(mock_rpc_service_)); + EXPECT_CALL(mock_rpc_service_, + ManageMobileCommand(_, commands::Command::SOURCE_SDL)); EXPECT_CALL(*mock_policy_manager_, RemovePendingPermissionChanges(kPolicyAppId_)); @@ -1158,8 +1168,8 @@ TEST_F(PolicyHandlerTest, OnCurrentDeviceIdUpdateRequired) { // Arrange EnablePolicyAndPolicyManagerMock(); // Check expectations - utils::SharedPtr<application_manager_test::MockApplication> application = - utils::MakeShared<application_manager_test::MockApplication>(); + std::shared_ptr<application_manager_test::MockApplication> application = + std::make_shared<application_manager_test::MockApplication>(); EXPECT_CALL(app_manager_, application_by_policy_id(kPolicyAppId_)) .WillOnce(Return(application)); EXPECT_CALL(app_manager_, connection_handler()) @@ -1261,8 +1271,8 @@ TEST_F(PolicyHandlerTest, GetAppName) { // Check expectations const CustomString app_name("my_mobile_app"); - utils::SharedPtr<application_manager_test::MockApplication> application = - utils::MakeShared<application_manager_test::MockApplication>(); + std::shared_ptr<application_manager_test::MockApplication> application = + std::make_shared<application_manager_test::MockApplication>(); EXPECT_CALL(*application, name()).WillOnce(ReturnRef(app_name)); EXPECT_CALL(app_manager_, application_by_policy_id(kPolicyAppId_)) @@ -1299,8 +1309,8 @@ TEST_F(PolicyHandlerTest, SendOnAppPermissionsChanged) { // Arrange EnablePolicyAndPolicyManagerMock(); - utils::SharedPtr<application_manager_test::MockApplication> application = - utils::MakeShared<application_manager_test::MockApplication>(); + std::shared_ptr<application_manager_test::MockApplication> application = + std::make_shared<application_manager_test::MockApplication>(); // Check expectations EXPECT_CALL(app_manager_, application_by_policy_id(kPolicyAppId_)) .WillOnce(Return(application)); @@ -1327,7 +1337,7 @@ TEST_F(PolicyHandlerTest, AddApplication) { EXPECT_CALL( *mock_policy_manager_, AddApplication(kPolicyAppId_, HmiTypes(policy_table::AHT_DEFAULT))) - .WillOnce(Return(utils::MakeShared<utils::CallNothing>())); + .WillOnce(Return(std::make_shared<utils::CallNothing>())); // Act policy_handler_.AddApplication(kPolicyAppId_, HmiTypes(policy_table::AHT_DEFAULT)); @@ -1377,10 +1387,30 @@ TEST_F(PolicyHandlerTest, IsRequestTypeAllowed) { mobile_apis::RequestType::eType type = mobile_apis::RequestType::eType::EMERGENCY; + + EXPECT_CALL(*mock_policy_manager_, GetAppRequestTypesState(kPolicyAppId_)) + .WillOnce(Return(policy::RequestType::State::AVAILABLE)); + EXPECT_CALL(*mock_policy_manager_, GetAppRequestTypes(kPolicyAppId_)) - .WillOnce(Return(std::vector<std::string>())); + .WillOnce(Return(std::vector<std::string>({"HTTP"}))); + // Act + EXPECT_FALSE(policy_handler_.IsRequestTypeAllowed(kPolicyAppId_, type)); +} + +TEST_F(PolicyHandlerTest, IsRequestSubTypeAllowed) { + // Arrange + EnablePolicyAndPolicyManagerMock(); + + // Check expectations + EXPECT_CALL(*mock_policy_manager_, GetAppRequestSubTypesState(kPolicyAppId_)) + .WillOnce(Return(policy::RequestSubType::State::AVAILABLE)); + EXPECT_CALL(*mock_policy_manager_, GetAppRequestSubTypes(kPolicyAppId_)) + .WillOnce( + Return(std::vector<std::string>({"fakeSubType", "fakeSubType2"}))); + // Act - policy_handler_.IsRequestTypeAllowed(kPolicyAppId_, type); + const std::string subtype = "fakeSubType"; + EXPECT_TRUE(policy_handler_.IsRequestSubTypeAllowed(kPolicyAppId_, subtype)); } TEST_F(PolicyHandlerTest, GetVehicleInfo) { @@ -1923,8 +1953,8 @@ TEST_F(PolicyHandlerTest, GetAppIdForSending_ExpectReturnAnyIdButNone) { // Arrange EnablePolicyAndPolicyManagerMock(); - utils::SharedPtr<application_manager_test::MockApplication> mock_app_in_full = - utils::MakeShared<application_manager_test::MockApplication>(); + std::shared_ptr<application_manager_test::MockApplication> mock_app_in_full = + std::make_shared<application_manager_test::MockApplication>(); const uint32_t app_in_full_id = 1; EXPECT_CALL(*mock_app_in_full, app_id()) .WillRepeatedly(Return(app_in_full_id)); @@ -1934,9 +1964,9 @@ TEST_F(PolicyHandlerTest, GetAppIdForSending_ExpectReturnAnyIdButNone) { test_app.insert(mock_app_in_full); - utils::SharedPtr<application_manager_test::MockApplication> + std::shared_ptr<application_manager_test::MockApplication> mock_app_in_limited = - utils::MakeShared<application_manager_test::MockApplication>(); + std::make_shared<application_manager_test::MockApplication>(); const uint32_t app_in_limited_id = 2; EXPECT_CALL(*mock_app_in_limited, app_id()) .WillRepeatedly(Return(app_in_limited_id)); @@ -1946,9 +1976,9 @@ TEST_F(PolicyHandlerTest, GetAppIdForSending_ExpectReturnAnyIdButNone) { test_app.insert(mock_app_in_limited); - utils::SharedPtr<application_manager_test::MockApplication> + std::shared_ptr<application_manager_test::MockApplication> mock_app_in_background = - utils::MakeShared<application_manager_test::MockApplication>(); + std::make_shared<application_manager_test::MockApplication>(); const uint32_t app_in_background_id = 3; EXPECT_CALL(*mock_app_in_background, app_id()) .WillRepeatedly(Return(app_in_background_id)); @@ -1958,8 +1988,8 @@ TEST_F(PolicyHandlerTest, GetAppIdForSending_ExpectReturnAnyIdButNone) { test_app.insert(mock_app_in_background); - utils::SharedPtr<application_manager_test::MockApplication> mock_app_in_none = - utils::MakeShared<application_manager_test::MockApplication>(); + std::shared_ptr<application_manager_test::MockApplication> mock_app_in_none = + std::make_shared<application_manager_test::MockApplication>(); const uint32_t app_in_none_id = 4; EXPECT_CALL(*mock_app_in_none, app_id()) .WillRepeatedly(Return(app_in_none_id)); @@ -1987,9 +2017,9 @@ TEST_F(PolicyHandlerTest, GetAppIdForSending_ExpectReturnAnyAppInNone) { // Arrange EnablePolicyAndPolicyManagerMock(); - utils::SharedPtr<application_manager_test::MockApplication> + std::shared_ptr<application_manager_test::MockApplication> mock_app_in_none_1 = - utils::MakeShared<application_manager_test::MockApplication>(); + std::make_shared<application_manager_test::MockApplication>(); const uint32_t app_in_none_id_1 = 1; EXPECT_CALL(*mock_app_in_none_1, app_id()) .WillRepeatedly(Return(app_in_none_id_1)); @@ -1999,9 +2029,9 @@ TEST_F(PolicyHandlerTest, GetAppIdForSending_ExpectReturnAnyAppInNone) { test_app.insert(mock_app_in_none_1); - utils::SharedPtr<application_manager_test::MockApplication> + std::shared_ptr<application_manager_test::MockApplication> mock_app_in_none_2 = - utils::MakeShared<application_manager_test::MockApplication>(); + std::make_shared<application_manager_test::MockApplication>(); const uint32_t app_in_none_id_2 = 2; EXPECT_CALL(*mock_app_in_none_2, app_id()) .WillRepeatedly(Return(app_in_none_id_2)); @@ -2079,8 +2109,8 @@ TEST_F(PolicyHandlerTest, // Expected to get 0 as application id so SDL does not have valid application // with such id EXPECT_CALL(app_manager_, application(0)) - .WillOnce(Return( - utils::SharedPtr<application_manager_test::MockApplication>())); + .WillOnce( + Return(std::shared_ptr<application_manager_test::MockApplication>())); EXPECT_FALSE(policy_handler_.SendMessageToSDK(msg, url)); } @@ -2092,8 +2122,8 @@ TEST_F(PolicyHandlerTest, CanUpdate) { TEST_F(PolicyHandlerTest, CanUpdate_TwoApplicationForSending_SUCCESS) { EnablePolicyAndPolicyManagerMock(); - utils::SharedPtr<application_manager_test::MockApplication> second_mock_app = - utils::MakeShared<application_manager_test::MockApplication>(); + std::shared_ptr<application_manager_test::MockApplication> second_mock_app = + std::make_shared<application_manager_test::MockApplication>(); EXPECT_CALL(*mock_app_, hmi_level()) .WillOnce(Return(mobile_apis::HMILevel::HMI_FULL)); |