class TestUserFileStorage(unittest.TestCase): def setUp(self): test_utils.setup() self.__storage = UserFileStorage(b'12345678') self.upload_feature = FileUploadFeature(self.__storage, test_utils.temp_folder) def tearDown(self): test_utils.cleanup() self.__storage._stop_autoclean() def test_create_file(self): file_path = self.upload_feature.save_file('my_file.txt', b'test text', 'userX') self.assertTrue(os.path.exists(file_path)) def test_content_in_created_file(self): file_path = self.upload_feature.save_file('my_file.txt', b'My text', 'userX') content = file_utils.read_file(file_path) self.assertEqual('My text', content) def test_same_filename(self): file_path1 = self.upload_feature.save_file('my_file.txt', b'some text', 'userX') file_path2 = self.upload_feature.save_file('my_file.txt', b'some text', 'userX') self.assertNotEqual(file_path1, file_path2)
class TestUserFileStorage(unittest.TestCase): def setUp(self): test_utils.setup() self.storage = UserFileStorage(b'12345678') def tearDown(self): test_utils.cleanup() self.storage._stop_autoclean() def test_create_folder(self): user_folder = self.storage.prepare_new_folder('me', test_utils.temp_folder) self.assertTrue(os.path.exists(user_folder)) def test_create_folder_for_different_users(self): user1_folder = self.storage.prepare_new_folder('user1', test_utils.temp_folder) user2_folder = self.storage.prepare_new_folder('user2', test_utils.temp_folder) self.assertNotEqual(user1_folder, user2_folder) def test_create_different_folders_for_a_user(self): folder1 = self.storage.prepare_new_folder('me', test_utils.temp_folder) time.sleep(0.002) folder2 = self.storage.prepare_new_folder('me', test_utils.temp_folder) self.assertNotEqual(folder1, folder2) def test_autoclean_folder(self): folder = self.storage.prepare_new_folder('me', test_utils.temp_folder) self.storage.start_autoclean(test_utils.temp_folder, 2) self.assertTrue(os.path.exists(folder)) time.sleep(0.005) self.assertFalse(os.path.exists(folder)) def test_allow_to_access_own_folder(self): user1_folder = self.storage.prepare_new_folder('user1', test_utils.temp_folder) relative_folder = file_utils.relative_path(user1_folder, test_utils.temp_folder) self.assertTrue(self.storage.allowed_to_access(relative_folder, 'user1')) def test_prohibit_access_to_different_user(self): user1_folder = self.storage.prepare_new_folder('user1', test_utils.temp_folder) relative_folder = file_utils.relative_path(user1_folder, test_utils.temp_folder) self.assertFalse(self.storage.allowed_to_access(relative_folder, 'user2'))
class TestUserFileStorage(unittest.TestCase): def setUp(self): test_utils.setup() self.storage = UserFileStorage(b'12345678') def tearDown(self): test_utils.cleanup() self.storage._stop_autoclean() def test_create_folder(self): user_folder = self.storage.prepare_new_folder('me', test_utils.temp_folder) self.assertTrue(os.path.exists(user_folder)) def test_create_folder_for_different_users(self): user1_folder = self.storage.prepare_new_folder('user1', test_utils.temp_folder) user2_folder = self.storage.prepare_new_folder('user2', test_utils.temp_folder) self.assertNotEqual(user1_folder, user2_folder) def test_create_different_folders_for_a_user(self): folder1 = self.storage.prepare_new_folder('me', test_utils.temp_folder) time.sleep(0.002) folder2 = self.storage.prepare_new_folder('me', test_utils.temp_folder) self.assertNotEqual(folder1, folder2) def test_autoclean_folder(self): folder = self.storage.prepare_new_folder('me', test_utils.temp_folder) self.storage.start_autoclean(test_utils.temp_folder, 2) self.assertTrue(os.path.exists(folder)) time.sleep(0.020) self.assertFalse(os.path.exists(folder)) def test_allow_to_access_own_folder(self): user1_folder = self.storage.prepare_new_folder('user1', test_utils.temp_folder) relative_folder = file_utils.relative_path(user1_folder, test_utils.temp_folder) self.assertTrue(self.storage.allowed_to_access(relative_folder, 'user1')) def test_prohibit_access_to_different_user(self): user1_folder = self.storage.prepare_new_folder('user1', test_utils.temp_folder) relative_folder = file_utils.relative_path(user1_folder, test_utils.temp_folder) self.assertFalse(self.storage.allowed_to_access(relative_folder, 'user2'))
class TestUserFileStorage(unittest.TestCase): def setUp(self): test_utils.setup() self.__storage = UserFileStorage(b'12345678') self.upload_feature = FileUploadFeature(self.__storage, test_utils.temp_folder) def tearDown(self): test_utils.cleanup() self.__storage._stop_autoclean() def test_prepare_new_folder(self): file_path = self.upload_feature.prepare_new_folder('userX') self.assertTrue(os.path.exists(file_path)) def test_prepare_new_folder_different_users(self): path1 = self.upload_feature.prepare_new_folder('userX') path2 = self.upload_feature.prepare_new_folder('userY') self.assertNotEqual(path1, path2) def test_prepare_new_folder_twice(self): file_path1 = self.upload_feature.prepare_new_folder('userX') time.sleep(0.1) file_path2 = self.upload_feature.prepare_new_folder('userX') self.assertNotEqual(file_path1, file_path2)