This commit is contained in:
Jesse Bannon 2023-09-29 22:43:08 -07:00
parent 5078cad67c
commit 50a02b2b2f

View file

@ -74,20 +74,20 @@ def preset_with_subscription_file_value(preset_with_subscription_value: Dict):
}, },
) )
@pytest.fixture @pytest.fixture
def preset_with_subscription_file_value_nested_presets(preset_with_subscription_value: Dict): def preset_with_subscription_value_nested_presets(preset_with_subscription_value: Dict):
return dict( return dict(
preset_with_subscription_value, preset_with_subscription_value,
**{ **{
"parent_preset_2": { "parent_preset_2": {
"parent_preset_1": { "parent_preset_1": {"test_2_1": "is_2_1_overwritten"},
"test_2_1": "is_2_1_overwritten" "test_1": "is_1_overwritten",
}
}, },
"test_1": "is_1_overwritten"
}
}
) )
def test_subscription_file_preset_applies(config_file: ConfigFile, preset_with_file_preset: Dict): def test_subscription_file_preset_applies(config_file: ConfigFile, preset_with_file_preset: Dict):
with mock_load_yaml(preset_dict=preset_with_file_preset): with mock_load_yaml(preset_dict=preset_with_file_preset):
subs = Subscription.from_file_path(config=config_file, subscription_path="mocked") subs = Subscription.from_file_path(config=config_file, subscription_path="mocked")
@ -174,26 +174,29 @@ def test_subscription_file_value_applies_from_config(
def test_subscription_file_value_applies_from_config_and_nested( def test_subscription_file_value_applies_from_config_and_nested(
config_file_with_subscription_value: ConfigFile, preset_with_subscription_file_value_nested_presets: Dict config_file_with_subscription_value: ConfigFile,
preset_with_subscription_value_nested_presets: Dict,
): ):
with mock_load_yaml(preset_dict=preset_with_subscription_file_value_nested_presets): with mock_load_yaml(preset_dict=preset_with_subscription_value_nested_presets):
subs = Subscription.from_file_path( subs = Subscription.from_file_path(
config=config_file_with_subscription_value, subscription_path="mocked" config=config_file_with_subscription_value, subscription_path="mocked"
) )
assert len(subs) == 2 assert len(subs) == 4
# Test __value__ worked correctly from the config # Test __value__ worked correctly from the config
value_sub = subs[1] sub_1 = [sub for sub in subs if sub.name == "test_1"][0]
assert value_sub.name == "test_value" sub_2_1 = [sub for sub in subs if sub.name == "test_2_1"][0]
assert ( assert (
value_sub.overrides.dict_with_format_strings.get("test_file_subscription_value") sub_1.overrides.dict_with_format_strings.get("test_config_subscription_value")
== "original" == "is_1_overwritten"
) )
assert ( assert (
value_sub.overrides.dict_with_format_strings.get("test_config_subscription_value") sub_2_1.overrides.dict_with_format_strings.get("test_config_subscription_value")
== "is_overwritten" == "is_2_1_overwritten"
) )
def test_subscription_file_bad_value(config_file: ConfigFile): def test_subscription_file_bad_value(config_file: ConfigFile):
with mock_load_yaml(preset_dict={"__value__": {"should be": "string"}}), pytest.raises( with mock_load_yaml(preset_dict={"__value__": {"should be": "string"}}), pytest.raises(
ValidationException, ValidationException,