Skip to content

Commit

Permalink
Making bsformat happy
Browse files Browse the repository at this point in the history
  • Loading branch information
PhillypHenning committed Mar 20, 2023
1 parent 067a61c commit 6de76f8
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 26 deletions.
5 changes: 4 additions & 1 deletion scripts/plugins/config/parser.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import sys
import plugins.settings as settings # pylint: disable=consider-using-from-import

from munch import DefaultMunch
from ..logging import logger
Expand All @@ -20,7 +21,9 @@ def get_config_list(config_file, schema_file):
try:
schema_yaml = load_yaml(schema_file)
config_yaml = load_yaml(config_file)
except FileNotFoundError:
except FileNotFoundError as exc:
if settings.BITOPS_RUN_MODE == "testing":
raise exc
sys.exit(2)
schema = convert_yaml_to_dict(schema_yaml)
schema_properties_list = generate_schema_keys(schema)
Expand Down
2 changes: 1 addition & 1 deletion scripts/plugins/deploy_plugins.py
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ def deploy_plugins(): # pylint: disable=too-many-locals,too-many-branches,too-m
try:
cli_config_list, _ = get_config_list(opsrepo_config_file, plugin_schema_file)
except FileNotFoundError:
logger.error(f"Schema and Configuration files are required. Exiting...")
logger.error("Schema and Configuration files are required. Exiting...")
sys.exit(2)
# Compose a CLI and export it as "BITOPS_{PLUGIN}_CLI}"
cli = PluginConfigCLI(cli_config_list)
Expand Down
43 changes: 19 additions & 24 deletions scripts/tests/unit/test_parser.py
Original file line number Diff line number Diff line change
@@ -1,19 +1,25 @@
import unittest
import os

import plugins.config.schema as Schema
import plugins.logging as Logging
import plugins.config.parser as Parser
import plugins.settings as settings # pylint: disable=consider-using-from-import

from munch import DefaultMunch
from ...plugins.config.parser import (
convert_yaml_to_dict,
parse_yaml_keys_to_list,
generate_populated_schema_list,
generate_schema_keys,
populate_parsed_configurations,
get_config_list,
)
from ...plugins.config.schema import SchemaObject
from ...plugins.logging import turn_off_logger

turn_off_logger()

settings.BITOPS_RUN_MODE = "testing"
SchemaObject = Schema.SchemaObject
Logging.turn_off_logger()

# Flooding the namespace
convert_yaml_to_dict = Parser.convert_yaml_to_dict
parse_yaml_keys_to_list = Parser.parse_yaml_keys_to_list
generate_populated_schema_list = Parser.generate_populated_schema_list
generate_schema_keys = Parser.generate_schema_keys
populate_parsed_configurations = Parser.populate_parsed_configurations
get_config_list = Parser.get_config_list


class TestGetConfigList(unittest.TestCase):
Expand All @@ -27,8 +33,8 @@ def test_get_config_list_valid_inputs(self):
config_file = "example.config.yaml"
schema_file = "example.schema.yaml"
cli_config_list, options_config_list = get_config_list(
f"{self.root_dir}/scripts/tests/test_assets/{config_file}",
f"{self.root_dir}/scripts/tests/test_assets/{schema_file}",
f"{self.root_dir}/scripts/tests/unit/assets/{config_file}",
f"{self.root_dir}/scripts/tests/unit/assets/{schema_file}",
)
self.assertIsNotNone(cli_config_list)
self.assertIsNotNone(options_config_list)
Expand Down Expand Up @@ -112,7 +118,6 @@ def setUp(self):
self.root_key = "terraform"

def test_parse_yaml_keys_to_list(self):
"""Test parser.py parse_yaml_keys_to_list function"""
"""
Test parsing yaml keys to list
"""
Expand Down Expand Up @@ -144,7 +149,6 @@ def test_parse_yaml_keys_to_list(self):
self.assertIsInstance(actual_keys_list, list)

def test_parse_yaml_keys_to_list_invalid_rootkey(self):
"""Test parser.py parse_yaml_keys_to_list function with invalid rootkey"""
"""
Test prase_yaml_kwys_to_list with invalid rootkey.
Expecting KeyError
Expand All @@ -153,7 +157,6 @@ def test_parse_yaml_keys_to_list_invalid_rootkey(self):
parse_yaml_keys_to_list(self.valid_schema, "not_a_root_key")

def test_parse_yaml_keys_to_list_invalid_schema(self):
"""Test parser.py parse_yaml_keys_to_list function with invalid schema"""
"""
Test prase_yaml_kwys_to_list with invalid rootkey.
Expecting TypeError
Expand Down Expand Up @@ -295,20 +298,14 @@ def setUp(self):
def test_cli_config_list(self):
"""Test parser.py populate_parsed_configurations function - return cli list"""
cli_config_list = populate_parsed_configurations(self.schema_list)[0]
# for item in cli_config_list:
# print(item)
self.assertEqual(cli_config_list[0].schema_property_type, "cli")
self.assertEqual(cli_config_list[1].schema_property_type, "cli")
with self.assertRaises(IndexError):
cli_config_list[2]

def test_options_config_list(self):
"""Test parser.py populate_parsed_configurations function - return options list"""
options_config_list = populate_parsed_configurations(self.schema_list)[1]

self.assertEqual(options_config_list[0].schema_property_type, "options")
with self.assertRaises(IndexError):
options_config_list[1]

def test_missing_required_config_list_empty_list(self):
"""Test parser.py populate_parsed_configurations function - doesn't return required list"""
Expand Down Expand Up @@ -337,8 +334,6 @@ def test_missing_required_config_list(self):
self.assertTrue(required_config_list)
self.assertEqual(required_config_list[0].name, "test_config")
self.assertTrue(required_config_list[0].required)
with self.assertRaises(IndexError):
required_config_list[1]


if __name__ == "__main__":
Expand Down

0 comments on commit 6de76f8

Please sign in to comment.