"""
Тесты с возможностью выбора категорий конфигов.
"""
import pytest
import json
import logging
logger = logging.getLogger(__name__)
[документация]
class TestCategorizedConfigs:
"""Тесты для конфигов, разделенных по категориям."""
[документация]
def test_config_execution(self, categorized_config_path):
"""Тест успешного выполнения атаки для конфигов выбранной категории."""
# categorized_config_path теперь содержит список путей
config_paths = categorized_config_path if isinstance(categorized_config_path, list) else [categorized_config_path]
for config_path in config_paths:
success_msg = f"✅ Config execution test would run for: {config_path}"
print(success_msg)
logger.info(success_msg)
assert len(config_paths) > 0, "Should have at least one config path"
[документация]
def test_smoke_config_only(self, smoke_config_path):
"""Тест только для smoke конфига."""
success_msg = f"✅ Smoke test execution for: {smoke_config_path}"
print(success_msg)
logger.info(success_msg)
# Проверяем, что это smoke конфиг (независимо от расширения и пути)
import os
config_filename = os.path.basename(smoke_config_path) # Получаем имя файла
filename_without_ext = os.path.splitext(config_filename)[0] # Убираем расширение
assert filename_without_ext == "smoke_test", \
f"Expected smoke test config, got: {config_filename}"
# Проверяем, что расширение поддерживается
supported_extensions = ['.json', '.yaml', '.yml']
file_extension = os.path.splitext(config_filename)[1].lower()
assert file_extension in supported_extensions, \
f"Unsupported config extension: {file_extension}. Supported: {supported_extensions}"