Merge "Modify YARDSTICK_DB_BACKEND value on zte-pod1."
[releng.git] / utils / test / result_collection_api / tests / unit / test_fake_pymongo.py
1 import unittest
2 from tornado.web import Application
3 from tornado import gen
4 from tornado.testing import AsyncHTTPTestCase, gen_test
5
6 import fake_pymongo
7
8
9 class MyTest(AsyncHTTPTestCase):
10     def setUp(self):
11         super(MyTest, self).setUp()
12         self.db = fake_pymongo
13         self.io_loop.run_sync(self.fixture_setup)
14
15     def get_app(self):
16         return Application()
17
18     @gen.coroutine
19     def fixture_setup(self):
20         self.test1 = {'_id': '1', 'name': 'test1'}
21         self.test2 = {'name': 'test2'}
22         yield self.db.pod.insert({'_id': '1', 'name': 'test1'})
23         yield self.db.pod.insert({'name': 'test2'})
24
25     @gen_test
26     def test_find_one(self):
27         user = yield self.db.pod.find_one({'name': 'test1'})
28         self.assertEqual(user, self.test1)
29
30     @gen_test
31     def test_find(self):
32         cursor = self.db.pod.find()
33         names = []
34         while (yield cursor.fetch_next):
35             ob = cursor.next_object()
36             names.append(ob.get('name'))
37         self.assertItemsEqual(names, ['test1', 'test2'])
38
39     @gen_test
40     def test_update(self):
41         yield self.db.pod.update({'_id': '1'}, {'name': 'new_test1'})
42         user = yield self.db.pod.find_one({'_id': '1'})
43         self.assertEqual(user.get('name', None), 'new_test1')
44
45     @gen_test
46     def test_remove(self):
47         yield self.db.pod.remove({'_id': '1'})
48         user = yield self.db.pod.find_one({'_id': '1'})
49         self.assertIsNone(user)
50
51 if __name__ == '__main__':
52     unittest.main()