24 lines
1.2 KiB
Python
24 lines
1.2 KiB
Python
import os
|
|
import pytest
|
|
import yaml
|
|
|
|
from config import ComponentTestConfig, NamedTunnelBaseConfig, ClassicTunnelBaseConfig
|
|
from util import LOGGER
|
|
|
|
@pytest.fixture(scope="session")
|
|
def component_tests_config():
|
|
config_file = os.getenv("COMPONENT_TESTS_CONFIG")
|
|
if config_file is None:
|
|
raise Exception("Need to provide path to config file in COMPONENT_TESTS_CONFIG")
|
|
with open(config_file, 'r') as stream:
|
|
config = yaml.safe_load(stream)
|
|
LOGGER.info(f"component tests base config {config}")
|
|
base_named_tunnel_config = NamedTunnelBaseConfig(tunnel=config['tunnel'], credentials_file=config['credentials_file'])
|
|
base_classic_tunnel_config = ClassicTunnelBaseConfig(hostname=config['classic_hostname'], origincert=config['origincert'])
|
|
|
|
def _component_tests_config(extra_named_tunnel_config={}, extra_classic_tunnel_config={}):
|
|
named_tunnel_config = base_named_tunnel_config.merge_config(extra_named_tunnel_config)
|
|
classic_tunnel_config = base_classic_tunnel_config.merge_config(extra_classic_tunnel_config)
|
|
return ComponentTestConfig(config['cloudflared_binary'], named_tunnel_config, classic_tunnel_config)
|
|
|
|
return _component_tests_config |