Пример #1
0
    def test_bulk_replace_no_changes(self):
        with self.app.app_context():
            item = DUMMY_ITEMS[0]
            replace_item = copy.deepcopy(item)

            update_pairs = [(item, replace_item)]

            db = self.app.config['db']
            result = bulk_replace(db, update_pairs)

            self.assertEqual(result.matched_count, 1)
            self.assertEqual(result.modified_count, 0)
Пример #2
0
    def test_bulk_replace_single_object(self):
        with self.app.app_context():
            item = DUMMY_ITEMS[0]
            replace_item = copy.deepcopy(item)
            replace_item.dead = True

            update_pairs = [(item, replace_item)]

            db = self.app.config['db']
            result = bulk_replace(db, update_pairs)

            self.assertEqual(result.matched_count, 1)
            self.assertEqual(result.modified_count, 1)
Пример #3
0
    def test_bulk_replace_multiple_objects_with_partial_modify(self):
        with self.app.app_context():
            item0 = DUMMY_ITEMS[0]
            replace_item0 = copy.deepcopy(item0)
            replace_item0.dead = True

            item1 = DUMMY_ITEMS[1]
            replace_item1 = copy.deepcopy(item1)

            update_pairs = [(item0, replace_item0), (item1, replace_item1)]

            db = self.app.config['db']
            result = bulk_replace(db, update_pairs)

            self.assertEqual(result.matched_count, 2)
            self.assertEqual(result.modified_count, 1)
Пример #4
0
    def test_bulk_replace_single_object_twice(self):
        with self.app.app_context():
            item = DUMMY_ITEMS[0]
            replace_item0 = copy.deepcopy(item)
            replace_item0.dead = True

            replace_item1 = copy.deepcopy(item)
            replace_item1.colony = True

            update_pairs = [(item, replace_item0), (item, replace_item1)]

            db = self.app.config['db']
            result = bulk_replace(db, update_pairs)

            db_item = self.db.items.find_one({'_id': item._id})
            self.assertDictEqual(replace_item0.get_dict(), db_item)

            self.assertEqual(result.matched_count, 1)
            self.assertEqual(result.modified_count, 1)