aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristopher Allan Webber <cwebber@dustycloud.org>2011-06-11 18:52:48 -0500
committerChristopher Allan Webber <cwebber@dustycloud.org>2011-06-11 18:52:48 -0500
commit2ecee34f08ad367f54f7a066a2e3ce81aba01f0f (patch)
tree2a6b8abe6e97b5b11351a8f5ed10d1e95a80b0e2
parent2616d70903a775ee3790bdd38f6f0ad4003c0170 (diff)
downloadmediagoblin-2ecee34f08ad367f54f7a066a2e3ce81aba01f0f.tar.lz
mediagoblin-2ecee34f08ad367f54f7a066a2e3ce81aba01f0f.tar.xz
mediagoblin-2ecee34f08ad367f54f7a066a2e3ce81aba01f0f.zip
Make sure workbench won't kill directories out of scope.
-rw-r--r--mediagoblin/tests/test_workbench.py22
1 files changed, 16 insertions, 6 deletions
diff --git a/mediagoblin/tests/test_workbench.py b/mediagoblin/tests/test_workbench.py
index 1d006645..83e90c3d 100644
--- a/mediagoblin/tests/test_workbench.py
+++ b/mediagoblin/tests/test_workbench.py
@@ -17,6 +17,8 @@
import os
import tempfile
+from nose.tools import assert_raises
+
from mediagoblin.process_media import workbench
@@ -32,13 +34,21 @@ class TestWorkbench(object):
def test_destroy_workbench(self):
# kill a workbench
- workbench = self.workbench_manager.create_workbench()
- tmpfile = file(os.path.join(workbench, 'temp.txt'), 'w')
+ this_workbench = self.workbench_manager.create_workbench()
+ tmpfile = file(os.path.join(this_workbench, 'temp.txt'), 'w')
with tmpfile:
tmpfile.write('lollerskates')
- assert os.path.exists(os.path.join(workbench, 'temp.txt'))
+ assert os.path.exists(os.path.join(this_workbench, 'temp.txt'))
+
+ self.workbench_manager.destroy_workbench(this_workbench)
+ assert not os.path.exists(os.path.join(this_workbench, 'temp.txt'))
+ assert not os.path.exists(this_workbench)
+
+ # make sure we can't kill other stuff though
+ dont_kill_this = tempfile.mkdtemp()
- self.workbench_manager.destroy_workbench(workbench)
- assert not os.path.exists(os.path.join(workbench, 'temp.txt'))
- assert not os.path.exists(workbench)
+ assert_raises(
+ workbench.WorkbenchOutsideScope,
+ self.workbench_manager.destroy_workbench,
+ dont_kill_this)