summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRoman Rakus <rrakus@redhat.com>2013-07-16 16:06:58 +0200
committerRoman Rakus <rrakus@redhat.com>2013-07-17 12:53:27 +0200
commit8e066032b9b001d0d8dd3089e6f2a0184a4b489f (patch)
tree347e5857afdc4ab03a7070272fa969eb28b1109a /src
parent9d6c010fcebf5aa9282e82a0ee86d01e0d4812c2 (diff)
downloadopenlmi-providers-8e066032b9b001d0d8dd3089e6f2a0184a4b489f.tar.gz
openlmi-providers-8e066032b9b001d0d8dd3089e6f2a0184a4b489f.tar.xz
openlmi-providers-8e066032b9b001d0d8dd3089e6f2a0184a4b489f.zip
Account: Make tests a little bit robust
Signed-off-by: Roman Rakus <rrakus@redhat.com>
Diffstat (limited to 'src')
-rw-r--r--src/account/test/TestAccount.py8
-rw-r--r--src/account/test/TestMemberOfGroup.py4
-rw-r--r--src/account/test/methods.py37
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])
+