diff --git a/test/ldap_config_test.cpp b/test/ldap_config_test.cpp index 35fdaea..6d1bb01 100644 --- a/test/ldap_config_test.cpp +++ b/test/ldap_config_test.cpp @@ -60,6 +60,21 @@ class TestLDAPConfig : public testing::Test fs.close(); } + void eventLoop(uint8_t numberOfTimes) + { + if (numberOfTimes == 0 || numberOfTimes > 15) + { + return; + } + + for (int i = 0; i < numberOfTimes; i++) + { + bus.process_discard(); + // wait for 1 seconds + bus.wait(1 * 1000000); + } + } + void TearDown() override { fs::remove_all(dir); @@ -461,7 +476,8 @@ TEST_F(TestLDAPConfig, testSearchScope) "MyLdap12", ldap_base::Create::SearchScope::sub, ldap_base::Create::Type::ActiveDirectory, "attr1", "attr2"); managerPtr->getADConfigPtr()->enabled(true); - + // Process D-Bus calls + eventLoop(6); // Change LDAP SearchScope managerPtr->getADConfigPtr()->ldapSearchScope( ldap_base::Config::SearchScope::one); @@ -618,7 +634,8 @@ TEST_F(TestLDAPConfig, ConditionalEnableConfig) EXPECT_EQ(managerPtr->getADConfigPtr()->enabled(), true); EXPECT_EQ(managerPtr->getOpenLdapConfigPtr()->enabled(), false); - + // Process D-Bus calls + eventLoop(5); // AS AD is already enabled so openldap can't be enabled. EXPECT_THROW( { @@ -641,6 +658,8 @@ TEST_F(TestLDAPConfig, ConditionalEnableConfig) EXPECT_EQ(managerPtr->getOpenLdapConfigPtr()->enabled(), false); // Now enable the openldap managerPtr->getOpenLdapConfigPtr()->enabled(true); + // Process D-Bus calls + eventLoop(5); EXPECT_EQ(managerPtr->getOpenLdapConfigPtr()->enabled(), true); EXPECT_EQ(managerPtr->getADConfigPtr()->enabled(), false); @@ -678,6 +697,8 @@ TEST_F(TestLDAPConfig, createPrivMapping) } }, PrivilegeMappingExists); + // Process D-Bus calls + eventLoop(2); } TEST_F(TestLDAPConfig, deletePrivMapping) @@ -719,6 +740,8 @@ TEST_F(TestLDAPConfig, deletePrivMapping) EXPECT_NO_THROW(manager.getADConfigPtr()->checkPrivilegeMapper("admin")); manager.getADConfigPtr()->deletePrivilegeMapper(2); EXPECT_NO_THROW(manager.getADConfigPtr()->checkPrivilegeMapper("user")); + // Process D-Bus calls + eventLoop(2); } TEST_F(TestLDAPConfig, restorePrivMapping) @@ -798,6 +821,8 @@ TEST_F(TestLDAPConfig, testPrivileges) EXPECT_NO_THROW(entry->privilege("priv-operator")); EXPECT_NO_THROW(entry->privilege("priv-user")); + // Process D-Bus calls + eventLoop(5); } } // namespace ldap diff --git a/test/ldap_mapper_test.cpp b/test/ldap_mapper_test.cpp index 275ebe5..54404ac 100644 --- a/test/ldap_mapper_test.cpp +++ b/test/ldap_mapper_test.cpp @@ -33,6 +33,20 @@ class TestSerialization : public testing::Test char tempDir[] = "/tmp/privmapper_test.XXXXXX"; dir = std::filesystem::path(mkdtemp(tempDir)); } + void eventLoop(uint8_t numberOfTimes) + { + if (numberOfTimes == 0 || numberOfTimes > 15) + { + return; + } + + for (int i = 0; i < numberOfTimes; i++) + { + bus.process_discard(); + // wait for 1 seconds + bus.wait(1 * 1000000); + } + } void TearDown() override { @@ -139,6 +153,8 @@ TEST_F(TestSerialization, testValidPrivilege) EXPECT_NO_THROW(entry->privilege("priv-operator")); EXPECT_NO_THROW(entry->privilege("priv-user")); + // Process D-Bus calls + eventLoop(5); } TEST_F(TestSerialization, testInvalidPrivilege)