def setUpClass(cls):

        template_dir_path = '%s/templates/general' % utils.get_resources_dir()
        cls.def_templates_tests_path = '%s/templates/def_template_tests/' % \
                                       utils.get_resources_dir()
        cls.def_templates_dir_path = cls.def_templates_tests_path +\
            'definition_templates'
        cls.templates = file_utils.load_yaml_files(template_dir_path)
        def_templates_list = file_utils.load_yaml_files(
            cls.def_templates_dir_path)
        cls.def_templates = utils.get_def_templates_dict_from_list(
            def_templates_list)
        cls.first_template = cls.templates[0]

        cls._hide_useless_logging_messages()
    def _load_templates_files(self, conf):

        templates_dir = conf.evaluator.templates_dir
        template_defs = file_utils.load_yaml_files(templates_dir)

        for template_def in template_defs:
            self.add_template(template_def)
    def setUpClass(cls):

        template_dir_path = '%s/templates/general' % utils.get_resources_dir()
        cls.templates = file_utils.load_yaml_files(template_dir_path)
        cls.first_template = cls.templates[0]

        cls._hide_useless_logging_messages()
示例#4
0
    def _load_templates_files(self, conf):

        templates_dir = conf.evaluator.templates_dir
        template_defs = file_utils.load_yaml_files(templates_dir)

        for template_def in template_defs:
            self.add_template(template_def)
    def setUpClass(cls):

        template_dir_path = '%s/templates/general' % utils.get_resources_dir()
        cls.template_yamls = file_utils.load_yaml_files(template_dir_path)
        cls.first_template = cls.template_yamls[0]

        cls._hide_useless_logging_messages()
示例#6
0
    def load_files(self, directory):
        equivalence_defs = file_utils.load_yaml_files(directory)

        for equivalence_def in equivalence_defs:
            equivalence_data = EquivalenceData(equivalence_def)
            for equivalence in equivalence_data.equivalences:
                self._add_equivalence(equivalence)
        return self.entity_equivalences
示例#7
0
 def setUp(self):
     super(ScenarioRepositoryTest, self).setUp()
     self.add_db()
     templates_dir = utils.get_resources_dir() + '/templates/general'
     self.add_templates(templates_dir)
     templates_dir_path = templates_dir
     self.template_defs = file_utils.load_yaml_files(templates_dir_path)
     self.scenario_repository = ScenarioRepository()
    def setUpClass(cls):

        cls.conf = cfg.ConfigOpts()
        cls.conf.register_opts(cls.OPTS, group='evaluator')

        templates_dir_path = cls.conf.evaluator.templates_dir
        cls.template_defs = file_utils.load_yaml_files(templates_dir_path)

        cls.scenario_repository = ScenarioRepository(cls.conf)
示例#9
0
    def setUpClass(cls):

        cls.conf = cfg.ConfigOpts()
        cls.conf.register_opts(cls.OPTS, group='evaluator')

        templates_dir_path = cls.conf.evaluator.templates_dir
        cls.template_defs = file_utils.load_yaml_files(templates_dir_path)

        cls.scenario_repository = ScenarioRepository(cls.conf)
示例#10
0
    def _load_def_template_files(self, conf):

        if DEF_TEMPLATES_DIR_OPT in conf.evaluator:

            def_templates_dir = conf.evaluator.def_templates_dir
            def_templates = file_utils.load_yaml_files(def_templates_dir)

            for def_template in def_templates:
                self.add_def_template(def_template)
    def test_static_datasources_loader(self):
        # Setup
        total_static_datasources = \
            os.listdir(self.conf.static_physical.directory)

        # Action
        static_configs = file_utils.load_yaml_files(
            self.conf.static_physical.directory)

        # Test assertions
        # -1 is because there are 2 files and a folder in static_datasource_dir
        self.assertEqual(
            len(total_static_datasources) - 1, len(static_configs))
    def test_static_datasources_loader(self):
        # Setup
        total_static_datasources = \
            os.listdir(self.conf.static_physical.directory)

        # Action
        static_configs = file_utils.load_yaml_files(
            self.conf.static_physical.directory)

        # Test assertions
        # -1 is because there are 2 files and a folder in static_datasource_dir
        self.assertEqual(len(total_static_datasources) - 1,
                         len(static_configs))
    def setUpClass(cls):
        super(TemplateSyntaxValidatorTest, cls).setUpClass()

        cls.def_template_dir_path = utils.get_resources_dir() + \
            '/templates/def_template_tests'
        template_dir_path = '%s/templates/general' % utils.get_resources_dir()
        cls.version_dir_path = '%s/templates/version/' \
                               % utils.get_resources_dir()
        cls.template_yamls = file_utils.load_yaml_files(template_dir_path)
        cls.bad_template = \
            cls._load_template_file(template_dir_path + '/' + BAD_YAML_PATH)
        cls.first_template = cls.template_yamls[0]

        cls._hide_useless_logging_messages()
