def test_clean_non_root( self, listdir, access, is_shared, unlink_shared, delete, config, rmdir, lexists): """ Ensure that empty directories more than 1 level up from root are removed. """ listdir.return_value = None access.return_value = True path = '/storage/pulp/content/test/lvl1/lvl2/thing.remove' storage_dir = '/storage/pulp' is_shared.return_value = False config.get.return_value = storage_dir lexists.return_value = True OrphanManager.delete_orphaned_file(path) rmdir.assert_has_calls( [ call('/storage/pulp/content/test/lvl1/lvl2'), call('/storage/pulp/content/test/lvl1') ])
def test_path_not_exists(self, is_shared, unlink_shared, delete, config, rmdir, lexists): lexists.return_value = False path = '/tmp/path-1' # test OrphanManager.delete_orphaned_file(path) # validation lexists.assert_called_once_with(path) self.assertFalse(is_shared.called) self.assertFalse(delete.called) self.assertFalse(rmdir.called) self.assertFalse(unlink_shared.called)
def test_clean_no_access(self, mls, maccess, is_shared, unlink_shared, delete, config, m_rmdir): """ Ensure that rmdir is not called when user does not have access to dir. """ mls.return_value = None maccess.return_value = False path = '/storage/pulp/content/test/lvl1/lvl2/thing.remove' storage_dir = '/storage/pulp' is_shared.return_value = False config.get.return_value = storage_dir OrphanManager.delete_orphaned_file(path) self.assertFalse(m_rmdir.called)
def test_not_shared(self, is_shared, unlink_shared, delete, config): path = '/path-1' storage_dir = '/storage/pulp/dir' is_shared.return_value = False config.get.return_value = storage_dir # test OrphanManager.delete_orphaned_file(path) # validation is_shared.assert_called_once_with(storage_dir, path) delete.assert_called_once_with(path) self.assertFalse(unlink_shared.called)
def test_clean_nonempty(self, mls, maccess, is_shared, unlink_shared, delete, config, m_rmdir): """ Ensure that nonempty directories are not removed. """ mls.return_value = ['some', 'files'] maccess.return_value = True path = '/storage/pulp/content/test/lvl1/lvl2/thing.remove' storage_dir = '/storage/pulp' is_shared.return_value = False config.get.return_value = storage_dir OrphanManager.delete_orphaned_file(path) self.assertFalse(m_rmdir.called)
def test_clean_non_root(self, mls, maccess, is_shared, unlink_shared, delete, config, m_rmdir): """ Ensure that empty directories more than 1 level up from root are removed. """ mls.return_value = None maccess.return_value = True path = '/storage/pulp/content/test/lvl1/lvl2/thing.remove' storage_dir = '/storage/pulp' is_shared.return_value = False config.get.return_value = storage_dir OrphanManager.delete_orphaned_file(path) m_rmdir.assert_has_calls([ call('/storage/pulp/content/test/lvl1/lvl2'), call('/storage/pulp/content/test/lvl1') ])