Ejemplo n.º 1
0
 def test_create_file(self):
     fs = solution.FileSystem(32)
     content = 'Nineteen characters'
     fs.create('/data', content=content)
     file = fs.get_node('/data')
     self.assertFalse(file.is_directory)
     self.assertEqual(file.content, content)
Ejemplo n.º 2
0
    def test_move_exceptions(self):
        fs = solution.FileSystem(50)

        fs.create("/home", True)
        fs.create("/home/folder", True)
        fs.create("/home/home_file", False, "12")
        fs.create("/folder", True)
        fs.create("/home_file", False, "1111")

        with self.assertRaises(solution.SourceNodeDoesNotExistError):
            fs.move("/not_here", "/home")

        with self.assertRaises(solution.DestinationNodeDoesNotExistError):
            fs.move("/home", "/not_here")

        with self.assertRaises(solution.DestinationNotADirectoryError):
            fs.move("/home", "/home_file")

        with self.assertRaises(solution.DestinationNodeExistsError):
            fs.move("/folder", "/home")

        fs.remove("/home/home_file")
        fs.create("/home/home_file", True)
        with self.assertRaises(solution.DestinationNodeExistsError):
            fs.move("/home_file", "/home")
Ejemplo n.º 3
0
 def test_fs_size_upon_removing_no_nesting_file(self):
     fs = solution.FileSystem(50)
     fs.create("/file_", False, "12345")
     self.assertEqual(43, fs.available_size)
     fs.remove("/file_", False)
     root = fs.get_node("/")
     self.assertEqual(root.files, [])
     self.assertEqual(root.nodes, [])
Ejemplo n.º 4
0
 def test_fs_upon_removing_no_nesting_directory(self):
     fs = solution.FileSystem(50)
     fs.create("/dir_", True)
     self.assertEqual(48, fs.available_size)
     fs.remove("/dir_", True)
     root = fs.get_node("/")
     self.assertEqual(root.directories, [])
     self.assertEqual(root.nodes, [])
Ejemplo n.º 5
0
 def test_dir_nested_creation(self):
     fs = solution.FileSystem(50)
     fs.create("/home", True)
     fs.create("/home/pavel", True)
     fs.create("/home/pafi", False, "pavelll")
     pavel = fs.get_node("/home/pavel")
     pafi = fs.get_node("/home/pafi")
     self.assertTrue(pavel.is_directory)
     self.assertFalse(pafi.is_directory)
Ejemplo n.º 6
0
    def test_creation_not_enougnh_space(self):
        fs = solution.FileSystem(10)

        fs.create("/home", True)
        fs.create("/file_", False, "12345")
        fs.create("/bin", False, "a")

        with self.assertRaises(solution.NotEnoughSpaceError):
            fs.create("/init", True)
Ejemplo n.º 7
0
 def test_file_creation(self):
     fs = solution.FileSystem(50)
     content = "123456"
     fs.create("/file", False, content=content)
     file_size = 7
     file_ = fs.get_node("/file")
     self.assertFalse(file_.is_directory)
     self.assertEqual(file_.content, content)
     self.assertEqual(file_.size, file_size)
Ejemplo n.º 8
0
    def test_move_file(self):
        fs = solution.FileSystem(50)
        fs.create("/home", True)
        fs.create("/home/pavel", False, "132")

        fs.move("/home/pavel", "/")
        self.assertEqual(len(fs.root.files), 1)
        self.assertEqual(len(fs.root.directories), 1)
        self.assertEqual(len(fs.root.nodes), 2)
Ejemplo n.º 9
0
    def test_move_directory(self):

        fs = solution.FileSystem(50)

        fs.create("/home", True)
        fs.create("/bin", True)
        fs.create("/bin/pavel", True)

        fs.move("/bin", "/home")
        home = fs.get_node("/home")
        self.assertEqual(len(home.directories), 1)
Ejemplo n.º 10
0
    def test_dir_nested_removal(self):
        fs = solution.FileSystem(50)
        root = fs.get_node("/")

        fs.create("/home", True)

        fs.remove("/home", True, True)
        self.assertEqual(root.nodes, [])
        self.assertEqual(root.directories, [])

        fs.create("/home", False, "123")
        fs.remove("/home", False, True)
        self.assertEqual(root.nodes, [])
        self.assertEqual(root.directories, [])
Ejemplo n.º 11
0
    def test_removing_exceptions(self):
        fs = solution.FileSystem(10)

        fs.create("/home", True)

        with self.assertRaises(solution.NonExplicitDirectoryDeletionError):
            fs.remove("/home", False, True)

        fs.create("/home/pavel", False, "opa")

        with self.assertRaises(solution.NonEmptyDirectoryDeletionError):
            fs.remove("/home", True, False)

        with self.assertRaises(solution.NodeDoesNotExistError):
            fs.remove("/random/random", True, True)
