44 lines
1.3 KiB
Python
44 lines
1.3 KiB
Python
|
from pathlib import Path
|
||
|
from unittest import mock
|
||
|
|
||
|
import pytest
|
||
|
|
||
|
from libretime_playout.config import Config
|
||
|
from libretime_playout.liquidsoap.entrypoint import generate_entrypoint
|
||
|
from libretime_playout.liquidsoap.models import Info, StreamPreferences
|
||
|
|
||
|
from ..fixtures import entrypoint_1_1_snapshot, entrypoint_1_4_snapshot
|
||
|
|
||
|
|
||
|
@pytest.mark.parametrize(
|
||
|
"version, expected",
|
||
|
[
|
||
|
pytest.param((1, 1, 1), entrypoint_1_1_snapshot, id="snapshot_1.1"),
|
||
|
pytest.param((1, 4, 4), entrypoint_1_4_snapshot, id="snapshot_1.4"),
|
||
|
],
|
||
|
)
|
||
|
def test_generate_entrypoint(tmp_path: Path, config: Config, version, expected):
|
||
|
entrypoint_filepath = tmp_path / "radio.liq"
|
||
|
|
||
|
with mock.patch(
|
||
|
"libretime_playout.liquidsoap.entrypoint.here",
|
||
|
Path("/fake"),
|
||
|
):
|
||
|
generate_entrypoint(
|
||
|
entrypoint_filepath,
|
||
|
log_filepath=Path("/var/log/radio.log"),
|
||
|
config=config,
|
||
|
preferences=StreamPreferences(
|
||
|
input_fade_transition=0.0,
|
||
|
message_format=0,
|
||
|
message_offline="LibreTime - offline",
|
||
|
),
|
||
|
info=Info(
|
||
|
station_name="LibreTime",
|
||
|
),
|
||
|
version=version,
|
||
|
)
|
||
|
|
||
|
found = entrypoint_filepath.read_text(encoding="utf-8")
|
||
|
assert found == expected
|