def test_config_inherits_from_multiple_levels(): """ Test that the Config module supports a level that inherits from multiple child levels. Expected result: plugins listed in combined config file are returned """ config_file = os.path.join(os.path.dirname(__file__), "rsc", "config-list.yaml") config = Config(config_file) plugins = config.get_enabled_plugins("combined", "discovery") assert "C" in plugins assert "python" in plugins plugins = config.get_enabled_plugins("combined", "tool") assert "black" in plugins assert "catkin_lint" in plugins assert "cppcheck" in plugins assert "cpplint" in plugins assert "docformatter" in plugins assert "isort" in plugins assert "mypy" in plugins assert "pydocstyle" in plugins assert "xmllint" in plugins assert "yamllint" in plugins plugins = config.get_enabled_plugins("combined", "reporting") assert "print_to_console" in plugins assert "write_jenkins_warnings_ng" in plugins
def test_config_extend_combine_base_level(): """Test that user level that inherits from a base level combines plugins.""" base_config_file = os.path.join(os.path.dirname(__file__), "rsc", "config.yaml") user_config_file = os.path.join(os.path.dirname(__file__), "rsc", "config-list.yaml") config = Config(base_config_file, user_config_file) plugins = config.get_enabled_plugins("extend_base", "discovery") assert "C" in plugins plugins = config.get_enabled_plugins("extend_base", "reporting") assert "print_to_console" in plugins assert "write_jenkins_warnings_ng" in plugins plugins = config.get_enabled_plugins("extend_base", "tool") assert "bandit" in plugins assert "catkin_lint" in plugins assert "clang-tidy" in plugins assert "cppcheck" in plugins assert "cpplint" in plugins assert "flawfinder" in plugins assert "perlcritic" in plugins assert "spotbugs" in plugins
def test_config_enabled_plugins(): """ Test that the Config module identifies enabled plugins for a given level. Expected result: plugins listed in example config file are returned """ config_file = os.path.join(os.path.dirname(__file__), "rsc", "config.yaml") config = Config(config_file) plugins = config.get_enabled_plugins("sei_cert", "tool") assert "bandit" in plugins assert "clang-tidy" in plugins assert "cppcheck" in plugins assert "flawfinder" in plugins assert "make" in plugins assert "perlcritic" in plugins assert "spotbugs" in plugins
def test_config_enabled_plugins_inherits(): """ Test that the Config module identifies enabled plugins for a given level with inheritance. Expected result: plugins listed in example config file are returned """ config_file = os.path.join(os.path.dirname(__file__), "rsc", "config.yaml") config = Config(config_file) plugins = config.get_enabled_plugins("objective_minus_pylint", "tool") assert "catkin_lint" in plugins assert "clang-tidy" in plugins assert "cmakelint" in plugins assert "cppcheck" in plugins assert "make" in plugins assert "pylint" in plugins assert "xmllint" in plugins assert "yamllint" in plugins