Files
shadow/tests/system/framework/config.py
2025-02-24 22:57:12 +01:00

54 lines
1.2 KiB
Python

from __future__ import annotations
from typing import Type
from pytest_mh import MultihostConfig, MultihostDomain, MultihostHost, MultihostRole
__all__ = [
"ShadowMultihostConfig",
"ShadowMultihostDomain",
]
class ShadowMultihostConfig(MultihostConfig):
@property
def id_to_domain_class(self) -> dict[str, Type[MultihostDomain]]:
"""
All domains are mapped to :class:`ShadowMultihostDomain`.
:rtype: Class name.
"""
return {"*": ShadowMultihostDomain}
class ShadowMultihostDomain(MultihostDomain[ShadowMultihostConfig]):
@property
def role_to_host_class(self) -> dict[str, Type[MultihostHost]]:
"""
Map roles to classes:
* shadow to ShadowHost
:rtype: Class name.
"""
from .hosts.shadow import ShadowHost
return {
"shadow": ShadowHost,
}
@property
def role_to_role_class(self) -> dict[str, Type[MultihostRole]]:
"""
Map roles to classes:
* shadow to Shadow
:rtype: Class name.
"""
from .roles.shadow import Shadow
return {
"shadow": Shadow,
}