44 lines
1.2 KiB
Python
44 lines
1.2 KiB
Python
import json
|
|
import pytest
|
|
from apim_apps import load_config
|
|
|
|
SAMPLE = {
|
|
"environments": [
|
|
{"name": "DEV_LAN", "url": "https://dev.example.com:8075", "verify_ssl": False},
|
|
{"name": "PROD", "url": "https://prod.example.com:8075", "verify_ssl": True},
|
|
]
|
|
}
|
|
|
|
|
|
def test_load_config_names_and_urls(tmp_path):
|
|
f = tmp_path / "config.json"
|
|
f.write_text(json.dumps(SAMPLE))
|
|
envs = load_config(str(f))
|
|
|
|
assert len(envs) == 2
|
|
assert envs[0].name == "DEV_LAN"
|
|
assert envs[0].url == "https://dev.example.com:8075"
|
|
assert envs[0].verify_ssl is False
|
|
assert envs[1].name == "PROD"
|
|
assert envs[1].verify_ssl is True
|
|
|
|
|
|
def test_credentials_not_loaded_from_config(tmp_path):
|
|
"""Credentials come from env vars, not from config.json."""
|
|
f = tmp_path / "config.json"
|
|
f.write_text(json.dumps(SAMPLE))
|
|
envs = load_config(str(f))
|
|
|
|
for env in envs:
|
|
assert env.username == ""
|
|
assert env.password == ""
|
|
|
|
|
|
def test_verify_ssl_defaults_to_false(tmp_path):
|
|
config = {"environments": [{"name": "DEV", "url": "https://dev.example.com:8075"}]}
|
|
f = tmp_path / "config.json"
|
|
f.write_text(json.dumps(config))
|
|
envs = load_config(str(f))
|
|
|
|
assert envs[0].verify_ssl is False
|