def test_gen_reload_queries_with_mixed_stores(self): # gen_reload_queries() returns one query for each distinct # store even for the same object type. db_object = self.factory.makeComponent() db_object_type = bulk.get_type(db_object) # Commit so the database object is available in both master # and slave stores. transaction.commit() db_objects = set( (IMasterStore(db_object).get(db_object_type, db_object.id), ISlaveStore(db_object).get(db_object_type, db_object.id))) db_queries = list(bulk.gen_reload_queries(db_objects)) self.failUnlessEqual(2, len(db_queries)) db_objects_loaded = set() for db_query in db_queries: objects = set(db_query) # None of these objects should have been loaded before. self.failUnlessEqual( set(), objects.intersection(db_objects_loaded)) db_objects_loaded.update(objects) self.failUnlessEqual(db_objects, db_objects_loaded)
def test_gen_reload_queries_with_mixed_stores(self): # gen_reload_queries() returns one query for each distinct # store even for the same object type. db_object = self.factory.makeComponent() db_object_type = bulk.get_type(db_object) # Commit so the database object is available in both master # and slave stores. transaction.commit() db_objects = set( (IMasterStore(db_object).get(db_object_type, db_object.id), ISlaveStore(db_object).get(db_object_type, db_object.id))) db_queries = list(bulk.gen_reload_queries(db_objects)) self.failUnlessEqual(2, len(db_queries)) db_objects_loaded = set() for db_query in db_queries: objects = set(db_query) # None of these objects should have been loaded before. self.failUnlessEqual(set(), objects.intersection(db_objects_loaded)) db_objects_loaded.update(objects) self.failUnlessEqual(db_objects, db_objects_loaded)
def test_get_type_with_proxied_object(self): proxied_object = proxy.Proxy('fred', checker.Checker({})) self.failUnlessEqual(str, bulk.get_type(proxied_object))
def test_get_type(self): self.failUnlessEqual(object, bulk.get_type(object()))