amqtt/tests/test_broker_config.py

40 wiersze
994 B
Python

2025-07-11 15:52:18 +00:00
import logging
from typing import Any
2025-07-13 14:45:23 +00:00
try:
from enum import Enum, StrEnum
except ImportError:
# support for python 3.10
from enum import Enum
class StrEnum(str, Enum): #type: ignore[no-redef]
pass
2025-07-13 14:45:23 +00:00
from dacite import from_dict, Config
2025-07-11 15:52:18 +00:00
2025-07-13 14:45:23 +00:00
from amqtt.contexts import BrokerConfig, ListenerType
2025-07-11 15:52:18 +00:00
logger = logging.getLogger(__name__)
def test_entrypoint_broker_config(caplog):
test_cfg: dict[str, Any] = {
"listeners": {
"default": {"type": "tcp", "bind": "127.0.0.1:1883", "max_connections": 10},
},
'sys_interval': 1,
'auth': {
'allow_anonymous': True
}
}
if 'plugins' not in test_cfg:
test_cfg['plugins'] = None
# cfg: dict[str, Any] = yaml.load(config, Loader=Loader)
2025-07-11 15:52:18 +00:00
2025-07-13 14:45:23 +00:00
broker_config = from_dict(data_class=BrokerConfig, data=test_cfg, config=Config(cast=[StrEnum, ListenerType]))
assert isinstance(broker_config, BrokerConfig)
2025-07-11 15:52:18 +00:00
assert broker_config.plugins is None
2025-07-11 15:52:18 +00:00