changeset 5:ebeab25bca50

added tests
author Atul Varma <avarma@mozilla.com>
date Mon, 31 May 2010 10:29:25 -0700
parents 0203cae3947f
children b653b7beec1a
files tests/test_server.py
diffstat 1 files changed, 28 insertions(+), 17 deletions(-) [+]
line wrap: on
line diff
--- a/tests/test_server.py	Mon May 31 10:23:11 2010 -0700
+++ b/tests/test_server.py	Mon May 31 10:29:25 2010 -0700
@@ -3,28 +3,39 @@
 import sjsbox.server
 from sjsbox.bunch import Bunch
 
-class ServerTests(unittest.TestCase):
-    def test_boxes(self):
-        foo = Bunch(
+class BoxesTests(unittest.TestCase):
+    def setUp(self):
+        self.foo = Bunch(
             mtime = 0,
             name = 'foo.js',
             contents = 'function handle() { return 404; }'
             )
+        self.dir = [self.foo]
+        self.boxes = sjsbox.server.Boxes(self.dir)
+        self.assertEqual(self.boxes['foo'].handle('GET', '/'),
+                         404)
 
-        boxes = sjsbox.server.Boxes([foo])
-        try:
-            self.assertEqual(boxes['foo'].handle('GET', '/'),
-                             404)
-            boxes.update()
-            self.assertEqual(boxes['foo'].handle('GET', '/'),
-                             404)
-            foo.mtime = 1
-            foo.contents = 'function handle() { return "yo"; }';
-            boxes.update()
-            self.assertEqual(boxes['foo'].handle('GET', '/'),
-                             u'yo')
-        finally:
-            boxes.shutdown()
+    def tearDown(self):
+        self.boxes.shutdown()
+
+    def test_contains_works(self):
+        self.assertTrue('foo' in self.boxes)
+
+    def test_update_works(self):
+        self.boxes.update()
+        self.assertEqual(self.boxes['foo'].handle('GET', '/'),
+                         404)
+
+        self.foo.mtime = 1
+        self.foo.contents = 'function handle() { return "yo"; }';
+        self.boxes.update()
+        self.assertEqual(self.boxes['foo'].handle('GET', '/'),
+                         u'yo')
+
+    def test_remove_works(self):
+        self.dir[:] = []
+        self.boxes.update()
+        self.assertFalse('foo' in self.boxes)
 
 def test_app():
     sjsbox.server.App(None)