class FileSystemStorageTest(TestCase): def setUp(self): self.temp_dir = tempfile.mkdtemp() self.storage = FileSystemStorage(location=self.temp_dir) def tearDown(self): shutil.rmtree(self.temp_dir) def test_delete_file(self): file_path = os.path.join(self.temp_dir, 'foo') open(file_path, 'w').close() self.storage.delete_file('foo') self.assertFalse(os.listdir(self.temp_dir)) def test_list_directory(self): file_path1 = os.path.join(self.temp_dir, 'foo') file_path2 = os.path.join(self.temp_dir, 'bar') self.assertEqual(0, len(os.listdir(self.temp_dir))) open(file_path1, 'w').close() self.assertEqual(1, len(os.listdir(self.temp_dir))) open(file_path2, 'w').close() self.assertEqual(2, len(os.listdir(self.temp_dir))) def test_write_file(self): file_path = os.path.join(self.temp_dir, 'foo') self.storage.write_file(BytesIO(b'bar'), 'foo') self.assertTrue(os.path.exists(file_path)) self.assertEqual(open(file_path).read(), 'bar') def test_read_file(self): file_path = os.path.join(self.temp_dir, 'foo') with open(file_path, 'w') as fd: fd.write('bar') read_file = self.storage.read_file('foo') self.assertEqual(read_file.read(), b'bar')