예제 #1
0
    def test_create_multi_with_malformed_duplicate_section_strict(self):
        self.test_settings.change_configuration_path(
            config_file_analyzer_test_01)

        with self.assertRaises(configparser.DuplicateSectionError):
            AnalyzerFactory.create_multi(
                use_case_analyzer_multi_malformed_duplicate_section)
예제 #2
0
    def test_create_multi_with_single(self):
        self.test_settings.change_configuration_path(
            config_file_analyzer_test_01)
        analyzers = AnalyzerFactory.create_multi(
            use_case_analyzer_arbitrary_dummy_test)

        self.assertTrue(len(analyzers) == 1)
예제 #3
0
    def test_create_multi_with_malformed_duplicate_section(self):
        self.test_settings.change_configuration_path(
            config_file_analyzer_test_01)
        analyzers = AnalyzerFactory.create_multi(
            use_case_analyzer_multi_malformed_duplicate_section,
            {'strict': False})

        self.assertTrue(len(analyzers) == 2)
예제 #4
0
    def test_create_multi_mixed_types(self):
        self.test_settings.change_configuration_path(
            config_file_analyzer_test_01)
        analyzers = AnalyzerFactory.create_multi(
            use_case_analyzer_files_path + "analyzer_multi_mixed_types.conf")

        simplequery_analyzer = analyzers[0]
        metrics_analyzer = analyzers[1]
        terms_analyzer = analyzers[2]

        self.assertTrue(simplequery_analyzer.model_type == 'simplequery')
        self.assertTrue(metrics_analyzer.model_type == 'metrics')
        self.assertTrue(terms_analyzer.model_type == 'terms')
예제 #5
0
def load_analyzers():
    analyzers = list()

    for use_case_arg in settings.args.use_cases:
        for use_case_file in glob.glob(use_case_arg, recursive=True):
            if not os.path.isdir(use_case_file):
                logging.logger.debug("Loading use case %s" % use_case_file)
                try:
                    analyzers.extend(
                        AnalyzerFactory.create_multi(use_case_file))
                except (ValueError, MissingSectionHeaderError,
                        DuplicateSectionError, DuplicateOptionError) as e:
                    logging.logger.error(
                        "An error occured when loading %s: %s" %
                        (use_case_file, str(e)))

    return analyzers
예제 #6
0
    def test_create_multi_with_empty_config(self):
        self.test_settings.change_configuration_path(
            config_file_analyzer_test_01)
        analyzers = AnalyzerFactory.create_multi(config_file_analyzer_test_01)

        self.assertTrue(len(analyzers) == 0)