def test_group_owner_chown(self): PATH = '/tmp/delme.txt' path = Path(PATH) os.system('rm %s' % PATH) os.system('touch %s' % PATH) self.assertTrue('nobody' != path.owner) self.assertTrue('nogroup' != path.group) # chown group path.chown(group='nogroup') self.assertEqual('nogroup', path.group) self.assertTrue('nobody' != path.owner) # chown owner path.chown('nobody') self.assertEqual('nobody', path.owner) # chown both / numerical ids path.chown(uid=0, gid=0) self.assertEqual('root', path.owner) self.assertEqual('root', path.group) # recursive path.chown('root', recursive=True) # set properties path.owner = 'nobody' self.assertEqual('nobody', path.owner) path.group = 'nogroup' self.assertEqual('nogroup', path.group) path.delete()
def test_group_owner(self): self.assertEqual('root', Path('/tmp').owner) self.assertEqual('root', Path('/etc/passwd').group) fh = tmpfile() try: t = Path(fh.name) # these aren't actually changing anything (need to be root for that) # but they do at least exercise the code t.owner = pwd.getpwuid(os.getuid()).pw_name t.group = grp.getgrgid(os.getgid()).gr_name t.owner = '%s:%s' % (t.owner, t.group) t.chown(t.owner) t.chown(t.owner, t.group) t.chown('%s:%s' % (t.owner, t.group), recursive=True) finally: os.remove(fh.name)