def test_inferred_schema_merge(self): schema = CaseExportDataSchema( domain='my-domain', group_schemas=[ ExportGroupSchema( path=MAIN_TABLE, items=[ExportItem(path=[PathNode(name='case_property')])], ) ]) inferred_schema = CaseExportDataSchema( domain='my-domain', group_schemas=[ ExportGroupSchema( path=MAIN_TABLE, items=[ ExportItem( path=[PathNode(name='case_property')], inferred=True, ) ], inferred=True, ) ]) merged = ExportDataSchema._merge_schemas(schema, inferred_schema) self.assertEqual(len(merged.group_schemas), 1) self.assertTrue(merged.group_schemas[0].inferred) group_schema = merged.group_schemas[0] self.assertEqual(len(group_schema.items), 1) self.assertTrue(group_schema.items[0].inferred)
def test_inferred_schema_merge(self): schema = CaseExportDataSchema( domain='my-domain', group_schemas=[ ExportGroupSchema( path=MAIN_TABLE, items=[ExportItem( path=[PathNode(name='case_property')] )], ) ] ) inferred_schema = CaseExportDataSchema( domain='my-domain', group_schemas=[ ExportGroupSchema( path=MAIN_TABLE, items=[ExportItem( path=[PathNode(name='case_property')], inferred=True, inferred_from=set(['One']), )], inferred=True, ) ] ) inferred_schema_two = CaseExportDataSchema( domain='my-domain', group_schemas=[ ExportGroupSchema( path=MAIN_TABLE, items=[ExportItem( path=[PathNode(name='case_property')], inferred=True, inferred_from=set(['Two']), )], inferred=True, ) ] ) merged = ExportDataSchema._merge_schemas(schema, inferred_schema, inferred_schema_two) self.assertEqual(len(merged.group_schemas), 1) self.assertTrue(merged.group_schemas[0].inferred) group_schema = merged.group_schemas[0] self.assertEqual(len(group_schema.items), 1) self.assertTrue(group_schema.items[0].inferred) self.assertEqual(group_schema.items[0].inferred_from, set(['One', 'Two']))
def tearDown(self): db = ExportDataSchema.get_db() for row in db.view('schemas_by_xmlns_or_case_type/view', reduce=False): doc_id = row['id'] safe_delete(db, doc_id)