def __call__(self, restore_state): restore_user = restore_state.restore_user data_fn = lambda: Program.by_domain(restore_user.domain) return simple_fixture_generator(restore_user, self.id, "program", PROGRAM_FIELDS, data_fn, restore_state.last_sync_log)
def _get_fixture_items(self, restore_state, indexed): restore_user = restore_state.restore_user project = restore_user.project if not project or not project.commtrack_enabled: return [] if not self._should_sync(restore_state): return [] data = list( SQLProduct.active_objects .filter(domain=restore_user.domain) .order_by('code') .all() ) fixture_nodes = simple_fixture_generator( restore_user, self.id, "product", PRODUCT_FIELDS, data ) if not fixture_nodes: return [] if indexed: fixture_nodes[0].attrib['indexed'] = 'true' return fixture_nodes
def test_product_decimal_value(self): products = [ Product( _id="1", domain="test-domain", name="Foo", code_="foo", cost=10, ), Product( _id="2", domain="test-domain", name="Bar", code_="bar", cost=9.99, ), Product( _id="3", domain="test-domain", name="Baz", code_="baz", cost=10.0, ), ] fixtures = simple_fixture_generator( restore_user=MockUser(user_id="123456"), id="7890ab", name="test-fixture", fields=("name", "code", "cost"), data=products, ) xml = tostring(fixtures[0]) self.assertEqual(xml, self.get_expected_xml())
def __call__(self, restore_state): restore_user = restore_state.restore_user data_fn = lambda: Program.by_domain(restore_user.domain) return simple_fixture_generator( restore_user, self.id, "program", PROGRAM_FIELDS, data_fn, restore_state.last_sync_log )
def _get_fixture_items(self, restore_state): restore_user = restore_state.restore_user def get_programs(): return Program.by_domain(restore_user.domain) return simple_fixture_generator( restore_user, self.id, "program", PROGRAM_FIELDS, get_programs, restore_state.last_sync_log, GLOBAL_USER_ID )
def __call__(self, restore_state): restore_user = restore_state.restore_user def get_products(): return sorted(Product.by_domain(restore_user.domain), key=lambda product: product.code) return simple_fixture_generator(restore_user, self.id, "product", PRODUCT_FIELDS, get_products, restore_state.last_sync_log)
def __call__(self, restore_user, version, last_sync=None, app=None): assert isinstance(restore_user, OTARestoreUser) def get_products(): return sorted(Product.by_domain(restore_user.domain), key=lambda product: product.code) return simple_fixture_generator(restore_user, self.id, "product", PRODUCT_FIELDS, get_products, last_sync)
def test_sqlproduct_decimal_value(self): with get_sql_products() as products: fixtures = simple_fixture_generator( restore_user=MockUser(user_id="123456"), id="7890ab", name="test-fixture", fields=("name", "code", "cost"), data=products, ) xml = tostring(fixtures[0]) self.assertEqual(xml, self.get_expected_xml())
def __call__(self, restore_user, version, last_sync=None, app=None): assert isinstance(restore_user, OTARestoreUser) def get_products(): return sorted( Product.by_domain(restore_user.domain), key=lambda product: product.code ) return simple_fixture_generator( restore_user, self.id, "product", PRODUCT_FIELDS, get_products, last_sync )
def _get_fixture_items(self, restore_state): restore_user = restore_state.restore_user project = restore_user.project if not project or not project.commtrack_enabled: return [] data = Program.by_domain(restore_user.domain) if not self._should_sync(data, restore_state.last_sync_log): return [] return simple_fixture_generator(restore_user, self.id, "program", PROGRAM_FIELDS, data)
def _get_fixture_items(self, restore_state, indexed): restore_user = restore_state.restore_user def get_products(): return sorted(Product.by_domain(restore_user.domain), key=lambda product: product.code) fixture_nodes = simple_fixture_generator(restore_user, self.id, "product", PRODUCT_FIELDS, get_products, restore_state.last_sync_log, GLOBAL_USER_ID) if not fixture_nodes: return [] if indexed: fixture_nodes[0].attrib['indexed'] = 'true' return fixture_nodes
def __call__(self, restore_state): restore_user = restore_state.restore_user def get_products(): return sorted( Product.by_domain(restore_user.domain), key=lambda product: product.code ) fixture_nodes = simple_fixture_generator( restore_user, self.id, "product", PRODUCT_FIELDS, get_products, restore_state.last_sync_log ) if not fixture_nodes: return [] if (restore_state.params.openrosa_version and restore_state.params.openrosa_version < LooseVersion(OPENROSA_VERSION_MAP['INDEXED_PRODUCTS_FIXTURE'])): # Don't include index schema when openrosa version is specified and below 2.1 return fixture_nodes else: schema_node = get_index_schema_node(self.id, ['@id', 'code', 'program_id', 'category']) fixture_nodes[0].attrib['indexed'] = 'true' return [schema_node] + fixture_nodes
def __call__(self, restore_state): restore_user = restore_state.restore_user def get_products(): return sorted(Product.by_domain(restore_user.domain), key=lambda product: product.code) fixture_nodes = simple_fixture_generator(restore_user, self.id, "product", PRODUCT_FIELDS, get_products, restore_state.last_sync_log) if not fixture_nodes: return [] if (restore_state.params.openrosa_version and restore_state.params.openrosa_version < OPENROSA_VERSION_MAP['INDEXED_PRODUCTS_FIXTURE']): # Don't include index schema when openrosa version is specified and below 2.1 return fixture_nodes else: schema_node = get_index_schema_node( self.id, ['@id', 'code', 'program_id', 'category']) fixture_nodes[0].attrib['indexed'] = 'true' return [schema_node] + fixture_nodes
def __call__(self, restore_user, version, last_sync=None, app=None): assert isinstance(restore_user, OTARestoreUser) data_fn = lambda: Program.by_domain(restore_user.domain) return simple_fixture_generator(restore_user, self.id, "program", PROGRAM_FIELDS, data_fn, last_sync)