Beispiel #1
0
 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)