def test_clear_children_sets_parent_and_root_to_None(self): catalog = Catalog(id='test', description='test') subcat1 = Catalog(id='subcat', description='test') subcat2 = Catalog(id='subcat2', description='test2') catalog.add_children([subcat1, subcat2]) self.assertIsNotNone(subcat1.get_parent()) self.assertIsNotNone(subcat2.get_parent()) self.assertIsNotNone(subcat1.get_root()) self.assertIsNotNone(subcat2.get_root()) children = list(catalog.get_children()) self.assertEqual(len(children), 2) catalog.clear_children() self.assertIsNone(subcat1.get_parent()) self.assertIsNone(subcat2.get_parent()) self.assertIsNone(subcat1.get_root()) self.assertIsNone(subcat2.get_root())
def test_invocation_recurses_subcatalogs(self): catalog = Catalog('0', 'Catalog 0') catalog.add_link( Link('harmony_source', 'http://example.com/C0001-EXAMPLE')) catalog.add_child(Catalog('1a', 'Catalog 1a')) subcatalog = Catalog('1b', 'Catalog 1b') catalog.add_child(subcatalog) subsubcatalog_a = Catalog('2a', 'Catalog 2a') subsubcatalog_b = Catalog('2b', 'Catalog 2b') subsubcatalog_b.add_link( Link('harmony_source', 'http://example.com/C0002-EXAMPLE')) subcatalog.add_children([subsubcatalog_a, subsubcatalog_b]) message = Message(full_message) items_a = [ Item('3', None, [0, 0, 1, 3], '2020-01-01T00:00:00.000Z', {}), Item('4', None, [0, 0, 1, 4], '2020-01-01T00:00:00.000Z', {}) ] items_b = [ Item('5', None, [0, 0, 1, 5], '2020-01-01T00:00:00.000Z', {}), Item('6', None, [0, 0, 1, 6], '2020-01-01T00:00:00.000Z', {}) ] subsubcatalog_a.add_items(items_a) subsubcatalog_b.add_items(items_b) adapter = AdapterTester(message, catalog, config=self.config) adapter.invoke() self.assertEqual(AdapterTester.process_args[0][0].bbox, items_a[0].bbox) self.assertEqual(AdapterTester.process_args[1][0].bbox, items_a[1].bbox) self.assertEqual(AdapterTester.process_args[2][0].bbox, items_b[0].bbox) self.assertEqual(AdapterTester.process_args[3][0].bbox, items_b[1].bbox) self.assertEqual(AdapterTester.process_args[0][1], message.sources[0]) self.assertEqual(AdapterTester.process_args[1][1], message.sources[0]) self.assertEqual(AdapterTester.process_args[2][1], message.sources[1]) self.assertEqual(AdapterTester.process_args[3][1], message.sources[1])