ytdl-sub/tests/unit/config/conftest.py
Jesse Bannon 852347dc7e
[BUGFIX] Have __preset__ override nested preset keys (#784)
With the new preset nesting support, `__preset__` would have lower precedence which isn't ideal since it's meant to serve as a 'apply to all presets in this file'. Now the order of priority is:

`inherited presets (top-to-bottom) -> preset itself -> nested subscription presets -> __preset__ -> subscription values`
2023-10-25 11:35:52 -07:00

60 lines
1.8 KiB
Python

from typing import Dict
import pytest
from ytdl_sub.config.config_file import ConfigFile
@pytest.fixture
def config_file() -> ConfigFile:
return ConfigFile(
name="config",
value={
"configuration": {"working_directory": "."},
"presets": {
"parent_preset_0": {
"nfo_tags": {"tags": {"key-1": "preset_0"}},
"overrides": {"current_override": "parent_preset_0"},
},
"parent_preset_1": {
"preset": "parent_preset_0",
"nfo_tags": {
"nfo_name": "{uid}.nfo",
"nfo_root": "root",
"tags": {"key-2": "preset_1"},
},
"overrides": {"current_override": "parent_preset_1"},
},
"parent_preset_2": {
"nfo_tags": {
"nfo_name": "{uid}.nfo",
"nfo_root": "root",
"tags": {"key-2": "preset_2", "key-3": "preset_2"},
},
"overrides": {"current_override": "parent_preset_2"},
},
"parent_preset_3": {
"preset": ["parent_preset_1", "parent_preset_2"],
"overrides": {"current_override": "parent_preset_3"},
},
"preset_self_loop": {"preset": "preset_self_loop"},
"preset_loop_0": {"preset": "preset_loop_1"},
"preset_loop_1": {"preset": "preset_loop_0"},
},
},
)
@pytest.fixture
def output_options() -> Dict:
return {
"output_directory": "some dir",
"file_name": "{uid}",
}
@pytest.fixture
def youtube_video() -> Dict:
return {
"url": "youtube.com/watch?v=123abc",
}