Mercurial > bzapi
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()