mirror of
https://ghfast.top/https://github.com/aeroxw/tick-stock-panel.git
synced 2026-09-12 17:54:15 +08:00
30 lines
1.0 KiB
Python
30 lines
1.0 KiB
Python
from app.api.settings import DatasetConfigIn
|
|
from app.data_providers.custom.config import CustomSourceConfig, _dataset_from_dict
|
|
from app.data_providers.custom.loader import _config_to_dict, _sanitize_for_yaml
|
|
|
|
|
|
def test_minute_request_parameter_names_survive_config_round_trip():
|
|
dataset = DatasetConfigIn(
|
|
url="https://example.test/minute",
|
|
method="GET",
|
|
asset_type_param="asset",
|
|
freq_param="period",
|
|
).model_dump()
|
|
|
|
cleaned = _sanitize_for_yaml({
|
|
"name": "test_source",
|
|
"display_name": "Test Source",
|
|
"datasets": {"minute": dataset},
|
|
})
|
|
parsed = _dataset_from_dict(cleaned["datasets"]["minute"])
|
|
exposed = _config_to_dict(CustomSourceConfig(
|
|
name="test_source",
|
|
display_name="Test Source",
|
|
datasets={"minute": parsed},
|
|
))
|
|
|
|
assert parsed.asset_type_param == "asset"
|
|
assert parsed.freq_param == "period"
|
|
assert exposed["datasets"]["minute"]["asset_type_param"] == "asset"
|
|
assert exposed["datasets"]["minute"]["freq_param"] == "period"
|