Пример #1
0
    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())
Пример #2
0
    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])