示例#14
0
    def test_basic_template_with_include(self):

        # Test setup
        template_path = self.DEF_TEMPLATE_TESTS_DIR +\
            '/templates/%s' % self.BASIC_TEMPLATE_WITH_INCLUDE
        template_definition = file_utils.load_yaml_file(template_path, True)
        def_templates_path = self.DEF_TEMPLATE_TESTS_DIR + \
            '/definition_templates'
        def_demplates_list = file_utils.load_yaml_files(def_templates_path)
        def_templates_dict = utils.get_def_templates_dict_from_list(
            def_demplates_list)
        template_data = \
            TemplateLoader().load(template_definition, def_templates_dict)
        entities = template_data.entities
        relationships = template_data.relationships
        scenarios = template_data.scenarios
        definitions = template_definition[TFields.DEFINITIONS]
        def_template = file_utils.load_yaml_file(def_templates_path +
                                                 '/basic_def_template.yaml')
        def_template_entities = \
            def_template[TFields.DEFINITIONS][TFields.ENTITIES]
        def_template_relationships = \
            def_template[TFields.DEFINITIONS][TFields.RELATIONSHIPS]
        definitions[TFields.ENTITIES] += def_template_entities
        definitions[TFields.RELATIONSHIPS] = def_template_relationships

        # Assertions
        for definition in definitions[TFields.ENTITIES]:
            for key, value in definition['entity'].items():
                new_key = TemplateLoader.PROPS_CONVERSION[key] if key in \
                    TemplateLoader.PROPS_CONVERSION else key
                del definition['entity'][key]
                definition['entity'][new_key] = value
        self._validate_entities(entities, definitions[TFields.ENTITIES])

        relate_def = def_template_relationships
        self._validate_relationships(relationships, relate_def, entities)
        self._validate_scenarios(scenarios, entities)

        expected_entities = {
            'alarm11':
            Vertex(vertex_id='alarm11',
                   properties={
                       VProps.VITRAGE_CATEGORY: EntityCategory.ALARM,
                       VProps.VITRAGE_TYPE: NAGIOS_DATASOURCE,
                       VProps.NAME: 'host_problem'
                   }),
            'resource11':
            Vertex(vertex_id='resource11',
                   properties={
                       VProps.VITRAGE_CATEGORY: EntityCategory.RESOURCE,
                       VProps.VITRAGE_TYPE: NOVA_HOST_DATASOURCE
                   }),
            'alarm':
            Vertex(vertex_id='alarm',
                   properties={
                       VProps.VITRAGE_CATEGORY: EntityCategory.ALARM,
                       VProps.VITRAGE_TYPE: NAGIOS_DATASOURCE,
                       VProps.NAME: 'host_problem'
                   }),
            'resource':
            Vertex(vertex_id='resource',
                   properties={
                       VProps.VITRAGE_CATEGORY: EntityCategory.RESOURCE,
                       VProps.VITRAGE_TYPE: NOVA_HOST_DATASOURCE
                   })
        }
        expected_relationships = {
            'alarm_on_host':
            EdgeDescription(edge=Edge(
                source_id='alarm',
                target_id='resource',
                label=EdgeLabel.ON,
                properties={EdgeProperties.RELATIONSHIP_TYPE: EdgeLabel.ON}),
                            source=expected_entities['alarm'],
                            target=expected_entities['resource']),
        }

        scenario_entities = {
            'alarm':
            Vertex(vertex_id='alarm',
                   properties={
                       VProps.VITRAGE_CATEGORY: EntityCategory.ALARM,
                       VProps.VITRAGE_TYPE: NAGIOS_DATASOURCE,
                       VProps.NAME: 'host_problem'
                   }),
            'resource':
            Vertex(vertex_id='resource',
                   properties={
                       VProps.VITRAGE_CATEGORY: EntityCategory.RESOURCE,
                       VProps.VITRAGE_TYPE: NOVA_HOST_DATASOURCE
                   })
        }

        expected_scenario = Scenario(
            id='basic_template_with_include-scenario0',
            version=1,
            condition=[[
                ConditionVar(symbol_name='alarm_on_host', positive=True)
            ]],
            actions=[
                ActionSpecs(
                    id='basic_template_with_include-scenario0-action0',
                    type=ActionType.SET_STATE,
                    targets={'target': 'resource'},
                    properties={'state': OperationalResourceState.SUBOPTIMAL})
            ],
            subgraphs=template_data.scenarios[0].subgraphs,
            entities=scenario_entities,
            relationships=expected_relationships)

        self._validate_strict_equal(template_data, expected_entities,
                                    expected_relationships, expected_scenario)