12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- # -*- coding: utf-8 -*-
- """
- :codeauthor: Pedro Algarvio (pedro@algarvio.me)
- tests.integration.modules.pw_user
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- """
- from __future__ import absolute_import, print_function, unicode_literals
- import pytest
- from tests.support.case import ModuleCase
- from tests.support.helpers import random_string
- @pytest.mark.skip_unless_on_freebsd
- class PwUserModuleTest(ModuleCase):
- @pytest.mark.destructive_test
- @pytest.mark.skip_if_not_root
- def test_groups_includes_primary(self):
- # Let's create a user, which usually creates the group matching the name
- uname = random_string("PWU-", lowercase=False)
- if self.run_function("user.add", [uname]) is not True:
- # Skip because creating is not what we're testing here
- self.run_function("user.delete", [uname, True, True])
- self.skipTest("Failed to create user")
- try:
- uinfo = self.run_function("user.info", [uname])
- self.assertIn(uname, uinfo["groups"])
- # This uid is available, store it
- uid = uinfo["uid"]
- self.run_function("user.delete", [uname, True, True])
- # Now, a weird group id
- gname = random_string("PWU-", lowercase=False)
- if self.run_function("group.add", [gname]) is not True:
- self.run_function("group.delete", [gname, True, True])
- self.skipTest("Failed to create group")
- ginfo = self.run_function("group.info", [gname])
- # And create the user with that gid
- if self.run_function("user.add", [uname, uid, ginfo["gid"]]) is False:
- # Skip because creating is not what we're testing here
- self.run_function("user.delete", [uname, True, True])
- self.skipTest("Failed to create user")
- uinfo = self.run_function("user.info", [uname])
- self.assertIn(gname, uinfo["groups"])
- except AssertionError:
- self.run_function("user.delete", [uname, True, True])
- raise
|