def test_shadow_not_found(self): bundle = MagicMock() user = users.User( bundle, "bundlewrap", { 'full_name': "Blöck Wart", 'gid': 2345, 'groups': ["group1", "group2"], 'home': "/home/bundlewrap", 'password_hash': "secret", 'shell': "/bin/bash", 'uid': 1123, }, ) status = ItemStatus(correct=False) status.info = { 'exists': True, 'full_name': "Blöck Wart", 'gid': 2345, 'groups': ["group1", "group2"], 'home': "/home/bundlewrap", 'shadow_hash': None, 'shell': "/bin/bash", 'uid': 1123, 'needs_fixing': ['password'], } self.assertEqual( user.ask(status), "password hash not found in /etc/shadow\n" )
def test_groups(self): bundle = MagicMock() user = users.User( bundle, "bundlewrap", { 'full_name': "Blöck Wart", 'gid': 2345, 'groups': ["group1", "group2", "group3"], 'home': "/home/bundlewrap", 'password_hash': "secret", 'shell': "/bin/bash", 'uid': 1123, }, ) status = ItemStatus(correct=False) status.info = { 'exists': True, 'full_name': "Blöck Wart", 'gid': 2345, 'groups': ["group3", "group2", "group4", "group5"], 'home': "/home/bundlewrap", 'shadow_hash': "secret", 'shell': "/bin/bash", 'uid': 1123, 'needs_fixing': ['groups'], } self.assertEqual( user.ask(status), "missing groups group1\n" + "extra groups group4, group5\n" )
def test_group(self): bundle = MagicMock() group = groups.Group( bundle, "bundlewrap", { 'gid': 2345 }, ) status = ItemStatus(correct=False) status.info = { 'exists': True, 'gid': 2357, } self.assertEqual( group.ask(status), "GID 2357 → 2345\n", )
def test_passwd(self): bundle = MagicMock() user = users.User( bundle, "bundlewrap", { 'home': "/home/bundlewrap", 'full_name': "Blöck Wart", 'gid': 2345, 'groups': ["group1", "group2"], 'password_hash': "topsecret", 'shell': "/bin/bash", 'uid': 1123, 'use_shadow': False, }, ) status = ItemStatus(correct=False) status.info = { 'exists': True, 'full_name': "BundleWrap", 'gid': 2357, 'groups': ["group1", "group2"], 'home': "/home/blkwrt", 'passwd_hash': "secret", 'shell': "/bin/bsh", 'uid': 1113, 'needs_fixing': ['home', 'full_name', 'gid', 'password', 'shell', 'uid'], } self.assertEqual( user.ask(status), "home dir /home/blkwrt → /home/bundlewrap\n" "full name BundleWrap → Blöck Wart\n" "GID 2357 → 2345\n" "shell /bin/bsh → /bin/bash\n" "UID 1113 → 1123\n" "password hash secret\n" " → topsecret\n" )