From c42c86aef043c0ef0f55403a27b022ce11154d98 Mon Sep 17 00:00:00 2001 From: Calen Pennington Date: Thu, 26 May 2016 16:39:04 -0400 Subject: [PATCH] Cleanup uploaded files after badging tests --- lms/djangoapps/badges/tests/test_models.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lms/djangoapps/badges/tests/test_models.py b/lms/djangoapps/badges/tests/test_models.py index d2eed6b12e..3998c5912e 100644 --- a/lms/djangoapps/badges/tests/test_models.py +++ b/lms/djangoapps/badges/tests/test_models.py @@ -3,6 +3,7 @@ Tests for the Badges app models. """ from django.core.exceptions import ValidationError from django.core.files.images import ImageFile +from django.core.files.storage import default_storage from django.db.utils import IntegrityError from django.test import TestCase from django.test.utils import override_settings @@ -65,6 +66,20 @@ class BadgeClassTest(ModuleStoreTestCase): """ Test BadgeClass functionality """ + + def setUp(self): + super(BadgeClassTest, self).setUp() + self.addCleanup(self.cleanup_uploads) + + def cleanup_uploads(self): + """ + Remove all files uploaded as badges. + """ + upload_to = BadgeClass._meta.get_field('image').upload_to # pylint: disable=protected-access + (_, files) = default_storage.listdir(upload_to) + for uploaded_file in files: + default_storage.delete(upload_to + '/' + uploaded_file) + # Need full path to make sure class names line up. @override_settings(BADGING_BACKEND='lms.djangoapps.badges.tests.test_models.DummyBackend') def test_backend(self):