def test_orphaned_files__default_path(self): clean = Clean() walk_ret = (('dg', ['test'], []), ('dg/test', [], ['fake1.png', 'fake2.png', 'fake3.png'])) AdjustedImage.objects.create(requested='fit|50|50', storage_path='whatever.png', adjusted='dg/test/fake2.png') with mock.patch.object(clean, '_walk', return_value=walk_ret) as walk: self.assertEqual(clean._orphaned_files(), ['dg/test/fake1.png', 'dg/test/fake3.png']) walk.assert_called_once_with('dg', topdown=False)
def test_old_areas(self): """ _old_areas should return Areas whose storage_path no longer exists. """ nonexistant = 'daguerre/test/nonexistant.png' if default_storage.exists(nonexistant): default_storage.delete(nonexistant) storage_path = self.create_image('100x100.png') kwargs = {'x1': 0, 'x2': 10, 'y1': 0, 'y2': 10} area1 = Area.objects.create(storage_path=nonexistant, **kwargs) Area.objects.create(storage_path=storage_path, **kwargs) clean = Clean() self.assertEqual(list(clean._old_areas()), [area1]) default_storage.delete(storage_path)
def test_duplicate_adjustments(self): path1 = self.create_image('100x100.png') path2 = self.create_image('100x100.png') adjusted1 = AdjustedImage.objects.create(requested='fit|50|50', storage_path=path1, adjusted=path1) adjusted2 = AdjustedImage.objects.create(requested='fit|50|50', storage_path=path1, adjusted=path1) adjusted3 = AdjustedImage.objects.create(requested='fit|50|50', storage_path=path2, adjusted=path1) clean = Clean() duplicates = clean._duplicate_adjustments() self.assertNotIn(adjusted3, duplicates) self.assertTrue( list(duplicates) == [adjusted1] or list(duplicates) == [adjusted2])
def test_missing_adjustments(self): """ _missing_adjustments should return AdjustedImages whose adjusted no longer exists. """ nonexistant = 'daguerre/test/nonexistant.png' if default_storage.exists(nonexistant): default_storage.delete(nonexistant) storage_path = self.create_image('100x100.png') adjusted1 = AdjustedImage.objects.create(requested='fit|50|50', storage_path=storage_path, adjusted=nonexistant) AdjustedImage.objects.create(requested='fit|50|50', storage_path=storage_path, adjusted=storage_path) clean = Clean() self.assertEqual(list(clean._missing_adjustments()), [adjusted1]) default_storage.delete(storage_path)