Ejemplo n.º 12
0
 def test_move_sizes(self):
     fs = solution.FileSystem(50)
     root = fs.get_node("/")
     fs.create("/home", True)
     home = fs.get_node("/home")
     fs.create("/bin", True)
     fs.create("/bin/bash", False, "123")
     bin_ = fs.get_node("/bin")
     self.assertEqual(root.size, 7)
     self.assertEqual(home.size, 1)
     self.assertEqual(bin_.size, 5)
     fs.move("/bin/bash", "/home")
     self.assertEqual(root.size, 7)
     self.assertEqual(home.size, 5)
     self.assertEqual(bin_.size, 1)
Ejemplo n.º 13
0
    def test_fs_size_upon_creating_files(self):
        fs = solution.FileSystem(50)
        initial_avb_size = fs.available_size

        fs.create("/home", True)
        fs.create("/home/pavel", True)
        fs.create("/justfile", False, "1234")

        all_sizes = 7
        self.assertEqual(fs.available_size, initial_avb_size - all_sizes)

        fs.create("/home/trip", False, "123")
        fs.create("/home/oshte", True)
        fs.create("/home/oshte/malko", True)
        home = fs.get_node("/home")

        self.assertEqual(home.size, 8)
Ejemplo n.º 14
0
    def test_creation_exceptions_dest_nodes(self):
        fs = solution.FileSystem(10)
        root = fs.get_node("/")

        with self.assertRaises(solution.DestinationNodeDoesNotExistError):
            fs.create("/tovar/dd", True)

        with self.assertRaises(solution.DestinationNodeDoesNotExistError):
            fs.create("/home/pavel", False, "pipi")

        fs.create("/home", True)
        fs.create("/home/pavel", False, "da")

        with self.assertRaises(solution.DestinationNodeExistsError):
            fs.create("/home")
        with self.assertRaises(solution.DestinationNodeExistsError):
            fs.create("/home/pavel")
Ejemplo n.º 15
0
    def test_size_on_remove(self):

        fs = solution.FileSystem(50)
        root = fs.get_node("/")
        fs.create("/home", True)
        home = fs.get_node("/home")
        self.assertEqual(home.size, 1)
        fs.create("/home/pavel", True)
        self.assertEqual(home.size, 2)
        fs.create("/home/file", False, "123")
        self.assertEqual(home.size, 6)
        fs.remove("/home/file", False)
        self.assertEqual(home.size, 2)
        fs.create("/home/file", False, "123")
        self.assertEqual(home.size, 6)
        fs.remove("/home", True, True)
        self.assertEqual(root.size, 1)
Ejemplo n.º 16
0
 def setUp(self):
     self.fs = solution.FileSystem(32)
     self.test_file_content = 'Nineteen characters'
Ejemplo n.º 17
0
 def test_create_file_not_enough_space(self):
     self.fs = solution.FileSystem(21)
     self.create_data_file('/data')
     with self.assertRaises(solution.NotEnoughSpaceError):
         self.fs.create('/gosho')
Ejemplo n.º 18
0
 def setUp(self):
     super(TestFileSystemMount, self).setUp()
     self.other_fs = solution.FileSystem(5)
Ejemplo n.º 19
0
 def setUp(self):
     super(TestFileSystemUnmount, self).setUp()
     self.other_fs = solution.FileSystem(5)
     self.mount_path = '/mount_dir'
     self.fs.create(self.mount_path, directory=True)
     self.fs.mount(self.other_fs, self.mount_path)
Ejemplo n.º 20
0
 def test_minimal(self):
     fs = solution.FileSystem(10)
     self.assertEqual(fs.size, 10)
     self.assertEqual(fs.available_size, 9)
Ejemplo n.º 21
0
 def test_overwrite(self):
     fs = solution.FileSystem(32)
     fs.create('/i_was_here_first')
     with self.assertRaises(solution.DestinationNodeExistsError):
         fs.create('/i_was_here_first')
Ejemplo n.º 22
0
    def test_multiple_dir_nesting(self):

        fs = solution.FileSystem(50)
        fs.create("/home", True)
        fs.create("/home/oshte", True)
        fs.create("/home/oshte/malko", True)
Ejemplo n.º 23
0
 def test_create_directory(self):
     fs = solution.FileSystem(16)
     fs.create('/home', directory=True)
     home = fs.get_node('/home')
     self.assertTrue(home.is_directory)
Ejemplo n.º 24
0
 def test_dir_creation(self):
     fs = solution.FileSystem(50)
     fs.create("/home", True)
     home = fs.get_node("/home")
     self.assertTrue(home.is_directory)