sintonia/playout/tests/liquidsoap/fixtures/__init__.py

112 lines
3.0 KiB
Python
Raw Permalink Normal View History

from typing import List
from libretime_playout.config import Config
def make_config(**kwargs) -> Config:
return Config(
**{
"general": {
"public_url": "http://localhost:8080",
"api_key": "some_api_key",
"secret_key": "some_secret_key",
},
**kwargs,
}
)
def make_config_with_stream(**kwargs) -> Config:
return make_config(stream=kwargs)
TEST_STREAM_CONFIGS: List[Config] = [
make_config(),
make_config(
liquidsoap={
"harbor_ssl_certificate": "/fake/ssl.cert",
"harbor_ssl_private_key": "/fake/ssl.key",
},
stream={
"system": [{"enabled": True, "kind": "pulseaudio"}],
},
),
make_config_with_stream(
outputs={
"icecast": [
{
"enabled": True,
"mount": "main",
"source_password": "hackme",
"audio": {"format": "ogg", "bitrate": 256},
"name": "LibreTime!",
"description": "LibreTime Radio! Stream #1",
"website": "https://libretime.org",
"genre": "various",
},
{
"enabled": False,
"mount": "second",
"source_password": "hackme",
"audio": {"format": "mp3", "bitrate": 256},
},
],
}
),
make_config_with_stream(
outputs={
"shoutcast": [
{
"enabled": True,
"source_password": "hackme",
"audio": {"format": "mp3", "bitrate": 256},
"name": "LibreTime!",
"description": "LibreTime Radio! Stream #1",
"website": "https://libretime.org",
"genre": "various",
},
],
}
),
make_config_with_stream(
outputs={
"icecast": [
{
"enabled": True,
"mount": "main",
"source_password": "hackme",
"audio": {"format": "ogg", "bitrate": 256},
},
],
"shoutcast": [
{
"enabled": True,
"source_password": "hackme",
"audio": {"format": "mp3", "bitrate": 256},
},
],
}
),
make_config_with_stream(
outputs={
"system": [{"enabled": True, "kind": "pulseaudio"}],
}
),
make_config_with_stream(
outputs={
"system": [
{
"enabled": True,
"kind": "pulseaudio",
"device": "alsa_output.pci-0000_00_sink",
}
],
}
),
make_config_with_stream(
outputs={
"system": [{"enabled": False, "kind": "alsa"}],
}
),
]