def test_03_sync(self): ''' test if components are synced prerequisite a ldap host is configured a domain is linked to cloudstack some accounts in that domain are linked to groups in ldap ''' domainid = self.syncDomain.id username = self.test_user[1] # validate the user doesn't exist response = User.list(self.apiclient, domainid=domainid, username=username) self.assertEqual(response, None, "user should not exist yet") self.logon_test_user(username) # now validate the user exists in domain response = User.list(self.apiclient, domainid=domainid, username=username) for user in response: user_created = User(user.__dict__) self.logger.debug("user to clean: %s (id: %s)" % (user_created.username, user_created.id)) self.cleanup.append(user_created) # now verify the creation of the user self.assertEqual(len(response), 1, "user should exist by now") return
def test_05_relink_account_and_reuse_user(self): ''' test if an account and thus a user can be removed and re-added test if components still are synced prerequisite a ldap host is configured a domain is linked to cloudstack some accounts in that domain are linked to groups in ldap ''' domainid = self.syncDomain.id username = self.test_user[1] # validate the user doesn't exist response = User.list(self.apiclient,domainid=domainid,username=username) self.assertEqual(response, None, "user should not exist yet") self.logon_test_user(username) # now validate the user exists in domain response = User.list(self.apiclient,domainid=domainid,username=username) # for user in response: # user_created = User(user.__dict__) # self.debug("user to clean: %s (id: %s)" % (user_created.username, user_created.id)) # # we don't cleanup to test if re-adding fails # self.cleanup.append(user_created) # now verify the creation of the user self.assertEqual(len(response), 1, "user should exist by now") # delete the account - quick implementation: user[1] happens to be a junior self.junior_account.delete(self.apiclient) # add the account with the same ldap group self.bind_account_to_ldap( account=self.testdata.testdata[LdapTestData.syncAccounts][0]["name"], ldapdomain=self.testdata.testdata[LdapTestData.syncAccounts][0]["group"], accounttype=self.testdata.testdata[LdapTestData.syncAccounts][0]["accounttype"]) # logon the user - should succeed - reported to fail self.logon_test_user(username) # now verify the creation of the user response = User.list(self.apiclient,domainid=domainid,username=username) for user in response: user_created = User(user.__dict__) self.debug("user to clean: %s (id: %s)" % (user_created.username, user_created.id)) # we don't cleanup to test if re-adding fails # self.cleanup.append(user_created) self.assertEqual(len(response), 1, "user should exist again") return