changeset 22:01b054bc3a27

added a non-trivial cached search test
author Atul Varma <varmaa@toolness.com>
date Wed, 23 Dec 2009 22:14:26 -0800
parents e191d30033d8
children f5d7f4b40537
files test.py
diffstat 1 files changed, 28 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/test.py	Wed Dec 23 21:55:25 2009 -0800
+++ b/test.py	Wed Dec 23 22:14:26 2009 -0800
@@ -1,6 +1,7 @@
 import unittest
 import StringIO
-import copy
+from copy import deepcopy
+from datetime import datetime
 
 import simplejson as json
 import pymongo
@@ -93,9 +94,33 @@
 
     def test_update_with_no_bugs(self):
         api = self.FakeApi()
-        api.set('/bug', {}, {'data': {'bugs': {}}})
+        api.set('/bug', {}, {'data': {'bugs': []}})
         search = bzapi.CachedSearch(api, testdb.bugs)
         search.update()
+        self.assertEqual(testdb.bugs.find().count(), 0)
+
+    def test_update_with_bug(self):
+        api = self.FakeApi()
+
+        bug = {'id': '1034',
+               'creation_time': '2009-06-11T22:31:24Z',
+               'last_change_time': '2009-06-11T22:31:24Z'}
+        response = {'data': {'bugs': [bug]},
+                    'date': datetime.utcnow()}
+
+        api.set('/bug', {}, deepcopy(response))
+
+        bug['comments'] = 'blah'
+
+        api.set('/bug', {'id_mode': 'include',
+                         'id': '1034',
+                         'comments': '1',
+                         'history': '1'}, deepcopy(response))
+
+        search = bzapi.CachedSearch(api, testdb.bugs)
+        search.update()
+
+        self.assertEqual(testdb.bugs.find({'comments': 'blah'}).count(), 1)
 
 class ApiTests(_MongoTestCase):
     class FakeOpenUrl(object):
@@ -117,7 +142,7 @@
 
     def setUp(self):
         _MongoTestCase.setUp(self)
-        self.config = copy.deepcopy(self._FAKE_CONFIG)
+        self.config = deepcopy(self._FAKE_CONFIG)
 
     def _get_basic_fake_api(self, **kwargs):
         opener = self.FakeOpenUrl()