updates to support python 3.10

config_dataclasses
Andrew Mirsky 2025-07-13 10:45:23 -04:00
rodzic c8e97bd167
commit 0aabfa7e78
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: A98E67635CDF2C39
2 zmienionych plików z 11 dodań i 12 usunięć

Wyświetl plik

@ -207,7 +207,7 @@ class BrokerConfig(Dictable):
return dict_to_dataclass(data_class=BrokerConfig, return dict_to_dataclass(data_class=BrokerConfig,
data=d, data=d,
config=DaciteConfig( config=DaciteConfig(
cast=[StrEnum], cast=[StrEnum, ListenerType],
strict=True) strict=True)
) )

Wyświetl plik

@ -1,18 +1,17 @@
import logging import logging
from typing import Any from typing import Any
import pytest try:
from dataclasses import dataclass, field from enum import Enum, StrEnum
from pathlib import Path except ImportError:
from yaml import CLoader as Loader # support for python 3.10
from enum import Enum
class StrEnum(str, Enum): #type: ignore[no-redef]
pass
from dacite import from_dict, Config
import yaml from amqtt.contexts import BrokerConfig, ListenerType
from dacite import from_dict, Config, UnexpectedDataError
from enum import StrEnum
from amqtt.broker import BrokerContext
from amqtt.contexts import BrokerConfig, ListenerConfig, Dictable
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -32,7 +31,7 @@ def test_entrypoint_broker_config(caplog):
# cfg: dict[str, Any] = yaml.load(config, Loader=Loader) # cfg: dict[str, Any] = yaml.load(config, Loader=Loader)
broker_config = from_dict(data_class=BrokerConfig, data=test_cfg, config=Config(cast=[StrEnum])) broker_config = from_dict(data_class=BrokerConfig, data=test_cfg, config=Config(cast=[StrEnum, ListenerType]))
assert isinstance(broker_config, BrokerConfig) assert isinstance(broker_config, BrokerConfig)
assert broker_config.plugins is None assert broker_config.plugins is None