def testIterate(self): """Test writing several records and then reading them back""" self.make_backup_dirs() self.make_temp_out_dirs() rp1 = self.acl_test1_rpath.append('a1') rp2 = self.acl_test1_rpath.append('a2') rp3 = self.acl_test1_rpath.append('a3') # Now write records corresponding to above rps into file Globals.rbdir = tempdir man = metadata.PatchDiffMan() writer = man.get_acl_writer('snapshot', 10000) for rp in [self.acl_test1_rpath, rp1, rp2, rp3]: acl = AccessControlLists(rp.index) acl.read_from_rp(rp) writer.write_object(acl) writer.close() # Read back records and compare acl_iter = man.get_acls_at_time(10000, None) assert acl_iter, "No acl file found" dir_acl_reread = next(acl_iter) assert dir_acl_reread == self.dir_acl acl1_reread = next(acl_iter) assert acl1_reread == self.acl1 acl2_reread = next(acl_iter) assert acl2_reread == self.acl2 acl3_reread = next(acl_iter) assert acl3_reread == self.acl3 try: extra = next(acl_iter) except StopIteration: pass else: assert 0, "Got unexpected object: " + repr(extra)
def test_acl_dropping(self): """Test dropping of ACL names""" self.make_temp_out_dirs() rp = tempdir.append('a1') rp.touch() """ben uses a dvorak keyboard, and these sequences are analogous to asdfsjkd for a qwerty user... these users and groups are not expected to exist. -dean""" acl = AccessControlLists(('a1', ), """user::rwx user:aoensutheu:r-- group::r-x group:aeuai:r-x group:enutohnh:-w- other::---""") rp.write_acl(acl) rp2 = tempdir.append('a1') acl2 = AccessControlLists(('a1', )) acl2.read_from_rp(rp2) assert acl2.is_basic() Globals.never_drop_acls = 1 try: rp.write_acl(acl) except SystemExit: pass else: assert 0, "Above should have exited with fatal error" Globals.never_drop_acls = None
def testIterate(self): """Test writing several records and then reading them back""" self.make_backup_dirs() self.make_temp_out_dirs() rp1 = self.acl_test1_rpath.append('a1') rp2 = self.acl_test1_rpath.append('a2') rp3 = self.acl_test1_rpath.append('a3') # Now write records corresponding to above rps into file Globals.rbdir = tempdir man = metadata.PatchDiffMan() writer = man._get_acl_writer('snapshot', 10000) for rp in [self.acl_test1_rpath, rp1, rp2, rp3]: acl = AccessControlLists(rp.index) acl.read_from_rp(rp) writer.write_object(acl) writer.close() # Read back records and compare acl_iter = man._get_acls_at_time(10000, None) self.assertTrue(acl_iter, "No acl file found") dir_acl_reread = next(acl_iter) self.assertEqual(dir_acl_reread, self.dir_acl) acl1_reread = next(acl_iter) self.assertEqual(acl1_reread, self.acl1) acl2_reread = next(acl_iter) self.assertEqual(acl2_reread, self.acl2) acl3_reread = next(acl_iter) self.assertEqual(acl3_reread, self.acl3) with self.assertRaises(StopIteration, msg="Too many elements in iterator"): next(acl_iter)
def testBasicDir(self): """Test reading and writing of ACL w/ defaults to directory""" self.make_temp_out_dirs() new_acl = AccessControlLists(()) new_acl.read_from_rp(tempdir) assert new_acl.is_basic() assert new_acl != self.dir_acl self.dir_acl.write_to_rp(tempdir) new_acl.read_from_rp(tempdir) assert not new_acl.is_basic() if not new_acl == self.dir_acl: assert new_acl.eq_verbose(self.dir_acl) assert 0, "Shouldn't be here---eq != eq_verbose?"
def testBasicDir(self): """Test reading and writing of ACL w/ defaults to directory""" self.make_temp_out_dirs() new_acl = AccessControlLists(()) new_acl.read_from_rp(tempdir) self.assertTrue(new_acl.is_basic()) self.assertNotEqual(new_acl, self.dir_acl) self.dir_acl.write_to_rp(tempdir) new_acl.read_from_rp(tempdir) self.assertFalse(new_acl.is_basic()) if not new_acl == self.dir_acl: self.assertTrue(new_acl._eq_verbose(self.dir_acl)) self.assertFalse("Shouldn't be here---eq != _eq_verbose?")
def testBasic(self): """Test basic writing and reading of ACLs""" self.make_temp_out_dirs() new_acl = AccessControlLists(()) tempdir.chmod(0o700) new_acl.read_from_rp(tempdir) self.assertTrue(new_acl.is_basic()) self.assertNotEqual(new_acl, self.sample_acl) self.assertEqual(new_acl, self.empty_acl) self.sample_acl.write_to_rp(tempdir) new_acl.read_from_rp(tempdir) self.assertEqual(str(new_acl), str(self.sample_acl)) self.assertEqual(new_acl, self.sample_acl)
def testBasic(self): """Test basic writing and reading of ACLs""" self.make_temp_out_dirs() new_acl = AccessControlLists(()) tempdir.chmod(0o700) new_acl.read_from_rp(tempdir) assert new_acl.is_basic(), str(new_acl) assert not new_acl == self.sample_acl assert new_acl != self.sample_acl assert new_acl == self.empty_acl, \ (str(new_acl), str(self.empty_acl)) self.sample_acl.write_to_rp(tempdir) new_acl.read_from_rp(tempdir) assert str(new_acl) == str(self.sample_acl), \ (str(new_acl), str(self.sample_acl)) assert new_acl == self.sample_acl