From 84d8578272dae97203632f56cbeed8bdd78cfc6b Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Thu, 5 Jun 2025 14:46:46 +0530 Subject: [PATCH 01/44] Update test_MaintenanceManager.cpp --- Tests/L1Tests/tests/test_MaintenanceManager.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index 76698011..bea71592 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -767,6 +767,15 @@ TEST_F(ParseConfTest, FileDoesNotExist) { EXPECT_FALSE(result); } +TEST_F(MaintenanceManagerTest, SubscribeToDeviceInitializationEventReturnsTrueOnSuccess) { + // Setup any preconditions if needed + + // Call the method + bool result = WPEFramework::Plugin::subscribeToDeviceInitializationEvent(); + + // Check the expected result (assume true on success) + EXPECT_TRUE(result); +} TEST_F(ParseConfTest, KeyNotFound) { std::string value; From 2eb3b77d5f86a70edf09ad7908bd5879ac07d133 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Thu, 5 Jun 2025 14:55:43 +0530 Subject: [PATCH 02/44] Update test_MaintenanceManager.cpp --- Tests/L1Tests/tests/test_MaintenanceManager.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index bea71592..7402ad1a 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -663,6 +663,14 @@ TEST_F(MaintenanceManagerTest, GetServiceState_Unavailable) { EXPECT_EQ(result, Core::ERROR_UNAVAILABLE); } +TEST_F(MaintenanceManagerTest, SubscribeToDeviceInitializationEventReturnsTrueOnSuccess) { + + bool result = plugin_->subscribeToDeviceInitializationEvent(); + + // Check the expected result (assume true on success) + EXPECT_TRUE(result); +} + TEST_F(MaintenanceManagerTest, GetServiceState_Available) { PluginHost::IShell::state state; EXPECT_CALL(service, QueryInterfaceByCallsign("test")) @@ -767,15 +775,7 @@ TEST_F(ParseConfTest, FileDoesNotExist) { EXPECT_FALSE(result); } -TEST_F(MaintenanceManagerTest, SubscribeToDeviceInitializationEventReturnsTrueOnSuccess) { - // Setup any preconditions if needed - - // Call the method - bool result = WPEFramework::Plugin::subscribeToDeviceInitializationEvent(); - // Check the expected result (assume true on success) - EXPECT_TRUE(result); -} TEST_F(ParseConfTest, KeyNotFound) { std::string value; From b744a759999a35aba776b04493d7fe97ad628a16 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Thu, 5 Jun 2025 15:12:12 +0530 Subject: [PATCH 03/44] Update test_MaintenanceManager.cpp --- Tests/L1Tests/tests/test_MaintenanceManager.cpp | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index 7402ad1a..e3739f06 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -663,14 +663,6 @@ TEST_F(MaintenanceManagerTest, GetServiceState_Unavailable) { EXPECT_EQ(result, Core::ERROR_UNAVAILABLE); } -TEST_F(MaintenanceManagerTest, SubscribeToDeviceInitializationEventReturnsTrueOnSuccess) { - - bool result = plugin_->subscribeToDeviceInitializationEvent(); - - // Check the expected result (assume true on success) - EXPECT_TRUE(result); -} - TEST_F(MaintenanceManagerTest, GetServiceState_Available) { PluginHost::IShell::state state; EXPECT_CALL(service, QueryInterfaceByCallsign("test")) @@ -815,3 +807,10 @@ TEST(MaintenanceManagerModuleStatus, ModuleStatusToString) { } } #endif +TEST_F(MaintenanceManagerTest, SubscribeToDeviceInitializationEventReturnsTrueOnSuccess) { + + bool result = plugin_->subscribeToDeviceInitializationEvent(); + + // Check the expected result (assume true on success) + EXPECT_TRUE(result); +} From 4c5ca101ce1104be2d70a435865707f8b91bbff7 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Thu, 5 Jun 2025 15:22:22 +0530 Subject: [PATCH 04/44] Update MaintenanceManager.h --- MaintenanceManager/MaintenanceManager.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/MaintenanceManager/MaintenanceManager.h b/MaintenanceManager/MaintenanceManager.h index aab6c388..20fae5df 100644 --- a/MaintenanceManager/MaintenanceManager.h +++ b/MaintenanceManager/MaintenanceManager.h @@ -170,7 +170,11 @@ namespace WPEFramework class MaintenanceManager : public PluginHost::IPlugin, public PluginHost::JSONRPC { +#if defined(GTEST_ENABLE) + public: +#else private: +#endif typedef Core::JSON::String JString; typedef Core::JSON::ArrayType JStringArray; typedef Core::JSON::Boolean JBool; From 54105db8684a2614a6d7e6c2515470ad85296ff0 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Thu, 5 Jun 2025 15:23:47 +0530 Subject: [PATCH 05/44] Update CMakeLists.txt --- Tests/L1Tests/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Tests/L1Tests/CMakeLists.txt b/Tests/L1Tests/CMakeLists.txt index 5c6b36fa..0bd6062c 100755 --- a/Tests/L1Tests/CMakeLists.txt +++ b/Tests/L1Tests/CMakeLists.txt @@ -141,6 +141,8 @@ target_link_directories(${MODULE_NAME} PUBLIC ${CMAKE_INSTALL_PREFIX}/lib/wpefra target_link_libraries(${MODULE_NAME} ${TEST_LIB}) +target_compile_definitions(${MODULE_NAME} PRIVATE GTEST_ENABLE) + target_include_directories(${MODULE_NAME} PUBLIC $ From 9e1c9d85e71d21991526f4f303d56635a147c5ae Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Thu, 5 Jun 2025 16:24:44 +0530 Subject: [PATCH 06/44] Update test_MaintenanceManager.cpp --- Tests/L1Tests/tests/test_MaintenanceManager.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index e3739f06..359ce245 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -807,6 +807,15 @@ TEST(MaintenanceManagerModuleStatus, ModuleStatusToString) { } } #endif +TEST_F(MaintenanceManagerTest, InitTimerReturnsTrueOnSuccess) { + // Act + bool result = plugin_->maintenance_initTimer(); + + // Assert + EXPECT_TRUE(result); +} + + TEST_F(MaintenanceManagerTest, SubscribeToDeviceInitializationEventReturnsTrueOnSuccess) { bool result = plugin_->subscribeToDeviceInitializationEvent(); From 39ea8c43d4554de04d83b312ae6d2f5d67aa4322 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Fri, 6 Jun 2025 17:36:35 +0530 Subject: [PATCH 07/44] Update test_MaintenanceManager.cpp --- .../L1Tests/tests/test_MaintenanceManager.cpp | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index 359ce245..a38772e2 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -44,6 +44,12 @@ using ::testing::AssertionFailure; extern "C" FILE* __real_popen(const char* command, const char* type); extern "C" int __real_pclose(FILE* pipe); +class MockAuthServicePlugin : public WPEFramework::Exchange::IAuthService { +public: + MOCK_METHOD(uint32_t, GetActivationStatus, (ActivationStatusResult&), (override)); + // add other necessary mock methods if needed +}; + class MaintenanceManagerTest : public Test { protected: Core::ProxyType plugin_; @@ -53,6 +59,14 @@ class MaintenanceManagerTest : public Test { IarmBusImplMock *p_iarmBusImplMock = nullptr ; RfcApiImplMock *p_rfcApiImplMock = nullptr ; WrapsImplMock *p_wrapsImplMock = nullptr ; + MaintenanceManager manager; + + void SetUp() override { + // Assign mocks or initialize manager as needed + manager.m_authservicePlugin = &mockPlugin; + } + + MockAuthServicePlugin mockPlugin; MaintenanceManagerTest() : plugin_(Core::ProxyType::Create()) @@ -807,6 +821,51 @@ TEST(MaintenanceManagerModuleStatus, ModuleStatusToString) { } } #endif + +TEST_F(MaintenanceManagerTest, AuthServiceNotActivated_ReturnsInvalid) { + EXPECT_CALL(manager, getServiceState(_, _, _)) + .WillRepeatedly(Return(Core::ERROR_NONE)); + // Simulate plugin never being activated + // You may need to adjust this based on how getServiceState works + + EXPECT_CALL(manager, queryIAuthService()).Times(0); // should not be called + + std::string status = manager.checkActivatedStatus(); + EXPECT_EQ(status, "invalid"); +} + +// Test when AuthService plugin is activated and GetActivationStatus succeeds +TEST_F(MaintenanceManagerTest, AuthServiceActivated_ReturnsStatus) { + EXPECT_CALL(manager, getServiceState(_, _, _)) + .WillOnce(Return(Core::ERROR_NONE)); // plugin is active + + EXPECT_CALL(manager, queryIAuthService()).WillOnce(Return(true)); + + WPEFramework::Exchange::IAuthService::ActivationStatusResult result; + result.status = "activated"; + EXPECT_CALL(mockPlugin, GetActivationStatus(_)) + .WillOnce([&](auto& asRes) { + asRes.status = "activated"; + return Core::ERROR_NONE; + }); + + std::string status = manager.checkActivatedStatus(); + EXPECT_EQ(status, "activated"); +} + +// Test when AuthService is active but GetActivationStatus fails +TEST_F(MaintenanceManagerTest, GetActivationStatusFails_ReturnsInvalid) { + EXPECT_CALL(manager, getServiceState(_, _, _)) + .WillOnce(Return(Core::ERROR_NONE)); // plugin is active + + EXPECT_CALL(manager, queryIAuthService()).WillOnce(Return(true)); + EXPECT_CALL(mockPlugin, GetActivationStatus(_)) + .WillOnce(Return(Core::ERROR_GENERAL)); + + std::string status = manager.checkActivatedStatus(); + EXPECT_EQ(status, "invalid"); +} + TEST_F(MaintenanceManagerTest, InitTimerReturnsTrueOnSuccess) { // Act bool result = plugin_->maintenance_initTimer(); @@ -823,3 +882,6 @@ TEST_F(MaintenanceManagerTest, SubscribeToDeviceInitializationEventReturnsTrueOn // Check the expected result (assume true on success) EXPECT_TRUE(result); } + + + From 0372dedcf28d49875acf7befb91ea311bfd04598 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sat, 7 Jun 2025 14:46:54 +0530 Subject: [PATCH 08/44] Update test_MaintenanceManager.cpp --- Tests/L1Tests/tests/test_MaintenanceManager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index a38772e2..e3cb2701 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -59,7 +59,7 @@ class MaintenanceManagerTest : public Test { IarmBusImplMock *p_iarmBusImplMock = nullptr ; RfcApiImplMock *p_rfcApiImplMock = nullptr ; WrapsImplMock *p_wrapsImplMock = nullptr ; - MaintenanceManager manager; + WPEFramework::Plugin::MaintenanceManager manager; void SetUp() override { // Assign mocks or initialize manager as needed From 366eef4c4b50b9102b5fa4fa1cfc8c6317546e39 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sat, 7 Jun 2025 15:00:41 +0530 Subject: [PATCH 09/44] Update test_MaintenanceManager.cpp --- Tests/L1Tests/tests/test_MaintenanceManager.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index e3cb2701..7b420a61 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -46,6 +46,13 @@ extern "C" int __real_pclose(FILE* pipe); class MockAuthServicePlugin : public WPEFramework::Exchange::IAuthService { public: + MOCK_METHOD(void, AddRef, (), (const, override)); + MOCK_METHOD(uint32_t, Release, (), (const, override)); + MOCK_METHOD(void*, QueryInterface, (const uint32_t), (override)); + MOCK_METHOD(uint32_t, Register, (WPEFramework::Exchange::IAuthService::INotification*), (override)); + MOCK_METHOD(uint32_t, Unregister, (WPEFramework::Exchange::IAuthService::INotification*), (override)); + MOCK_METHOD(uint32_t, Configure, (), (override)); + MOCK_METHOD(uint32_t, GetInfo, (WPEFramework::Exchange::IAuthService::GetInfoResult&), (override)); MOCK_METHOD(uint32_t, GetActivationStatus, (ActivationStatusResult&), (override)); // add other necessary mock methods if needed }; From b86c8f798e9caca27d7d1e5719518f98e93b5fa4 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sat, 7 Jun 2025 15:17:02 +0530 Subject: [PATCH 10/44] Update test_MaintenanceManager.cpp --- Tests/L1Tests/tests/test_MaintenanceManager.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index 7b420a61..cbf97cf0 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -44,14 +44,21 @@ using ::testing::AssertionFailure; extern "C" FILE* __real_popen(const char* command, const char* type); extern "C" int __real_pclose(FILE* pipe); -class MockAuthServicePlugin : public WPEFramework::Exchange::IAuthService { +class MockMaintenanceManager : public WPEFramework::Plugin::MaintenanceManager { public: - MOCK_METHOD(void, AddRef, (), (const, override)); + MOCK_METHOD(uint32_t, getServiceState, (...), (override)); + //MOCK_METHOD(bool, queryIAuthService, (), (override)); MOCK_METHOD(uint32_t, Release, (), (const, override)); MOCK_METHOD(void*, QueryInterface, (const uint32_t), (override)); MOCK_METHOD(uint32_t, Register, (WPEFramework::Exchange::IAuthService::INotification*), (override)); MOCK_METHOD(uint32_t, Unregister, (WPEFramework::Exchange::IAuthService::INotification*), (override)); MOCK_METHOD(uint32_t, Configure, (), (override)); + MOCK_METHOD(uint32_t, GetInfo, (WPEFramework::Exchange::IAuthService::GetInfoResult&), (override)); + MOCK_METHOD(uint32_t, GetActivationStatus, (ActivationStatusResult&), (override)); + // Add other virtual methods you need to mock +}; +class MockAuthServicePlugin : public WPEFramework::Exchange::IAuthService { +public: MOCK_METHOD(uint32_t, GetInfo, (WPEFramework::Exchange::IAuthService::GetInfoResult&), (override)); MOCK_METHOD(uint32_t, GetActivationStatus, (ActivationStatusResult&), (override)); // add other necessary mock methods if needed @@ -66,7 +73,7 @@ class MaintenanceManagerTest : public Test { IarmBusImplMock *p_iarmBusImplMock = nullptr ; RfcApiImplMock *p_rfcApiImplMock = nullptr ; WrapsImplMock *p_wrapsImplMock = nullptr ; - WPEFramework::Plugin::MaintenanceManager manager; + MockMaintenanceManager manager; void SetUp() override { // Assign mocks or initialize manager as needed From 7b8ae511c8ba4fdc2773e72dd5a6e8cee88d12b5 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sat, 7 Jun 2025 15:34:30 +0530 Subject: [PATCH 11/44] Update test_MaintenanceManager.cpp --- Tests/L1Tests/tests/test_MaintenanceManager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index cbf97cf0..c2a97286 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -46,7 +46,7 @@ extern "C" int __real_pclose(FILE* pipe); class MockMaintenanceManager : public WPEFramework::Plugin::MaintenanceManager { public: - MOCK_METHOD(uint32_t, getServiceState, (...), (override)); + MOCK_METHOD(uint32_t, getServiceState, (PluginHost::IShell *shell, const std::string &callsign, PluginHost::IShell::state &state), (override)); //MOCK_METHOD(bool, queryIAuthService, (), (override)); MOCK_METHOD(uint32_t, Release, (), (const, override)); MOCK_METHOD(void*, QueryInterface, (const uint32_t), (override)); From 0cc2585515a51ee0180d1f098f83ddaaac6eae36 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sat, 7 Jun 2025 15:47:26 +0530 Subject: [PATCH 12/44] Update test_MaintenanceManager.cpp --- Tests/L1Tests/tests/test_MaintenanceManager.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index c2a97286..7f111b35 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -47,14 +47,15 @@ extern "C" int __real_pclose(FILE* pipe); class MockMaintenanceManager : public WPEFramework::Plugin::MaintenanceManager { public: MOCK_METHOD(uint32_t, getServiceState, (PluginHost::IShell *shell, const std::string &callsign, PluginHost::IShell::state &state), (override)); - //MOCK_METHOD(bool, queryIAuthService, (), (override)); + MOCK_METHOD(bool, queryIAuthService, (), (override)); MOCK_METHOD(uint32_t, Release, (), (const, override)); MOCK_METHOD(void*, QueryInterface, (const uint32_t), (override)); MOCK_METHOD(uint32_t, Register, (WPEFramework::Exchange::IAuthService::INotification*), (override)); MOCK_METHOD(uint32_t, Unregister, (WPEFramework::Exchange::IAuthService::INotification*), (override)); MOCK_METHOD(uint32_t, Configure, (), (override)); MOCK_METHOD(uint32_t, GetInfo, (WPEFramework::Exchange::IAuthService::GetInfoResult&), (override)); - MOCK_METHOD(uint32_t, GetActivationStatus, (ActivationStatusResult&), (override)); + //MOCK_METHOD(uint32_t, GetActivationStatus, (ActivationStatusResult&), (override)); + MOCK_METHOD(uint32_t, GetActivationStatus, (WPEFramework::Exchange::IAuthService::ActivationStatusResult&), (override)); // Add other virtual methods you need to mock }; class MockAuthServicePlugin : public WPEFramework::Exchange::IAuthService { From 1be3618f7216b55a20669d259338c91c4d2a746e Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sat, 7 Jun 2025 15:57:38 +0530 Subject: [PATCH 13/44] Update test_MaintenanceManager.cpp --- Tests/L1Tests/tests/test_MaintenanceManager.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index 7f111b35..5a913a7b 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -40,6 +40,7 @@ using ::testing::Gt; using ::testing::AssertionResult; using ::testing::AssertionSuccess; using ::testing::AssertionFailure; +using ::testing::Return; extern "C" FILE* __real_popen(const char* command, const char* type); extern "C" int __real_pclose(FILE* pipe); From d5b3fe7d88f538b6104cc6e4e580689ac216aa3f Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sat, 7 Jun 2025 20:28:45 +0530 Subject: [PATCH 14/44] Update test_MaintenanceManager.cpp --- Tests/L1Tests/tests/test_MaintenanceManager.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index 5a913a7b..de0b49d8 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -838,6 +838,20 @@ TEST(MaintenanceManagerModuleStatus, ModuleStatusToString) { } #endif + +TEST_F(MaintenanceManagerTest, AuthServiceNotActivated_ReturnsInvalid) { + //EXPECT_CALL(manager, getServiceState(_, _, _)) + //.WillRepeatedly(Return(Core::ERROR_NONE)); + // Simulate plugin never being activated + // You may need to adjust this based on how getServiceState works + + //EXPECT_CALL(manager, queryIAuthService()).Times(0); // should not be called + + std::string status = plugin_->checkActivatedStatus(); + EXPECT_EQ(status, "invalid"); +} + + TEST_F(MaintenanceManagerTest, AuthServiceNotActivated_ReturnsInvalid) { EXPECT_CALL(manager, getServiceState(_, _, _)) .WillRepeatedly(Return(Core::ERROR_NONE)); From 6932b7d8d9ee20ef46e594c32d1a1a536c4ed4e5 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sat, 7 Jun 2025 20:40:28 +0530 Subject: [PATCH 15/44] Update test_MaintenanceManager.cpp --- Tests/L1Tests/tests/test_MaintenanceManager.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index de0b49d8..af3d71c5 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -44,7 +44,7 @@ using ::testing::Return; extern "C" FILE* __real_popen(const char* command, const char* type); extern "C" int __real_pclose(FILE* pipe); - +/* class MockMaintenanceManager : public WPEFramework::Plugin::MaintenanceManager { public: MOCK_METHOD(uint32_t, getServiceState, (PluginHost::IShell *shell, const std::string &callsign, PluginHost::IShell::state &state), (override)); @@ -65,7 +65,7 @@ class MockAuthServicePlugin : public WPEFramework::Exchange::IAuthService { MOCK_METHOD(uint32_t, GetActivationStatus, (ActivationStatusResult&), (override)); // add other necessary mock methods if needed }; - +*/ class MaintenanceManagerTest : public Test { protected: Core::ProxyType plugin_; @@ -75,14 +75,15 @@ class MaintenanceManagerTest : public Test { IarmBusImplMock *p_iarmBusImplMock = nullptr ; RfcApiImplMock *p_rfcApiImplMock = nullptr ; WrapsImplMock *p_wrapsImplMock = nullptr ; - MockMaintenanceManager manager; +/* +MockMaintenanceManager manager; void SetUp() override { // Assign mocks or initialize manager as needed manager.m_authservicePlugin = &mockPlugin; } - MockAuthServicePlugin mockPlugin; + MockAuthServicePlugin mockPlugin; */ MaintenanceManagerTest() : plugin_(Core::ProxyType::Create()) From 2366993c86fe864a7a3e38b5bca34b817cad7408 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sat, 7 Jun 2025 20:49:20 +0530 Subject: [PATCH 16/44] Update test_MaintenanceManager.cpp --- Tests/L1Tests/tests/test_MaintenanceManager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index af3d71c5..1013abd8 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -851,7 +851,7 @@ TEST_F(MaintenanceManagerTest, AuthServiceNotActivated_ReturnsInvalid) { std::string status = plugin_->checkActivatedStatus(); EXPECT_EQ(status, "invalid"); } - +/* TEST_F(MaintenanceManagerTest, AuthServiceNotActivated_ReturnsInvalid) { EXPECT_CALL(manager, getServiceState(_, _, _)) @@ -896,7 +896,7 @@ TEST_F(MaintenanceManagerTest, GetActivationStatusFails_ReturnsInvalid) { std::string status = manager.checkActivatedStatus(); EXPECT_EQ(status, "invalid"); } - +*/ TEST_F(MaintenanceManagerTest, InitTimerReturnsTrueOnSuccess) { // Act bool result = plugin_->maintenance_initTimer(); From 55ce4a718d2e64d97ec2b8a95b6b674c4b967498 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sat, 7 Jun 2025 21:43:51 +0530 Subject: [PATCH 17/44] Update test_MaintenanceManager.cpp --- .../L1Tests/tests/test_MaintenanceManager.cpp | 140 ++++-------------- 1 file changed, 32 insertions(+), 108 deletions(-) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index 1013abd8..a49375f9 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -40,32 +40,13 @@ using ::testing::Gt; using ::testing::AssertionResult; using ::testing::AssertionSuccess; using ::testing::AssertionFailure; -using ::testing::Return; extern "C" FILE* __real_popen(const char* command, const char* type); extern "C" int __real_pclose(FILE* pipe); -/* -class MockMaintenanceManager : public WPEFramework::Plugin::MaintenanceManager { -public: - MOCK_METHOD(uint32_t, getServiceState, (PluginHost::IShell *shell, const std::string &callsign, PluginHost::IShell::state &state), (override)); - MOCK_METHOD(bool, queryIAuthService, (), (override)); - MOCK_METHOD(uint32_t, Release, (), (const, override)); - MOCK_METHOD(void*, QueryInterface, (const uint32_t), (override)); - MOCK_METHOD(uint32_t, Register, (WPEFramework::Exchange::IAuthService::INotification*), (override)); - MOCK_METHOD(uint32_t, Unregister, (WPEFramework::Exchange::IAuthService::INotification*), (override)); - MOCK_METHOD(uint32_t, Configure, (), (override)); - MOCK_METHOD(uint32_t, GetInfo, (WPEFramework::Exchange::IAuthService::GetInfoResult&), (override)); - //MOCK_METHOD(uint32_t, GetActivationStatus, (ActivationStatusResult&), (override)); - MOCK_METHOD(uint32_t, GetActivationStatus, (WPEFramework::Exchange::IAuthService::ActivationStatusResult&), (override)); - // Add other virtual methods you need to mock -}; -class MockAuthServicePlugin : public WPEFramework::Exchange::IAuthService { -public: - MOCK_METHOD(uint32_t, GetInfo, (WPEFramework::Exchange::IAuthService::GetInfoResult&), (override)); - MOCK_METHOD(uint32_t, GetActivationStatus, (ActivationStatusResult&), (override)); - // add other necessary mock methods if needed -}; -*/ + + + + class MaintenanceManagerTest : public Test { protected: Core::ProxyType plugin_; @@ -75,15 +56,6 @@ class MaintenanceManagerTest : public Test { IarmBusImplMock *p_iarmBusImplMock = nullptr ; RfcApiImplMock *p_rfcApiImplMock = nullptr ; WrapsImplMock *p_wrapsImplMock = nullptr ; -/* -MockMaintenanceManager manager; - - void SetUp() override { - // Assign mocks or initialize manager as needed - manager.m_authservicePlugin = &mockPlugin; - } - - MockAuthServicePlugin mockPlugin; */ MaintenanceManagerTest() : plugin_(Core::ProxyType::Create()) @@ -126,6 +98,22 @@ MockMaintenanceManager manager; } }; + +class MaintenanceManagerCheckActivatedStatusTest : public MaintenanceManagerTest { +protected: + NiceMock mockService_; + NiceMock mockAuthServicePlugin_; + + MaintenanceManagerCheckActivatedStatusTest() { + // Assign mock plugins + plugin_->m_service = &mockService_; + plugin_->m_authservicePlugin = &mockAuthServicePlugin_; + } + + virtual ~MaintenanceManagerCheckActivatedStatusTest() override {} +}; + + static AssertionResult isValidCtrlmRcuIarmEvent(IARM_EventId_t ctrlmRcuIarmEventId) { switch (ctrlmRcuIarmEventId) { @@ -799,7 +787,6 @@ TEST_F(ParseConfTest, FileDoesNotExist) { EXPECT_FALSE(result); } - TEST_F(ParseConfTest, KeyNotFound) { std::string value; bool result = WPEFramework::Plugin::parseConfigFile(testFilePath.c_str(), "nonexistentKey", value); @@ -838,81 +825,18 @@ TEST(MaintenanceManagerModuleStatus, ModuleStatusToString) { } } #endif - - -TEST_F(MaintenanceManagerTest, AuthServiceNotActivated_ReturnsInvalid) { - //EXPECT_CALL(manager, getServiceState(_, _, _)) - //.WillRepeatedly(Return(Core::ERROR_NONE)); - // Simulate plugin never being activated - // You may need to adjust this based on how getServiceState works - - //EXPECT_CALL(manager, queryIAuthService()).Times(0); // should not be called - - std::string status = plugin_->checkActivatedStatus(); - EXPECT_EQ(status, "invalid"); -} -/* - -TEST_F(MaintenanceManagerTest, AuthServiceNotActivated_ReturnsInvalid) { - EXPECT_CALL(manager, getServiceState(_, _, _)) - .WillRepeatedly(Return(Core::ERROR_NONE)); - // Simulate plugin never being activated - // You may need to adjust this based on how getServiceState works - - EXPECT_CALL(manager, queryIAuthService()).Times(0); // should not be called - - std::string status = manager.checkActivatedStatus(); - EXPECT_EQ(status, "invalid"); -} - -// Test when AuthService plugin is activated and GetActivationStatus succeeds -TEST_F(MaintenanceManagerTest, AuthServiceActivated_ReturnsStatus) { - EXPECT_CALL(manager, getServiceState(_, _, _)) - .WillOnce(Return(Core::ERROR_NONE)); // plugin is active - - EXPECT_CALL(manager, queryIAuthService()).WillOnce(Return(true)); - - WPEFramework::Exchange::IAuthService::ActivationStatusResult result; - result.status = "activated"; - EXPECT_CALL(mockPlugin, GetActivationStatus(_)) - .WillOnce([&](auto& asRes) { - asRes.status = "activated"; - return Core::ERROR_NONE; - }); - - std::string status = manager.checkActivatedStatus(); - EXPECT_EQ(status, "activated"); -} - -// Test when AuthService is active but GetActivationStatus fails -TEST_F(MaintenanceManagerTest, GetActivationStatusFails_ReturnsInvalid) { - EXPECT_CALL(manager, getServiceState(_, _, _)) - .WillOnce(Return(Core::ERROR_NONE)); // plugin is active - - EXPECT_CALL(manager, queryIAuthService()).WillOnce(Return(true)); - EXPECT_CALL(mockPlugin, GetActivationStatus(_)) - .WillOnce(Return(Core::ERROR_GENERAL)); - - std::string status = manager.checkActivatedStatus(); - EXPECT_EQ(status, "invalid"); -} -*/ -TEST_F(MaintenanceManagerTest, InitTimerReturnsTrueOnSuccess) { - // Act - bool result = plugin_->maintenance_initTimer(); - - // Assert - EXPECT_TRUE(result); -} - - -TEST_F(MaintenanceManagerTest, SubscribeToDeviceInitializationEventReturnsTrueOnSuccess) { +TEST_F(MaintenanceManagerCheckActivatedStatusTest, ServiceNotActivated) { + PluginHost::IShell::state state = PluginHost::IShell::state::UNAVAILABLE; - bool result = plugin_->subscribeToDeviceInitializationEvent(); - - // Check the expected result (assume true on success) - EXPECT_TRUE(result); -} - + // Mock getServiceState to simulate UNAVAILABLE state + EXPECT_CALL(mockService_, getServiceState(_, _, _)) + .WillRepeatedly(DoAll(::testing::SetArgReferee<2>(state), Return(Core::ERROR_NONE))); + // Mock queryIAuthService to return false (no interface) + EXPECT_CALL(mockService_, queryIAuthService()) + .WillOnce(Return(false)); + // Test: Plugin is not activated after retries, expect "invalid" + std::string result = plugin_->checkActivatedStatus(); + EXPECT_EQ(result, "invalid"); +} From c3d6ba21f6acabf4e9b5eccee15dc3938f354a2e Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sat, 7 Jun 2025 22:08:45 +0530 Subject: [PATCH 18/44] Update test_MaintenanceManager.cpp --- Tests/L1Tests/tests/test_MaintenanceManager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index a49375f9..d11344b0 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -102,7 +102,7 @@ class MaintenanceManagerTest : public Test { class MaintenanceManagerCheckActivatedStatusTest : public MaintenanceManagerTest { protected: NiceMock mockService_; - NiceMock mockAuthServicePlugin_; + NiceMock mockAuthServicePlugin_; MaintenanceManagerCheckActivatedStatusTest() { // Assign mock plugins From a9459b58e9e196f209a97fcc69dec509a54b0a7a Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sat, 7 Jun 2025 22:30:49 +0530 Subject: [PATCH 19/44] Update test_MaintenanceManager.cpp --- .../L1Tests/tests/test_MaintenanceManager.cpp | 42 ++++++++++++++++++- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index d11344b0..1f5ad438 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -45,7 +45,45 @@ extern "C" FILE* __real_popen(const char* command, const char* type); extern "C" int __real_pclose(FILE* pipe); - +class MockShell : public WPEFramework::PluginHost::IShell { +public: + MOCK_METHOD(void, EnableWebServer, (const string&, const string&), (override)); + MOCK_METHOD(void, DisableWebServer, (), (override)); + MOCK_METHOD(string, Model, (), (const, override)); + MOCK_METHOD(bool, Background, (), (const, override)); + MOCK_METHOD(string, Accessor, (), (const, override)); + MOCK_METHOD(string, WebPrefix, (), (const, override)); + MOCK_METHOD(string, Locator, (), (const, override)); + MOCK_METHOD(string, ClassName, (), (const, override)); + MOCK_METHOD(string, Versions, (), (const, override)); + MOCK_METHOD(string, Callsign, (), (const, override)); + MOCK_METHOD(string, PersistentPath, (), (const, override)); + MOCK_METHOD(string, VolatilePath, (), (const, override)); + MOCK_METHOD(string, DataPath, (), (const, override)); + MOCK_METHOD(string, ProxyStubPath, (), (const, override)); + MOCK_METHOD(string, SystemPath, (), (const, override)); + MOCK_METHOD(string, SystemRootPath, (), (const, override)); + MOCK_METHOD(Core::hresult, SystemRootPath, (const string&), (override)); + MOCK_METHOD(PluginHost::IShell::startup, Startup, (), (const, override)); + MOCK_METHOD(Core::hresult, Startup, (const PluginHost::IShell::startup), (override)); + MOCK_METHOD(string, Substitute, (const string&), (const, override)); + MOCK_METHOD(bool, Resumed, (), (const, override)); + MOCK_METHOD(Core::hresult, Resumed, (const bool), (override)); + MOCK_METHOD(string, HashKey, (), (const, override)); + MOCK_METHOD(string, ConfigLine, (), (const, override)); + MOCK_METHOD(Core::hresult, ConfigLine, (const string&), (override)); + MOCK_METHOD(Core::hresult, Metadata, (string&), (const, override)); + MOCK_METHOD(bool, IsSupported, (const uint8_t), (const, override)); + MOCK_METHOD(PluginHost::IShell::ISubSystem*, SubSystems, (), (override)); + MOCK_METHOD(void, Notify, (const string&), (override)); + MOCK_METHOD(void, Register, (PluginHost::IPlugin::INotification*), (override)); + MOCK_METHOD(void, Unregister, (PluginHost::IPlugin::INotification*), (override)); + MOCK_METHOD(PluginHost::IShell::state, State, (), (const, override)); + MOCK_METHOD(void*, QueryInterfaceByCallsign, (const uint32_t, const string&), (override)); + MOCK_METHOD(void*, QueryInterface, (const uint32_t), (override)); + MOCK_METHOD(void, AddRef, (), (const, override)); + MOCK_METHOD(uint32_t, Release, (), (const, override)); +}; class MaintenanceManagerTest : public Test { protected: @@ -101,7 +139,7 @@ class MaintenanceManagerTest : public Test { class MaintenanceManagerCheckActivatedStatusTest : public MaintenanceManagerTest { protected: - NiceMock mockService_; + NiceMock mockService_; NiceMock mockAuthServicePlugin_; MaintenanceManagerCheckActivatedStatusTest() { From f72da60161cc6688cb0ecebdc6c3caf8a97cceed Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sat, 7 Jun 2025 22:44:15 +0530 Subject: [PATCH 20/44] Update test_MaintenanceManager.cpp --- Tests/L1Tests/tests/test_MaintenanceManager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index 1f5ad438..3664c6b5 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -74,7 +74,7 @@ class MockShell : public WPEFramework::PluginHost::IShell { MOCK_METHOD(Core::hresult, ConfigLine, (const string&), (override)); MOCK_METHOD(Core::hresult, Metadata, (string&), (const, override)); MOCK_METHOD(bool, IsSupported, (const uint8_t), (const, override)); - MOCK_METHOD(PluginHost::IShell::ISubSystem*, SubSystems, (), (override)); + //MOCK_METHOD(PluginHost::IShell::ISubSystem*, SubSystems, (), (override)); MOCK_METHOD(void, Notify, (const string&), (override)); MOCK_METHOD(void, Register, (PluginHost::IPlugin::INotification*), (override)); MOCK_METHOD(void, Unregister, (PluginHost::IPlugin::INotification*), (override)); From f78a028710be9d3535ce4c85b5737e5c5c653b26 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sat, 7 Jun 2025 22:59:10 +0530 Subject: [PATCH 21/44] Update test_MaintenanceManager.cpp --- Tests/L1Tests/tests/test_MaintenanceManager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index 3664c6b5..eb091726 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -139,7 +139,7 @@ class MaintenanceManagerTest : public Test { class MaintenanceManagerCheckActivatedStatusTest : public MaintenanceManagerTest { protected: - NiceMock mockService_; + NiceMock mockService_; NiceMock mockAuthServicePlugin_; MaintenanceManagerCheckActivatedStatusTest() { From 21ce16a0b0ba9a10b28f346bdf643eeaf7c434f9 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sat, 7 Jun 2025 23:01:52 +0530 Subject: [PATCH 22/44] Update test_MaintenanceManager.cpp --- Tests/L1Tests/tests/test_MaintenanceManager.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index eb091726..5bd0134e 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -40,6 +40,8 @@ using ::testing::Gt; using ::testing::AssertionResult; using ::testing::AssertionSuccess; using ::testing::AssertionFailure; +using ::testing::DoAll; +using ::testing::Return; extern "C" FILE* __real_popen(const char* command, const char* type); extern "C" int __real_pclose(FILE* pipe); From 213b1df55003aba7216e3371023dea47f66cd68a Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sat, 7 Jun 2025 23:11:55 +0530 Subject: [PATCH 23/44] Update test_MaintenanceManager.cpp --- Tests/L1Tests/tests/test_MaintenanceManager.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index 5bd0134e..432e0437 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -85,6 +85,16 @@ class MockShell : public WPEFramework::PluginHost::IShell { MOCK_METHOD(void*, QueryInterface, (const uint32_t), (override)); MOCK_METHOD(void, AddRef, (), (const, override)); MOCK_METHOD(uint32_t, Release, (), (const, override)); + + MOCK_METHOD(std::string, PluginPath, (), (const, override)); + MOCK_METHOD(ISubSystem*, SubSystems, (), (override)); + MOCK_METHOD(Core::hresult, Activate, (const reason), (override)); + MOCK_METHOD(Core::hresult, Deactivate, (const reason), (override)); + MOCK_METHOD(Core::hresult, Unavailable, (const reason), (override)); + MOCK_METHOD(Core::hresult, Hibernate, (const uint32_t), (override)); + MOCK_METHOD(reason, Reason, (), (const, override)); + MOCK_METHOD(uint32_t, Submit, (const uint32_t, const Core::ProxyType&), (override)); + MOCK_METHOD(ICOMLink*, COMLink, (), (override)); }; class MaintenanceManagerTest : public Test { From af9b5f937a5b6d1fd6d89b3096a5452bef548911 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sat, 7 Jun 2025 23:19:44 +0530 Subject: [PATCH 24/44] Update test_MaintenanceManager.cpp --- Tests/L1Tests/tests/test_MaintenanceManager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index 432e0437..941bf5e1 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -87,7 +87,7 @@ class MockShell : public WPEFramework::PluginHost::IShell { MOCK_METHOD(uint32_t, Release, (), (const, override)); MOCK_METHOD(std::string, PluginPath, (), (const, override)); - MOCK_METHOD(ISubSystem*, SubSystems, (), (override)); + //MOCK_METHOD(ISubSystem*, SubSystems, (), (override)); MOCK_METHOD(Core::hresult, Activate, (const reason), (override)); MOCK_METHOD(Core::hresult, Deactivate, (const reason), (override)); MOCK_METHOD(Core::hresult, Unavailable, (const reason), (override)); From 080f15b7ecc9a7daa1a3ade9f0312f9c7c2ae1b8 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sat, 7 Jun 2025 23:21:42 +0530 Subject: [PATCH 25/44] Update test_MaintenanceManager.cpp --- Tests/L1Tests/tests/test_MaintenanceManager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index 941bf5e1..7c720d2e 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -87,7 +87,7 @@ class MockShell : public WPEFramework::PluginHost::IShell { MOCK_METHOD(uint32_t, Release, (), (const, override)); MOCK_METHOD(std::string, PluginPath, (), (const, override)); - //MOCK_METHOD(ISubSystem*, SubSystems, (), (override)); + //MOCK_METHOD(WPEFramework::PluginHost::ISubSystem*, SubSystems, (), (override)); MOCK_METHOD(Core::hresult, Activate, (const reason), (override)); MOCK_METHOD(Core::hresult, Deactivate, (const reason), (override)); MOCK_METHOD(Core::hresult, Unavailable, (const reason), (override)); From d5b844014b723e2beb594ec2389a87003a48c0c3 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sat, 7 Jun 2025 23:35:02 +0530 Subject: [PATCH 26/44] Update test_MaintenanceManager.cpp --- .../L1Tests/tests/test_MaintenanceManager.cpp | 45 +++++++++++++------ 1 file changed, 32 insertions(+), 13 deletions(-) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index 7c720d2e..ee2de05c 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -65,18 +65,18 @@ class MockShell : public WPEFramework::PluginHost::IShell { MOCK_METHOD(string, ProxyStubPath, (), (const, override)); MOCK_METHOD(string, SystemPath, (), (const, override)); MOCK_METHOD(string, SystemRootPath, (), (const, override)); - MOCK_METHOD(Core::hresult, SystemRootPath, (const string&), (override)); + MOCK_METHOD(WPEFramework::Core::hresult, SystemRootPath, (const string&), (override)); MOCK_METHOD(PluginHost::IShell::startup, Startup, (), (const, override)); - MOCK_METHOD(Core::hresult, Startup, (const PluginHost::IShell::startup), (override)); + MOCK_METHOD(WPEFramework::Core::hresult, Startup, (const PluginHost::IShell::startup), (override)); MOCK_METHOD(string, Substitute, (const string&), (const, override)); MOCK_METHOD(bool, Resumed, (), (const, override)); - MOCK_METHOD(Core::hresult, Resumed, (const bool), (override)); + MOCK_METHOD(WPEFramework::Core::hresult, Resumed, (const bool), (override)); MOCK_METHOD(string, HashKey, (), (const, override)); MOCK_METHOD(string, ConfigLine, (), (const, override)); - MOCK_METHOD(Core::hresult, ConfigLine, (const string&), (override)); - MOCK_METHOD(Core::hresult, Metadata, (string&), (const, override)); + MOCK_METHOD(WPEFramework::Core::hresult, ConfigLine, (const string&), (override)); + MOCK_METHOD(WPEFramework::Core::hresult, Metadata, (string&), (const, override)); MOCK_METHOD(bool, IsSupported, (const uint8_t), (const, override)); - //MOCK_METHOD(PluginHost::IShell::ISubSystem*, SubSystems, (), (override)); + MOCK_METHOD(WPEFramework::PluginHost::ISubSystem*, SubSystems, (), (override)); MOCK_METHOD(void, Notify, (const string&), (override)); MOCK_METHOD(void, Register, (PluginHost::IPlugin::INotification*), (override)); MOCK_METHOD(void, Unregister, (PluginHost::IPlugin::INotification*), (override)); @@ -85,16 +85,35 @@ class MockShell : public WPEFramework::PluginHost::IShell { MOCK_METHOD(void*, QueryInterface, (const uint32_t), (override)); MOCK_METHOD(void, AddRef, (), (const, override)); MOCK_METHOD(uint32_t, Release, (), (const, override)); - MOCK_METHOD(std::string, PluginPath, (), (const, override)); - //MOCK_METHOD(WPEFramework::PluginHost::ISubSystem*, SubSystems, (), (override)); - MOCK_METHOD(Core::hresult, Activate, (const reason), (override)); - MOCK_METHOD(Core::hresult, Deactivate, (const reason), (override)); - MOCK_METHOD(Core::hresult, Unavailable, (const reason), (override)); - MOCK_METHOD(Core::hresult, Hibernate, (const uint32_t), (override)); + MOCK_METHOD(WPEFramework::Core::hresult, Activate, (const reason), (override)); + MOCK_METHOD(WPEFramework::Core::hresult, Deactivate, (const reason), (override)); + MOCK_METHOD(WPEFramework::Core::hresult, Unavailable, (const reason), (override)); + MOCK_METHOD(WPEFramework::Core::hresult, Hibernate, (const uint32_t), (override)); MOCK_METHOD(reason, Reason, (), (const, override)); MOCK_METHOD(uint32_t, Submit, (const uint32_t, const Core::ProxyType&), (override)); MOCK_METHOD(ICOMLink*, COMLink, (), (override)); + // Add any additional methods required by your build here. +}; + +class MockAuthService : public WPEFramework::Exchange::IAuthService { +public: + MOCK_METHOD(uint32_t, GetActivationStatus, (ActivationStatusResult&), (override)); + MOCK_METHOD(uint32_t, SetActivationStatus, (const std::string&, SuccessMsgResult&), (override)); + MOCK_METHOD(uint32_t, ClearAuthToken, (SuccessMsgResult&), (override)); + MOCK_METHOD(uint32_t, ClearSessionToken, (SuccessMsgResult&), (override)); + MOCK_METHOD(uint32_t, ClearServiceAccessToken, (SuccessMsgResult&), (override)); + MOCK_METHOD(uint32_t, ClearLostAndFoundAccessToken, (SuccessMsgResult&), (override)); + MOCK_METHOD(uint32_t, ClearServiceAccountId, (SuccessMsgResult&), (override)); + MOCK_METHOD(uint32_t, ClearCustomProperties, (SuccessMsgResult&), (override)); + MOCK_METHOD(uint32_t, GetCustomProperties, (std::string&, bool&), (override)); + MOCK_METHOD(uint32_t, SetCustomProperties, (const std::string&, bool&), (override)); + MOCK_METHOD(uint32_t, GetAlternateIds, (std::string&, std::string&, bool&), (override)); + MOCK_METHOD(uint32_t, SetAlternateIds, (const std::string&, std::string&, bool&), (override)); + MOCK_METHOD(uint32_t, GetTransitionData, (std::string&, std::string&, bool&), (override)); + MOCK_METHOD(void, AddRef, (), (const, override)); + MOCK_METHOD(uint32_t, Release, (), (const, override)); + // Add any additional pure virtuals from base interfaces if compiler asks for them. }; class MaintenanceManagerTest : public Test { @@ -152,7 +171,7 @@ class MaintenanceManagerTest : public Test { class MaintenanceManagerCheckActivatedStatusTest : public MaintenanceManagerTest { protected: NiceMock mockService_; - NiceMock mockAuthServicePlugin_; + NiceMock mockAuthServicePlugin_; MaintenanceManagerCheckActivatedStatusTest() { // Assign mock plugins From 82d1288493684835590ec1caf4cdefabd2068272 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sat, 7 Jun 2025 23:45:33 +0530 Subject: [PATCH 27/44] Update test_MaintenanceManager.cpp --- Tests/L1Tests/tests/test_MaintenanceManager.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index ee2de05c..683008cc 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -113,6 +113,14 @@ class MockAuthService : public WPEFramework::Exchange::IAuthService { MOCK_METHOD(uint32_t, GetTransitionData, (std::string&, std::string&, bool&), (override)); MOCK_METHOD(void, AddRef, (), (const, override)); MOCK_METHOD(uint32_t, Release, (), (const, override)); + MOCK_METHOD(void*, QueryInterface, (uint32_t), (override)); +MOCK_METHOD(uint32_t, Register, (IAuthService::INotification*), (override)); +MOCK_METHOD(uint32_t, Unregister, (IAuthService::INotification*), (override)); +MOCK_METHOD(uint32_t, Configure, (), (override)); +MOCK_METHOD(uint32_t, GetInfo, (GetInfoResult&), (override)); +MOCK_METHOD(uint32_t, GetDeviceInfo, (GetDeviceInfoResult&), (override)); +MOCK_METHOD(uint32_t, GetDeviceId, (GetDeviceIdResult&), (override)); +// ... and so on, for all pure virtuals // Add any additional pure virtuals from base interfaces if compiler asks for them. }; From a9b0cd31a8da08af48038a8dac3677649200e1cc Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sat, 7 Jun 2025 23:57:17 +0530 Subject: [PATCH 28/44] Update test_MaintenanceManager.cpp --- .../L1Tests/tests/test_MaintenanceManager.cpp | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index 683008cc..1248d096 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -120,6 +120,32 @@ MOCK_METHOD(uint32_t, Configure, (), (override)); MOCK_METHOD(uint32_t, GetInfo, (GetInfoResult&), (override)); MOCK_METHOD(uint32_t, GetDeviceInfo, (GetDeviceInfoResult&), (override)); MOCK_METHOD(uint32_t, GetDeviceId, (GetDeviceIdResult&), (override)); + + +MOCK_METHOD(uint32_t, SetDeviceId, (const std::string&, SuccessMsgResult&), (override)); +MOCK_METHOD(uint32_t, SetPartnerId, (const std::string&, SetPartnerIdResult&), (override)); +MOCK_METHOD(uint32_t, GetAuthToken, (const bool, const bool, GetAuthTokenResult&), (override)); +MOCK_METHOD(uint32_t, GetSessionToken, (GetSessionTokenResult&), (override)); +MOCK_METHOD(uint32_t, SetSessionToken, (const int32_t&, const std::string&, uint32_t, const std::string&, const std::string&, SuccessMsgResult&), (override)); +MOCK_METHOD(uint32_t, GetServiceAccessToken, (GetServiceAccessTokenResult&), (override)); +MOCK_METHOD(uint32_t, SetServiceAccessToken, (const int32_t&, const std::string&, uint32_t, SuccessMsgResult&), (override)); +MOCK_METHOD(uint32_t, GetServiceAccountId, (GetServiceAccountIdResult&), (override)); +MOCK_METHOD(uint32_t, SetServiceAccountId, (const std::string&, SuccessMsgResult&), (override)); +MOCK_METHOD(uint32_t, SetAuthIdToken, (const std::string&, SuccessMsgResult&), (override)); +MOCK_METHOD(uint32_t, Ready, (const std::string&, SuccessMsgResult&), (override)); +MOCK_METHOD(uint32_t, GetBootstrapProperty, (const std::string&, GetBootstrapPropResult&), (override)); +MOCK_METHOD(uint32_t, ActivationStarted, (SuccessResult&), (override)); +MOCK_METHOD(uint32_t, ActivationComplete, (SuccessResult&), (override)); +MOCK_METHOD(uint32_t, GetLostAndFoundAccessToken, (std::string&, std::string&, bool&), (override)); +MOCK_METHOD(uint32_t, SetLostAndFoundAccessToken, (const std::string&, SuccessMsgResult&), (override)); +MOCK_METHOD(uint32_t, GetXDeviceId, (GetXDeviceIdResult&), (override)); +MOCK_METHOD(uint32_t, SetXDeviceId, (const std::string&, SuccessMsgResult&), (override)); +MOCK_METHOD(uint32_t, GetExperience, (GetExpResult&), (override)); +MOCK_METHOD(uint32_t, SetExperience, (const std::string&, SuccessMsgResult&), (override)); +MOCK_METHOD(uint32_t, GetXifaId, (GetxifaIdResult&), (override)); +MOCK_METHOD(uint32_t, SetXifaId, (const std::string&, SuccessMsgResult&), (override)); +MOCK_METHOD(uint32_t, GetAdvtOptOut, (AdvtOptOutResult&), (override)); +MOCK_METHOD(uint32_t, SetAdvtOptOut, (const bool&, SuccessMsgResult&), (override)); // ... and so on, for all pure virtuals // Add any additional pure virtuals from base interfaces if compiler asks for them. }; From eb1bcd8c1678dc370153399385d8bf776fb956d9 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sun, 8 Jun 2025 00:06:12 +0530 Subject: [PATCH 29/44] Update test_MaintenanceManager.cpp --- Tests/L1Tests/tests/test_MaintenanceManager.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index 1248d096..0b4415cc 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -93,6 +93,8 @@ class MockShell : public WPEFramework::PluginHost::IShell { MOCK_METHOD(reason, Reason, (), (const, override)); MOCK_METHOD(uint32_t, Submit, (const uint32_t, const Core::ProxyType&), (override)); MOCK_METHOD(ICOMLink*, COMLink, (), (override)); + MOCK_METHOD(Core::hresult, getServiceState, (const std::string&, const std::string&, PluginHost::IShell::state&), (override)); + MOCK_METHOD(bool, queryIAuthService, (), ()); // Add any additional methods required by your build here. }; From 337b5690f393459f29c758d08b21da106b7bc866 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sun, 8 Jun 2025 00:16:41 +0530 Subject: [PATCH 30/44] Update test_MaintenanceManager.cpp --- Tests/L1Tests/tests/test_MaintenanceManager.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index 0b4415cc..9d7f3153 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -93,7 +93,8 @@ class MockShell : public WPEFramework::PluginHost::IShell { MOCK_METHOD(reason, Reason, (), (const, override)); MOCK_METHOD(uint32_t, Submit, (const uint32_t, const Core::ProxyType&), (override)); MOCK_METHOD(ICOMLink*, COMLink, (), (override)); - MOCK_METHOD(Core::hresult, getServiceState, (const std::string&, const std::string&, PluginHost::IShell::state&), (override)); + //MOCK_METHOD(Core::hresult, getServiceState, (const std::string&, const std::string&, PluginHost::IShell::state&), (override)); + MOCK_METHOD(Core::hresult, getServiceState, (const string&, const string&, PluginHost::IShell::state&), (const, override)); MOCK_METHOD(bool, queryIAuthService, (), ()); // Add any additional methods required by your build here. }; From 5c85f679d4cc6e870a3bc0d50d9125e91d21d258 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sun, 8 Jun 2025 00:26:46 +0530 Subject: [PATCH 31/44] Update test_MaintenanceManager.cpp --- Tests/L1Tests/tests/test_MaintenanceManager.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index 9d7f3153..2f0374d4 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -94,7 +94,8 @@ class MockShell : public WPEFramework::PluginHost::IShell { MOCK_METHOD(uint32_t, Submit, (const uint32_t, const Core::ProxyType&), (override)); MOCK_METHOD(ICOMLink*, COMLink, (), (override)); //MOCK_METHOD(Core::hresult, getServiceState, (const std::string&, const std::string&, PluginHost::IShell::state&), (override)); - MOCK_METHOD(Core::hresult, getServiceState, (const string&, const string&, PluginHost::IShell::state&), (const, override)); + MOCK_METHOD(uint32_t, getServiceState, (PluginHost::IShell* shell, const string& callsign, PluginHost::IShell::state& state), (override)); + //MOCK_METHOD(Core::hresult, getServiceState, (const string&, const string&, PluginHost::IShell::state&), (const, override)); MOCK_METHOD(bool, queryIAuthService, (), ()); // Add any additional methods required by your build here. }; From 19aa53af37100604dd7f1af13eaca65b70c3e5a6 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sun, 8 Jun 2025 00:42:12 +0530 Subject: [PATCH 32/44] Update test_MaintenanceManager.cpp --- Tests/L1Tests/tests/test_MaintenanceManager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index 2f0374d4..8228adbb 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -94,7 +94,7 @@ class MockShell : public WPEFramework::PluginHost::IShell { MOCK_METHOD(uint32_t, Submit, (const uint32_t, const Core::ProxyType&), (override)); MOCK_METHOD(ICOMLink*, COMLink, (), (override)); //MOCK_METHOD(Core::hresult, getServiceState, (const std::string&, const std::string&, PluginHost::IShell::state&), (override)); - MOCK_METHOD(uint32_t, getServiceState, (PluginHost::IShell* shell, const string& callsign, PluginHost::IShell::state& state), (override)); + MOCK_METHOD(uint32_t, getServiceState, (PluginHost::IShell* shell, const string& callsign, PluginHost::IShell::state& state)); //MOCK_METHOD(Core::hresult, getServiceState, (const string&, const string&, PluginHost::IShell::state&), (const, override)); MOCK_METHOD(bool, queryIAuthService, (), ()); // Add any additional methods required by your build here. From d6ef9d01e210aef57d9d09fa9a56782a709d06c3 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sun, 8 Jun 2025 01:08:13 +0530 Subject: [PATCH 33/44] Update test_MaintenanceManager.cpp --- Tests/L1Tests/tests/test_MaintenanceManager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index 8228adbb..7deeb355 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -940,8 +940,8 @@ TEST_F(MaintenanceManagerCheckActivatedStatusTest, ServiceNotActivated) { .WillRepeatedly(DoAll(::testing::SetArgReferee<2>(state), Return(Core::ERROR_NONE))); // Mock queryIAuthService to return false (no interface) - EXPECT_CALL(mockService_, queryIAuthService()) - .WillOnce(Return(false)); + //EXPECT_CALL(mockService_, queryIAuthService()) + // .WillOnce(Return(false)); // Test: Plugin is not activated after retries, expect "invalid" std::string result = plugin_->checkActivatedStatus(); From f92cf0474fa9cd2b40369684cae1722c8041b2eb Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sun, 8 Jun 2025 01:18:15 +0530 Subject: [PATCH 34/44] Update test_MaintenanceManager.cpp --- .../L1Tests/tests/test_MaintenanceManager.cpp | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index 7deeb355..7bb3598a 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -947,3 +947,42 @@ TEST_F(MaintenanceManagerCheckActivatedStatusTest, ServiceNotActivated) { std::string result = plugin_->checkActivatedStatus(); EXPECT_EQ(result, "invalid"); } +// Test: Service Activated, No Interface +TEST_F(MaintenanceManagerCheckActivatedStatusTest, ServiceActivatedNoInterface) { + PluginHost::IShell::state state = PluginHost::IShell::state::ACTIVATED; + + // Mock getServiceState to simulate ACTIVATED state + EXPECT_CALL(mockService_, getServiceState(_, _, _)) + .WillRepeatedly(DoAll(::testing::SetArgReferee<2>(state), Return(Core::ERROR_NONE))); + + // Mock queryIAuthService to return false (no interface) + EXPECT_CALL(mockService_, queryIAuthService()) + .WillOnce(Return(false)); + + // Test: No interface available, expect "invalid" + std::string result = plugin_->checkActivatedStatus(); + EXPECT_EQ(result, "invalid"); +} + +// Test: Successful Activation Status Retrieval +TEST_F(MaintenanceManagerCheckActivatedStatusTest, SuccessfulActivationStatus) { + PluginHost::IShell::state state = PluginHost::IShell::state::ACTIVATED; + + // Mock getServiceState to simulate ACTIVATED state + EXPECT_CALL(mockService_, getServiceState(_, _, _)) + .WillRepeatedly(DoAll(::testing::SetArgReferee<2>(state), Return(Core::ERROR_NONE))); + + // Mock queryIAuthService to return true (interface available) + EXPECT_CALL(mockService_, queryIAuthService()) + .WillOnce(Return(true)); + + // Mock GetActivationStatus to return a successful status + WPEFramework::Exchange::IAuthService::ActivationStatusResult asRes; + asRes.status = "activated"; // Simulating the status being "activated" + EXPECT_CALL(mockAuthServicePlugin_, GetActivationStatus(_)) + .WillOnce(DoAll(::testing::SetArgReferee<0>(asRes), Return(Core::ERROR_NONE))); + + // Test: Successfully retrieve the activation status, expect "activated" + std::string result = plugin_->checkActivatedStatus(); + EXPECT_EQ(result, "activated"); +} From e9df04fdfe8a346c94696cb309681086fdd36c65 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sun, 8 Jun 2025 08:18:05 +0530 Subject: [PATCH 35/44] Update test_MaintenanceManager.cpp --- .../L1Tests/tests/test_MaintenanceManager.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index 7bb3598a..f85a1d2b 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -47,6 +47,11 @@ extern "C" FILE* __real_popen(const char* command, const char* type); extern "C" int __real_pclose(FILE* pipe); + +class MockMaintenanceManager : public MaintenanceManager { +public: + MOCK_METHOD(std::string, checkActivatedStatus, (), (override)); +}; class MockShell : public WPEFramework::PluginHost::IShell { public: MOCK_METHOD(void, EnableWebServer, (const string&, const string&), (override)); @@ -986,3 +991,16 @@ TEST_F(MaintenanceManagerCheckActivatedStatusTest, SuccessfulActivationStatus) { std::string result = plugin_->checkActivatedStatus(); EXPECT_EQ(result, "activated"); } +TEST(MaintenanceManagerTest, GetActivatedStatus_ActivationConnect) { + MockMaintenanceManager mockManager; + bool skipFirmwareCheck = false; + + // Setup the mock behavior for checkActivatedStatus + EXPECT_CALL(mockManager, checkActivatedStatus()) + .WillOnce(Return("activation-connect")); + + bool result = mockManager.getActivatedStatus(skipFirmwareCheck); + + EXPECT_TRUE(result); // Because ACTIVATION_CONNECT is treated as activated + EXPECT_TRUE(skipFirmwareCheck); // skipFirmwareCheck is set to true +} From d7971a9d63567e076ec0f8f3f7d290a916d265d4 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sun, 8 Jun 2025 11:35:57 +0530 Subject: [PATCH 36/44] Update test_MaintenanceManager.cpp --- .../L1Tests/tests/test_MaintenanceManager.cpp | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index f85a1d2b..22755ffa 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -46,12 +46,6 @@ using ::testing::Return; extern "C" FILE* __real_popen(const char* command, const char* type); extern "C" int __real_pclose(FILE* pipe); - - -class MockMaintenanceManager : public MaintenanceManager { -public: - MOCK_METHOD(std::string, checkActivatedStatus, (), (override)); -}; class MockShell : public WPEFramework::PluginHost::IShell { public: MOCK_METHOD(void, EnableWebServer, (const string&, const string&), (override)); @@ -991,16 +985,3 @@ TEST_F(MaintenanceManagerCheckActivatedStatusTest, SuccessfulActivationStatus) { std::string result = plugin_->checkActivatedStatus(); EXPECT_EQ(result, "activated"); } -TEST(MaintenanceManagerTest, GetActivatedStatus_ActivationConnect) { - MockMaintenanceManager mockManager; - bool skipFirmwareCheck = false; - - // Setup the mock behavior for checkActivatedStatus - EXPECT_CALL(mockManager, checkActivatedStatus()) - .WillOnce(Return("activation-connect")); - - bool result = mockManager.getActivatedStatus(skipFirmwareCheck); - - EXPECT_TRUE(result); // Because ACTIVATION_CONNECT is treated as activated - EXPECT_TRUE(skipFirmwareCheck); // skipFirmwareCheck is set to true -} From 4bebb19a7d3547d24ca603b780375a0ef6c90670 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sun, 8 Jun 2025 12:13:37 +0530 Subject: [PATCH 37/44] Update test_MaintenanceManager.cpp --- .../L1Tests/tests/test_MaintenanceManager.cpp | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index 22755ffa..9dd31bf0 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -215,6 +215,26 @@ class MaintenanceManagerCheckActivatedStatusTest : public MaintenanceManagerTest plugin_->m_service = &mockService_; plugin_->m_authservicePlugin = &mockAuthServicePlugin_; } + class TestableMaintenanceManager : public Plugin::MaintenanceManager { + public: + std::string statusToReturn; + void setMockActivationStatus(const std::string& status) { statusToReturn = status; } + + std::string checkActivatedStatus() override { + return statusToReturn; + } + }; + + std::unique_ptr plugin_; + + void SetUp() override { + MaintenanceManagerTest::SetUp(); + plugin_ = std::make_unique(); + } + + void TearDown() override { + plugin_.reset(); + } virtual ~MaintenanceManagerCheckActivatedStatusTest() override {} }; @@ -985,3 +1005,11 @@ TEST_F(MaintenanceManagerCheckActivatedStatusTest, SuccessfulActivationStatus) { std::string result = plugin_->checkActivatedStatus(); EXPECT_EQ(result, "activated"); } +TEST_F(MaintenanceManagerCheckActivatedStatusTest, ActivatedStatusReturnsTrueNoSkip) { + plugin_->setMockActivationStatus("activated"); + bool skip = false; + + EXPECT_TRUE(plugin_->getActivatedStatus(skip)); + EXPECT_FALSE(skip); +} + From ccf4b2c6eaa3ca0ca93f0c3a7d7ac8076a8d0f57 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sun, 8 Jun 2025 15:49:46 +0530 Subject: [PATCH 38/44] Update test_MaintenanceManager.cpp --- Tests/L1Tests/tests/test_MaintenanceManager.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index 9dd31bf0..c2025c5c 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -223,6 +223,13 @@ class MaintenanceManagerCheckActivatedStatusTest : public MaintenanceManagerTest std::string checkActivatedStatus() override { return statusToReturn; } + void AddRef() const override { + // No-op for test + } + + uint32_t Release() const override { + return 0; // Dummy return + } }; std::unique_ptr plugin_; From a8c3b921f3e771895dd0fb3b12cd42b7e94ba88d Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sun, 8 Jun 2025 15:57:57 +0530 Subject: [PATCH 39/44] Update test_MaintenanceManager.cpp --- Tests/L1Tests/tests/test_MaintenanceManager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index c2025c5c..5f40f72c 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -220,7 +220,7 @@ class MaintenanceManagerCheckActivatedStatusTest : public MaintenanceManagerTest std::string statusToReturn; void setMockActivationStatus(const std::string& status) { statusToReturn = status; } - std::string checkActivatedStatus() override { + std::string checkActivatedStatus() { return statusToReturn; } void AddRef() const override { From decc12547045aaa47bd0509eb8c8a778eb972fff Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sun, 8 Jun 2025 16:08:20 +0530 Subject: [PATCH 40/44] Update test_MaintenanceManager.cpp --- Tests/L1Tests/tests/test_MaintenanceManager.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index 5f40f72c..bd5d54b3 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -958,6 +958,7 @@ TEST(MaintenanceManagerModuleStatus, ModuleStatusToString) { } } #endif +/* TEST_F(MaintenanceManagerCheckActivatedStatusTest, ServiceNotActivated) { PluginHost::IShell::state state = PluginHost::IShell::state::UNAVAILABLE; @@ -1012,6 +1013,7 @@ TEST_F(MaintenanceManagerCheckActivatedStatusTest, SuccessfulActivationStatus) { std::string result = plugin_->checkActivatedStatus(); EXPECT_EQ(result, "activated"); } +*/ TEST_F(MaintenanceManagerCheckActivatedStatusTest, ActivatedStatusReturnsTrueNoSkip) { plugin_->setMockActivationStatus("activated"); bool skip = false; From b5d132358e5381d7ded119523d85aeb16b03d10a Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sun, 8 Jun 2025 16:23:32 +0530 Subject: [PATCH 41/44] Update test_MaintenanceManager.cpp --- Tests/L1Tests/tests/test_MaintenanceManager.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index bd5d54b3..61a9a23b 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -219,10 +219,10 @@ class MaintenanceManagerCheckActivatedStatusTest : public MaintenanceManagerTest public: std::string statusToReturn; void setMockActivationStatus(const std::string& status) { statusToReturn = status; } - - std::string checkActivatedStatus() { + MOCK_METHOD(std::string, checkActivatedStatus, (), (override)); + /*std::string checkActivatedStatus() { return statusToReturn; - } + }*/ void AddRef() const override { // No-op for test } @@ -1017,7 +1017,8 @@ TEST_F(MaintenanceManagerCheckActivatedStatusTest, SuccessfulActivationStatus) { TEST_F(MaintenanceManagerCheckActivatedStatusTest, ActivatedStatusReturnsTrueNoSkip) { plugin_->setMockActivationStatus("activated"); bool skip = false; - + EXPECT_CALL(mockAuthServicePlugin_, GetActivationStatus(_)) + .WillOnce(DoAll(::testing::SetArgReferee<0>(asRes), Return(Core::ERROR_NONE))) EXPECT_TRUE(plugin_->getActivatedStatus(skip)); EXPECT_FALSE(skip); } From c280adced6227c2cc671ec4479fda90a9949fe90 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sun, 8 Jun 2025 16:48:36 +0530 Subject: [PATCH 42/44] Update test_MaintenanceManager.cpp --- Tests/L1Tests/tests/test_MaintenanceManager.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index 61a9a23b..7aff70ed 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -219,7 +219,7 @@ class MaintenanceManagerCheckActivatedStatusTest : public MaintenanceManagerTest public: std::string statusToReturn; void setMockActivationStatus(const std::string& status) { statusToReturn = status; } - MOCK_METHOD(std::string, checkActivatedStatus, (), (override)); + MOCK_METHOD(std::string, checkActivatedStatus, ()); /*std::string checkActivatedStatus() { return statusToReturn; }*/ @@ -1017,8 +1017,9 @@ TEST_F(MaintenanceManagerCheckActivatedStatusTest, SuccessfulActivationStatus) { TEST_F(MaintenanceManagerCheckActivatedStatusTest, ActivatedStatusReturnsTrueNoSkip) { plugin_->setMockActivationStatus("activated"); bool skip = false; - EXPECT_CALL(mockAuthServicePlugin_, GetActivationStatus(_)) - .WillOnce(DoAll(::testing::SetArgReferee<0>(asRes), Return(Core::ERROR_NONE))) + WPEFramework::Exchange::IAuthService::ActivationStatusResult asRes; + EXPECT_CALL(mockAuthServicePlugin_, checkActivatedStatus(_)) + .WillOnce(DoAll(Return(Core::ERROR_NONE))) EXPECT_TRUE(plugin_->getActivatedStatus(skip)); EXPECT_FALSE(skip); } From 30f36fc2cce8f304f85bf9271da878ddf6ebb337 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sun, 8 Jun 2025 17:07:52 +0530 Subject: [PATCH 43/44] Update test_MaintenanceManager.cpp --- Tests/L1Tests/tests/test_MaintenanceManager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index 7aff70ed..ef5ac0cf 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -1018,7 +1018,7 @@ TEST_F(MaintenanceManagerCheckActivatedStatusTest, ActivatedStatusReturnsTrueNoS plugin_->setMockActivationStatus("activated"); bool skip = false; WPEFramework::Exchange::IAuthService::ActivationStatusResult asRes; - EXPECT_CALL(mockAuthServicePlugin_, checkActivatedStatus(_)) + EXPECT_CALL(plugin_, checkActivatedStatus(_)) .WillOnce(DoAll(Return(Core::ERROR_NONE))) EXPECT_TRUE(plugin_->getActivatedStatus(skip)); EXPECT_FALSE(skip); From 4195c78b77744845f3efec89e4edaee7e4383285 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Sun, 8 Jun 2025 17:28:49 +0530 Subject: [PATCH 44/44] Update test_MaintenanceManager.cpp --- Tests/L1Tests/tests/test_MaintenanceManager.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/Tests/L1Tests/tests/test_MaintenanceManager.cpp b/Tests/L1Tests/tests/test_MaintenanceManager.cpp index ef5ac0cf..b22c8d46 100644 --- a/Tests/L1Tests/tests/test_MaintenanceManager.cpp +++ b/Tests/L1Tests/tests/test_MaintenanceManager.cpp @@ -215,14 +215,13 @@ class MaintenanceManagerCheckActivatedStatusTest : public MaintenanceManagerTest plugin_->m_service = &mockService_; plugin_->m_authservicePlugin = &mockAuthServicePlugin_; } +/* class TestableMaintenanceManager : public Plugin::MaintenanceManager { public: std::string statusToReturn; void setMockActivationStatus(const std::string& status) { statusToReturn = status; } MOCK_METHOD(std::string, checkActivatedStatus, ()); - /*std::string checkActivatedStatus() { - return statusToReturn; - }*/ + void AddRef() const override { // No-op for test } @@ -242,7 +241,7 @@ class MaintenanceManagerCheckActivatedStatusTest : public MaintenanceManagerTest void TearDown() override { plugin_.reset(); } - +*/ virtual ~MaintenanceManagerCheckActivatedStatusTest() override {} }; @@ -958,7 +957,7 @@ TEST(MaintenanceManagerModuleStatus, ModuleStatusToString) { } } #endif -/* + TEST_F(MaintenanceManagerCheckActivatedStatusTest, ServiceNotActivated) { PluginHost::IShell::state state = PluginHost::IShell::state::UNAVAILABLE; @@ -1013,7 +1012,7 @@ TEST_F(MaintenanceManagerCheckActivatedStatusTest, SuccessfulActivationStatus) { std::string result = plugin_->checkActivatedStatus(); EXPECT_EQ(result, "activated"); } -*/ +/* TEST_F(MaintenanceManagerCheckActivatedStatusTest, ActivatedStatusReturnsTrueNoSkip) { plugin_->setMockActivationStatus("activated"); bool skip = false; @@ -1023,4 +1022,4 @@ TEST_F(MaintenanceManagerCheckActivatedStatusTest, ActivatedStatusReturnsTrueNoS EXPECT_TRUE(plugin_->getActivatedStatus(skip)); EXPECT_FALSE(skip); } - +*/