Exemplo n.º 1
0
    def testGroup4(self):
        """ Test with a group name line in the group file that
                starts with a "+". (See bug #4470 for more details). """
        if not os.path.exists("/etc/group"):
            return

        grpfile = open(os.path.join(self.test_root, "etc", "group"), "w")
        grpfile.write( \
"""root::0:
gk::0:
bin::2:root,daemon
+plusgrp
adm::4:root,daemon
uucp::5:root
mail::6:root
tty::7:root,adm
+""")
        grpfile.close()
        self.assertTrue("root" == \
            portable.get_name_by_gid(0, self.test_root, True))
        self.assertTrue(0 == \
            portable.get_group_by_name("root", self.test_root, True))
        self.assertTrue(0 == \
            portable.get_group_by_name("gk", self.test_root, True))
        self.assertTrue(7 == \
            portable.get_group_by_name("tty", self.test_root, True))

        self.assertRaises(KeyError, portable.get_group_by_name, "plusgrp",
                          self.test_root, True)
Exemplo n.º 2
0
    def testGroup3(self):
        """ Test with corrupt/oddball group file """
        if not os.path.exists("/etc/group"):
            return

        grpfile = file(os.path.join(self.test_root, "etc", "group"), "w")
        grpfile.write(
            """root::0:
blorg
bin::2:root,daemon

corrupt:x
adm::4:root,daemon
uucp::5:root
mail::6:root
tty::7:root,adm
gk::0:
+"""
        )
        grpfile.close()
        self.assert_("root" == portable.get_name_by_gid(0, self.test_root, True))
        self.assert_(0 == portable.get_group_by_name("root", self.test_root, True))
        self.assert_(0 == portable.get_group_by_name("gk", self.test_root, True))
        self.assert_(7 == portable.get_group_by_name("tty", self.test_root, True))

        self.assertRaises(KeyError, portable.get_group_by_name, "ThisShouldNotExist", self.test_root, True)

        self.assertRaises(KeyError, portable.get_group_by_name, "corrupt", self.test_root, True)

        self.assertRaises(KeyError, portable.get_group_by_name, 570, self.test_root, True)
Exemplo n.º 3
0
    def testGroup4(self):
        """ Test with a group name line in the group file that
                starts with a "+". (See bug #4470 for more details). """
        if not os.path.exists("/etc/group"):
            return

        grpfile = file(os.path.join(self.test_root, "etc", "group"), "w")
        grpfile.write(
            """root::0:
gk::0:
bin::2:root,daemon
+plusgrp
adm::4:root,daemon
uucp::5:root
mail::6:root
tty::7:root,adm
+"""
        )
        grpfile.close()
        self.assert_("root" == portable.get_name_by_gid(0, self.test_root, True))
        self.assert_(0 == portable.get_group_by_name("root", self.test_root, True))
        self.assert_(0 == portable.get_group_by_name("gk", self.test_root, True))
        self.assert_(7 == portable.get_group_by_name("tty", self.test_root, True))

        self.assertRaises(KeyError, portable.get_group_by_name, "plusgrp", self.test_root, True)
Exemplo n.º 4
0
    def testGroup2(self):
        """ Test with a missing group file """
        if not os.path.exists("/etc/group"):
            return

        self.assertRaises(KeyError, portable.get_group_by_name, "ThisShouldNotExist", self.test_root, True)

        # This should work on unix systems, since we'll "bootstrap"
        # out to the OS's version.  And AFAIK all unix systems have
        # a group with gid 0.
        grpname = portable.get_name_by_gid(0, self.test_root, True)
        self.assert_(0 == portable.get_group_by_name(grpname, self.test_root, True))
Exemplo n.º 5
0
    def testGroup2(self):
        """ Test with a missing group file """
        if not os.path.exists("/etc/group"):
            return

        self.assertRaises(KeyError, portable.get_group_by_name,
                          "ThisShouldNotExist", self.test_root, True)

        # This should work on unix systems, since we'll "bootstrap"
        # out to the OS's version.  And AFAIK all unix systems have
        # a group with gid 0.
        grpname = portable.get_name_by_gid(0, self.test_root, True)
        self.assertTrue(0 == \
            portable.get_group_by_name(grpname, self.test_root, True))
Exemplo n.º 6
0
    def testGroup3(self):
        """ Test with corrupt/oddball group file """
        if not os.path.exists("/etc/group"):
            return

        grpfile = open(os.path.join(self.test_root, "etc", "group"), "w")
        grpfile.write( \
"""root::0:
blorg
bin::2:root,daemon

corrupt:x
adm::4:root,daemon
uucp::5:root
mail::6:root
tty::7:root,adm
gk::0:
+""")
        grpfile.close()
        self.assertTrue("root" == \
            portable.get_name_by_gid(0, self.test_root, True))
        self.assertTrue(0 == \
            portable.get_group_by_name("root", self.test_root, True))
        self.assertTrue(0 == \
            portable.get_group_by_name("gk", self.test_root, True))
        self.assertTrue(7 == \
            portable.get_group_by_name("tty", self.test_root, True))

        self.assertRaises(KeyError, portable.get_group_by_name,
                          "ThisShouldNotExist", self.test_root, True)

        self.assertRaises(KeyError, portable.get_group_by_name, "corrupt",
                          self.test_root, True)

        self.assertRaises(KeyError, portable.get_group_by_name, 570,
                          self.test_root, True)