Esempio n. 1
0
 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"
     )
Esempio n. 2
0
 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"
     )
Esempio n. 3
0
 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",
     )
Esempio n. 4
0
 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"
     )