Загрузка данных
мод фо тест
offset: float
class SuiteTuIdentityMixin:
"""
Идентификация ТУ для WS-тестов и legacy-стенда.
Вынесено из @dataclass: иначе Pyright/PyCharm видят property как () -> T.
Поля technological_unit, use_lds_configurator, admin_tu, resolved_tu_id
объявляются в BaseSuiteConfig.
"""
technological_unit: TU
use_lds_configurator: bool
admin_tu: Optional[AdminTU]
resolved_tu_id: Optional[int]
@property
def admin_tu_name(self) -> str:
"""tuName для поиска ТУ в Администрировании."""
if self.admin_tu is None:
return ""
return self.admin_tu.admin_name
@property
def legacy_tu_id(self) -> int:
"""Legacy id ТУ для имитатора, tags.txt и конфигурации стенда."""
return self.technological_unit.id
@property
def legacy_tu_name(self) -> str:
"""Legacy имя ТУ из enum TU."""
return self.technological_unit.description
@property
def tu_name(self) -> str:
"""Имя ТУ для WS-тестов и отчётов: admin при configurator, иначе legacy."""
if self.use_lds_configurator:
if self.admin_tu is None:
return ""
return self.admin_tu.admin_name
return self.technological_unit.description
@property
def tu_id(self) -> int:
"""ID ТУ для WS-тестов: resolved из Администрирования при configurator, иначе legacy."""
if self.use_lds_configurator:
if self.resolved_tu_id is None:
raise RuntimeError(
"resolved_tu_id не установлен - выполнить lds_configurator_admin_setup "
"перед операциями Администрирования"
)
return self.resolved_tu_id
return self.technological_unit.id
@property
def configurator_tu_id(self) -> int:
"""tuId из Администрирования после infra setup (LaunchLds/StopLds)."""
if self.resolved_tu_id is None:
raise RuntimeError(
"resolved_tu_id не установлен - выполнить lds_configurator_admin_setup "
"перед операциями Администрирования"
)
return self.resolved_tu_id
@property
def infra_tu_id(self) -> int:
"""Алиас legacy_tu_id (обратная совместимость)."""
return self.technological_unit.id
удалить:
# ===== Свойства для удобства =====
@property
def admin_tu_name(self) -> str:
"""tuName для поиска ТУ в Администрировании."""
if self.admin_tu is None:
return ""
return self.admin_tu.admin_name
@property
def legacy_tu_id(self) -> int:
"""Legacy id ТУ для имитатора, tags.txt и конфигурации стенда."""
return self.technological_unit.id
@property
def legacy_tu_name(self) -> str:
"""Legacy имя ТУ из enum TU."""
return self.technological_unit.description
@property
def tu_name(self) -> str:
"""Имя ТУ для WS-тестов и отчётов: admin при configurator, иначе legacy."""
if self.use_lds_configurator:
return self.admin_tu_name
return self.legacy_tu_name
@property
def tu_id(self) -> int:
"""ID ТУ для WS-тестов: resolved из Администрирования при configurator, иначе legacy."""
if self.use_lds_configurator:
return self.configurator_tu_id
return self.legacy_tu_id
@property
def configurator_tu_id(self) -> int:
"""tuId из Администрирования после infra setup (LaunchLds/StopLds)."""
if self.resolved_tu_id is None:
raise RuntimeError(
"resolved_tu_id не установлен — выполните lds_configurator_admin_setup перед операциями Администрирования"
)
return self.resolved_tu_id
@property
def infra_tu_id(self) -> int:
"""Алиас legacy_tu_id (обратная совместимость)."""
return self.legacy_tu_id