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 test_instantiation_fail(self) -> None: with self.assertRaises(NotADirectoryError): FilesystemBackend("C\\#~~")
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)