Reverting "Always activate testing in every test module ever."
[mediagoblin.git] / mediagoblin / tests / test_workbench.py
index 636c86896e8dab53590d60d43660e3599fe43830..6695618b562973d43f2830db8919c5c7338d2097 100644 (file)
@@ -21,13 +21,18 @@ import tempfile
 from mediagoblin.tools import workbench
 from mediagoblin.mg_globals import setup_globals
 from mediagoblin.decorators import get_workbench
-from mediagoblin.tests.test_storage import get_tmp_filestorage
+from mediagoblin.tests.test_storage import get_tmp_filestorage, cleanup_storage
 
 
 class TestWorkbench(object):
-    def setUp(self):
+    def setup(self):
+        self.workbench_base = tempfile.mkdtemp(prefix='gmg_workbench_testing')
         self.workbench_manager = workbench.WorkbenchManager(
-            os.path.join(tempfile.gettempdir(), u'mgoblin_workbench_testing'))
+            self.workbench_base)
+
+    def teardown(self):
+        # If the workbench is empty, this should work.
+        os.rmdir(self.workbench_base)
 
     def test_create_workbench(self):
         workbench = self.workbench_manager.create()
@@ -70,6 +75,8 @@ class TestWorkbench(object):
         filename = this_workbench.localized_file(this_storage, filepath)
         assert filename == os.path.join(
             tmpdir, 'dir1/dir2/ourfile.txt')
+        this_storage.delete_file(filepath)
+        cleanup_storage(this_storage, tmpdir, ['dir1', 'dir2'])
 
         # with a fake remote file storage
         tmpdir, this_storage = get_tmp_filestorage(fake_remote=True)
@@ -95,6 +102,10 @@ class TestWorkbench(object):
         assert filename == os.path.join(
             this_workbench.dir, 'thisfile.text')
 
+        this_storage.delete_file(filepath)
+        cleanup_storage(this_storage, tmpdir, ['dir1', 'dir2'])
+        this_workbench.destroy()
+
     def test_workbench_decorator(self):
         """Test @get_workbench decorator and automatic cleanup"""
         # The decorator needs mg_globals.workbench_manager