示例#1
0
    def test_default_collectors(self):
        platform_info = {'system': 'Generic'}
        compat_platforms = [platform_info]
        collectors_for_platform = collector.find_collectors_for_platform(
            default_collectors.collectors, compat_platforms)

        all_fact_subsets, aliases_map = collector.build_fact_id_to_collector_map(
            collectors_for_platform)

        all_valid_subsets = frozenset(all_fact_subsets.keys())
        collector_names = collector.get_collector_names(
            valid_subsets=all_valid_subsets,
            aliases_map=aliases_map,
            platform_info=platform_info)
        complete_collector_names = collector._solve_deps(
            collector_names, all_fact_subsets)

        dep_map = collector.build_dep_data(complete_collector_names,
                                           all_fact_subsets)

        ordered_deps = collector.tsort(dep_map)
        ordered_collector_names = [x[0] for x in ordered_deps]

        res = collector.select_collector_classes(ordered_collector_names,
                                                 all_fact_subsets)

        self.assertTrue(
            res.index(default_collectors.ServiceMgrFactCollector) > res.index(
                default_collectors.DistributionFactCollector), res)
        self.assertTrue(
            res.index(default_collectors.ServiceMgrFactCollector) > res.index(
                default_collectors.PlatformFactCollector), res)
示例#2
0
    def test_default_collectors(self):
        platform_info = {'system': 'Generic'}
        compat_platforms = [platform_info]
        collectors_for_platform = collector.find_collectors_for_platform(default_collectors.collectors,
                                                                         compat_platforms)

        all_fact_subsets, aliases_map = collector.build_fact_id_to_collector_map(collectors_for_platform)

        all_valid_subsets = frozenset(all_fact_subsets.keys())
        collector_names = collector.get_collector_names(valid_subsets=all_valid_subsets,
                                                        aliases_map=aliases_map,
                                                        platform_info=platform_info)
        complete_collector_names = collector._solve_deps(collector_names, all_fact_subsets)

        dep_map = collector.build_dep_data(complete_collector_names, all_fact_subsets)

        ordered_deps = collector.tsort(dep_map)
        ordered_collector_names = [x[0] for x in ordered_deps]

        res = collector.select_collector_classes(ordered_collector_names,
                                                 all_fact_subsets)

        self.assertTrue(res.index(default_collectors.ServiceMgrFactCollector) >
                        res.index(default_collectors.DistributionFactCollector),
                        res)
        self.assertTrue(res.index(default_collectors.ServiceMgrFactCollector) >
                        res.index(default_collectors.PlatformFactCollector),
                        res)
示例#3
0
    def test_unsolvable(self):
        dep_map = {'leaf1': set(), 'node2': set(['leaf2'])}

        res = collector.tsort(dep_map)
        self.assertIsInstance(res, list)
        names = [x[0] for x in res]
        self.assertEqual(set(names), set(dep_map.keys()))
示例#4
0
    def test_unsolvable(self):
        dep_map = {'leaf1': set(),
                   'node2': set(['leaf2'])}

        res = collector.tsort(dep_map)
        self.assertIsInstance(res, list)
        names = [x[0] for x in res]
        self.assertEqual(set(names), set(dep_map.keys()))
示例#5
0
 def test_chain(self):
     dep_map = {'leaf1': set(['leaf2']),
                'leaf2': set(['leaf3']),
                'leaf3': set(['leaf4']),
                'leaf4': set(),
                'leaf5': set(['leaf1'])}
     res = collector.tsort(dep_map)
     self.assertIsInstance(res, list)
     names = [x[0] for x in res]
     self.assertEqual(set(names), set(dep_map.keys()))
 def test_chain(self):
     dep_map = {'leaf1': set(['leaf2']),
                'leaf2': set(['leaf3']),
                'leaf3': set(['leaf4']),
                'leaf4': set(),
                'leaf5': set(['leaf1'])}
     res = collector.tsort(dep_map)
     self.assertIsInstance(res, list)
     names = [x[0] for x in res]
     self.assertEqual(set(names), set(dep_map.keys()))
示例#7
0
    def test_just_nodes(self):
        dep_map = {'leaf1': set(),
                   'leaf4': set(),
                   'leaf3': set(),
                   'leaf2': set()}

        res = collector.tsort(dep_map)
        self.assertIsInstance(res, list)
        names = [x[0] for x in res]
        # not a lot to assert here, any order of the
        # results is valid
        self.assertEqual(set(names), set(dep_map.keys()))
    def test_just_nodes(self):
        dep_map = {'leaf1': set(),
                   'leaf4': set(),
                   'leaf3': set(),
                   'leaf2': set()}

        res = collector.tsort(dep_map)
        self.assertIsInstance(res, list)
        names = [x[0] for x in res]
        # not a lot to assert here, any order of the
        # results is valid
        self.assertEqual(set(names), set(dep_map.keys()))
示例#9
0
 def test_multi_pass(self):
     dep_map = {'leaf1': set(),
                'leaf2': set(['leaf3', 'leaf1', 'leaf4', 'leaf5']),
                'leaf3': set(['leaf4', 'leaf1']),
                'leaf4': set(['leaf1']),
                'leaf5': set(['leaf1'])}
     res = collector.tsort(dep_map)
     self.assertIsInstance(res, list)
     names = [x[0] for x in res]
     self.assertEqual(set(names), set(dep_map.keys()))
     self.assertTrue(names.index('leaf1') < names.index('leaf2'))
     for leaf in ('leaf2', 'leaf3', 'leaf4', 'leaf5'):
         self.assertTrue(names.index('leaf1') < names.index(leaf))
 def test_multi_pass(self):
     dep_map = {'leaf1': set(),
                'leaf2': set(['leaf3', 'leaf1', 'leaf4', 'leaf5']),
                'leaf3': set(['leaf4', 'leaf1']),
                'leaf4': set(['leaf1']),
                'leaf5': set(['leaf1'])}
     res = collector.tsort(dep_map)
     self.assertIsInstance(res, list)
     names = [x[0] for x in res]
     self.assertEqual(set(names), set(dep_map.keys()))
     self.assertTrue(names.index('leaf1') < names.index('leaf2'))
     for leaf in ('leaf2', 'leaf3', 'leaf4', 'leaf5'):
         self.assertTrue(names.index('leaf1') < names.index(leaf))
示例#11
0
    def test(self):
        dep_map = {'network': set(['distribution', 'platform']),
                   'virtual': set(),
                   'platform': set(['what_platform_wants']),
                   'what_platform_wants': set(),
                   'network_stuff': set(['network'])}

        res = collector.tsort(dep_map)
        # pprint.pprint(res)

        self.assertIsInstance(res, list)
        names = [x[0] for x in res]
        self.assertTrue(names.index('network_stuff') > names.index('network'))
        self.assertTrue(names.index('platform') > names.index('what_platform_wants'))
        self.assertTrue(names.index('network') > names.index('platform'))
    def test(self):
        dep_map = {'network': set(['distribution', 'platform']),
                   'virtual': set(),
                   'platform': set(['what_platform_wants']),
                   'what_platform_wants': set(),
                   'network_stuff': set(['network'])}

        res = collector.tsort(dep_map)
        # pprint.pprint(res)

        self.assertIsInstance(res, list)
        names = [x[0] for x in res]
        self.assertTrue(names.index('network_stuff') > names.index('network'))
        self.assertTrue(names.index('platform') > names.index('what_platform_wants'))
        self.assertTrue(names.index('network') > names.index('platform'))