def test_del_many_children_allowed(self):
     fs = impl_memory.FakeFilesystem()
     fs['/a'] = 'a'
     fs['/a/b'] = 'b'
     self.assertEqual(2, len(fs.ls_r("/")))
     fs.delete("/a", recursive=True)
     self.assertEqual(0, len(fs.ls("/")))
예제 #2
0
 def test_old_ls_recursive_targeted_absolute(self):
     fs = impl_memory.FakeFilesystem()
     fs.ensure_path("/d")
     fs.ensure_path("/c/d")
     fs.ensure_path("/b/c/d")
     fs.ensure_path("/a/b/c/d")
     contents = fs.ls("/a/b", recursive=True)
     self.assertEqual(['/a/b/c', '/a/b/c/d'], contents)
예제 #3
0
 def test_ls_recursive_targeted(self):
     fs = impl_memory.FakeFilesystem()
     fs.ensure_path("/d")
     fs.ensure_path("/c/d")
     fs.ensure_path("/b/c/d")
     fs.ensure_path("/a/b/c/d")
     contents = fs.ls_r("/a/b", absolute=False)
     self.assertEqual(['c', 'c/d'], contents)
예제 #4
0
 def test_ensure_linked_delete(self):
     fs = impl_memory.FakeFilesystem()
     fs['/b'] = 'd'
     fs.symlink('/b', '/c')
     self.assertEqual('d', fs['/b'])
     self.assertEqual('d', fs['/c'])
     del fs['/b']
     self.assertRaises(exc.NotFound, self._get_item_path, fs, '/c')
     self.assertRaises(exc.NotFound, self._get_item_path, fs, '/b')
예제 #5
0
 def test_set_get_ls(self):
     fs = impl_memory.FakeFilesystem()
     fs['/d'] = 'd'
     fs['/c'] = 'c'
     fs['/d/b'] = 'db'
     self.assertEqual(2, len(fs.ls('/')))
     self.assertEqual(1, len(fs.ls('/d')))
     self.assertEqual('d', fs['/d'])
     self.assertEqual('c', fs['/c'])
     self.assertEqual('db', fs['/d/b'])
예제 #6
0
 def test_clear(self):
     fs = impl_memory.FakeFilesystem()
     paths = ['/b', '/c', '/a/b/c']
     for p in paths:
         fs.ensure_path(p)
     for p in paths:
         self.assertIsNone(self._get_item_path(fs, p))
     fs.clear()
     for p in paths:
         self.assertRaises(exc.NotFound, self._get_item_path, fs, p)
예제 #7
0
 def test_ensure_path(self):
     fs = impl_memory.FakeFilesystem()
     pieces = ['a', 'b', 'c']
     path = "/" + "/".join(pieces)
     fs.ensure_path(path)
     path = fs.root_path
     for i, p in enumerate(pieces):
         if i == 0:
             path += p
         else:
             path += "/" + p
         self.assertIsNone(fs[path])
예제 #8
0
 def test_ls_recursive(self):
     fs = impl_memory.FakeFilesystem()
     fs.ensure_path("/d")
     fs.ensure_path("/c/d")
     fs.ensure_path("/b/c/d")
     fs.ensure_path("/a/b/c/d")
     contents = fs.ls_r("/", absolute=False)
     self.assertEqual([
         'a',
         'b',
         'c',
         'd',
         'a/b',
         'b/c',
         'c/d',
         'a/b/c',
         'b/c/d',
         'a/b/c/d',
     ], contents)
예제 #9
0
 def test_old_ls_recursive(self):
     fs = impl_memory.FakeFilesystem()
     fs.ensure_path("/d")
     fs.ensure_path("/c/d")
     fs.ensure_path("/b/c/d")
     fs.ensure_path("/a/b/c/d")
     contents = fs.ls("/", recursive=True)
     self.assertEqual([
         '/a',
         '/b',
         '/c',
         '/d',
         '/a/b',
         '/b/c',
         '/c/d',
         '/a/b/c',
         '/b/c/d',
         '/a/b/c/d',
     ], contents)
예제 #10
0
 def test_link_loop_raises(self):
     fs = impl_memory.FakeFilesystem()
     fs['/b'] = 'c'
     fs.symlink('/b', '/b')
     self.assertRaises(ValueError, self._get_item_path, fs, '/b')
예제 #11
0
 def test_del_root_not_allowed(self):
     fs = impl_memory.FakeFilesystem()
     self.assertRaises(ValueError, self._del_item_path, fs, '/')
예제 #12
0
 def test_bad_norms(self):
     fs = impl_memory.FakeFilesystem()
     self.assertRaises(ValueError, fs.normpath, '')
     self.assertRaises(ValueError, fs.normpath, 'abc/c')
     self.assertRaises(ValueError, fs.normpath, '../c')
예제 #13
0
 def test_not_found(self):
     fs = impl_memory.FakeFilesystem()
     self.assertRaises(exc.NotFound, self._get_item_path, fs, '/c')
 def test_del_with_children_not_allowed(self):
     fs = impl_memory.FakeFilesystem()
     fs['/a'] = 'a'
     fs['/a/b'] = 'b'
     self.assertRaises(ValueError, fs.delete, "/a", recursive=False)
 def test_del_no_children_allowed(self):
     fs = impl_memory.FakeFilesystem()
     fs['/a'] = 'a'
     self.assertEqual(1, len(fs.ls_r("/")))
     fs.delete("/a")
     self.assertEqual(0, len(fs.ls("/")))
 def test_del_root_not_allowed(self):
     fs = impl_memory.FakeFilesystem()
     self.assertRaises(ValueError, fs.delete, "/", recursive=False)