def tearDownClass(cls): for data_type in get_fixture_data_types(cls.domain): delete_fixture_items_for_data_type(cls.domain, data_type._id) for data_type in get_fixture_data_types(cls.linked_domain): delete_fixture_items_for_data_type(cls.linked_domain, data_type._id) delete_all_fixture_data_types() super().tearDownClass()
def update_fixture(domain_link, tag): if domain_link.is_remote: master_results = remote_fixture(domain_link, tag) else: master_results = local_fixture(domain_link.master_domain, tag) master_data_type = master_results["data_type"] if not master_data_type.is_global: raise UnsupportedActionError( _("Found non-global lookup table '{}'.").format( master_data_type.tag)) # Update data type master_data_type = master_data_type.to_json() del master_data_type["_id"] del master_data_type["_rev"] linked_data_type = get_fixture_data_type_by_tag(domain_link.linked_domain, master_data_type["tag"]) if linked_data_type: linked_data_type = linked_data_type.to_json() else: linked_data_type = {} linked_data_type.update(master_data_type) linked_data_type["domain"] = domain_link.linked_domain linked_data_type = FixtureDataType.wrap(linked_data_type) linked_data_type.save() clear_fixture_quickcache(domain_link.linked_domain, [linked_data_type]) # Re-create relevant data items delete_fixture_items_for_data_type(domain_link.linked_domain, linked_data_type._id) for master_item in master_results["data_items"]: doc = master_item.to_json() del doc["_id"] del doc["_rev"] doc["domain"] = domain_link.linked_domain doc["data_type_id"] = linked_data_type._id FixtureDataItem.wrap(doc).save() clear_fixture_cache(domain_link.linked_domain)
def tearDown(self): delete_fixture_items_for_data_type(self.domain, self.table._id)