def setUp(self): super(TestLinter, self).setUp() self.config = BetterDict() self.ignored_warnings = [] self.linter = ConfigurationLinter(self.config, self.ignored_warnings, logging.getLogger('')) self.linter.register_checkers()
def __lint_config(self): settings = self.engine.config.get(CLI.CLI_SETTINGS).get("linter") self.log.debug("Linting config") self.warn_on_unfamiliar_fields = settings.get("warn-on-unfamiliar-fields", True) config_copy = copy.deepcopy(self.engine.config) ignored_warnings = settings.get("ignored-warnings", []) self.linter = ConfigurationLinter(config_copy, ignored_warnings, self.log) self.linter.register_checkers() self.linter.lint() warnings = self.linter.get_warnings() for warning in warnings: self.log.warning(str(warning)) if settings.get("lint-and-exit", False): if warnings: raise TaurusConfigError("Errors were found in the configuration") else: raise NormalShutdown("Linting has finished, no errors were found")