diff options
-rw-r--r-- | src/account/test/TestAccount.py | 8 | ||||
-rw-r--r-- | src/account/test/TestMemberOfGroup.py | 4 | ||||
-rw-r--r-- | src/account/test/methods.py | 37 |
3 files changed, 30 insertions, 19 deletions
diff --git a/src/account/test/TestAccount.py b/src/account/test/TestAccount.py index e6f0c14..5763c4d 100644 --- a/src/account/test/TestAccount.py +++ b/src/account/test/TestAccount.py @@ -55,7 +55,7 @@ class TestAccount(AccountBase): self.wbemconnection.InvokeMethod("CreateAccount", lams.path, Name=self.user_name, System=computer_system.path) # The user now should be created, check it - subprocess.check_call(["id", self.user_name]) + self.assertTrue(user_exists(self.user_name)) # now delete that user clean_account(self.user_name) @@ -69,9 +69,7 @@ class TestAccount(AccountBase): 'select * from LMI_Account where Name = "%s"' % self.user_name)[0] self.wbemconnection.DeleteInstance(i.path) # check if it was really deleted - c = subprocess.Popen(["id", self.user_name]) - c.communicate() - self.assertEqual(c.returncode, 1) + self.assertFalse(user_exists(self.user_name)) clean_account(self.user_name) def test_modify_account(self): @@ -82,9 +80,7 @@ class TestAccount(AccountBase): i = self.wbemconnection.ExecQuery('WQL', 'select * from LMI_Account where Name = "%s"' % self.user_name)[0] # gecos - print i["ElementName"] i["ElementName"] = "GECOS" - print i["ElementName"] self.wbemconnection.ModifyInstance(i) self.assertEqual(field_in_passwd(self.user_name, 4), "GECOS") # login shell diff --git a/src/account/test/TestMemberOfGroup.py b/src/account/test/TestMemberOfGroup.py index 635ac24..211244e 100644 --- a/src/account/test/TestMemberOfGroup.py +++ b/src/account/test/TestMemberOfGroup.py @@ -53,9 +53,7 @@ class TestMemberOfGroup(AccountBase): 'select * from LMI_Account where Name = "%s"' % self.user_name)[0] self.wbemconnection.DeleteInstance(i.path) # check if it was really deleted - c = subprocess.Popen(["id", self.user_name]) - c.communicate() - self.assertEqual(c.returncode, 1) + self.assertFalse(user_exists(self.user_name)) clean_account(self.user_name) def test_user_in_groups(self): diff --git a/src/account/test/methods.py b/src/account/test/methods.py index c0407df..ffb9f7d 100644 --- a/src/account/test/methods.py +++ b/src/account/test/methods.py @@ -20,6 +20,20 @@ import subprocess +def user_exists(username): + """ + Return true/false if user does/does not exists + """ + got = field_in_passwd(username, 0) + return got == username + +def group_exists(groupname): + """ + Return true/false if user does/does not exists + """ + got = field_in_group(groupname, 0) + return got == groupname + def field_in_passwd(username, number): """ Return numberth field in /etc/passwd for given username @@ -48,33 +62,36 @@ def clean_account(user_name): """ Force to delete testing account and remove home dir """ - subprocess.call(["userdel", "-fr", user_name]) - # groups should be expicitely deleted - subprocess.call(["groupdel", user_name]) - subprocess.call(["rm", "-fr", "/home/%s" %user_name]) + if user_exists(user_name): + subprocess.check_call(["userdel", "-fr", user_name]) + if group_exists(user_name): + # groups should be expicitely deleted + subprocess.check_call(["groupdel", user_name]) def add_user_to_group(user_name, group_name): """ Will add user to group """ - subprocess.call(["usermod", "-a", "-G", group_name, user_name]) + subprocess.check_call(["usermod", "-a", "-G", group_name, user_name]) def create_account(user_name): """ Force to create account; run clean_account before creation """ - clean_account(user_name) - subprocess.call(["useradd", user_name]) + if not user_exists(user_name): + subprocess.check_call(["useradd", user_name]) def clean_group(group_name): """ Force to delete testing group """ - subprocess.call(["groupdel", group_name]) + if group_exists(group_name): + subprocess.check_call(["groupdel", group_name]) def create_group(group_name): """ Force to create group """ - clean_group(group_name) - subprocess.call(["groupadd", group_name]) + if not group_exists(group_name): + subprocess.check_call(["groupadd", group_name]) + |