def setUp(self) -> None: self.tmpdir = TemporaryDirectory() self.cwd = os.getcwd() os.chdir(self.tmpdir.name) dirname = "fsbackendtest" os.mkdir(dirname) # replace by temporary directory self.backend = FilesystemBackend(dirname) self.testdata = "dshiuasduzchjbfdnbewhsdcuzd" self.alternative_testdata = "8u993zhhbn\nb3tadgadg" self.identifier = "some name"
class FileSystemBackendTest(unittest.TestCase): def setUp(self) -> None: self.tmpdir = TemporaryDirectory() self.cwd = os.getcwd() os.chdir(self.tmpdir.name) dirname = "fsbackendtest" os.mkdir(dirname) # replace by temporary directory self.backend = FilesystemBackend(dirname) self.testdata = "dshiuasduzchjbfdnbewhsdcuzd" self.alternative_testdata = "8u993zhhbn\nb3tadgadg" self.identifier = "some name" def tearDown(self) -> None: os.chdir(self.cwd) self.tmpdir.cleanup() def test_put_and_get_normal(self) -> None: # first put the data self.backend.put(self.identifier, self.testdata) # then retrieve it again data = self.backend.get(self.identifier) self.assertEqual(data, self.testdata) def test_put_file_exists_no_overwrite(self) -> None: name = "test_put_file_exists_no_overwrite" self.backend.put(name, self.testdata) with self.assertRaises(FileExistsError): self.backend.put(name, self.alternative_testdata) self.assertEqual(self.testdata, self.backend.get(name)) def test_put_file_exists_overwrite(self) -> None: name = "test_put_file_exists_overwrite" self.backend.put(name, self.testdata) self.backend.put(name, self.alternative_testdata, overwrite=True) self.assertEqual(self.alternative_testdata, self.backend.get(name)) def test_instantiation_fail(self) -> None: with self.assertRaises(NotADirectoryError): FilesystemBackend("C\\#~~") def test_exists(self) -> None: name = "test_exists" self.backend.put(name, self.testdata) self.assertTrue(self.backend.exists(name)) self.assertFalse(self.backend.exists("exists_not")) def test_get_not_existing(self) -> None: name = "test_get_not_existing" with self.assertRaises(FileNotFoundError): self.backend.get(name)