def test_index_on_commit(self, factory, obj_count): """Test count number of queries on reindex procedure.""" model = factory._meta.model # pylint: disable=protected-access with ggrc_factories.single_commit(): obj_to_index = {factory() for _ in range(obj_count)} db.session.expire_all() db.session.reindex_set = model.query.filter( model.id.in_([i.id for i in obj_to_index]), ).options( orm.Load(model).load_only("id") ).all() with QueryCounter() as counter: mysql.update_indexer(db.session) self.assertLessEqual( counter.get, self.INDEX_QUERY_LIMIT[model.__name__], "Index {model} has too much queries: " "{counted} greater than {expected} for generate " "{obj_count} instances".format( model=model, expected=self.INDEX_QUERY_LIMIT[model.__name__], counted=counter.get, obj_count=obj_count, ) )
def test_index_on_commit(self, factory, obj_count): """Test count number of queries on reindex procedure.""" model = factory._meta.model # pylint: disable=protected-access with ggrc_factories.single_commit(): obj_to_index = {factory() for _ in range(obj_count)} db.session.expire_all() query = model.query.filter( model.id.in_([i.id for i in obj_to_index]), ).options( orm.Load(model).load_only("id") ) for instance in query: db.session.reindex_set.add(instance) with QueryCounter() as counter: mysql.update_indexer(db.session) self.assertLessEqual( counter.get, self.INDEX_QUERY_LIMIT[model.__name__], "Index {model} has too much queries: " "{counted} greater than {expected} for generate " "{obj_count} instances".format( model=model, expected=self.INDEX_QUERY_LIMIT[model.__name__], counted=counter.get, obj_count=obj_count, ) )