salt-bootstrap/tests/conftest.py

49 lines
1.2 KiB
Python
Raw Normal View History

2024-11-05 09:11:03 -07:00
import json
2018-08-14 10:20:46 -05:00
import os
2018-08-14 10:20:46 -05:00
import pytest
2024-11-05 09:11:03 -07:00
import requests
2024-11-05 09:11:03 -07:00
API_URL = (
"https://packages.broadcom.com/artifactory/api/storage/saltproject-generic/windows"
)
2018-08-14 10:20:46 -05:00
@pytest.fixture(scope="session")
def target_python_version():
return 3
@pytest.fixture(scope="session")
def target_salt_version():
2024-11-05 09:11:03 -07:00
2024-11-04 14:39:59 -07:00
target_salt = os.environ.get("SaltVersion", "")
2024-11-05 09:11:03 -07:00
html_response = requests.get(API_URL)
content = json.loads(html_response.text)
folders = content["children"]
versions = {}
for folder in folders:
if folder["folder"]:
version = folder["uri"].strip("/")
versions[version] = version
# We're trying to get the latest major version and latest overall
maj_version = version.split(".")[0]
versions[maj_version] = version
versions["latest"] = version
if target_salt.startswith("v"):
target_salt = target_salt[1:]
2024-11-05 09:11:03 -07:00
if target_salt not in versions:
pytest.skip(f"Invalid testing version: {target_salt}")
if target_salt in (
"default",
"latest",
"master",
"nightly",
"stable",
"onedir",
"git",
):
pytest.skip("Don't have a specific salt version to test against")
2024-11-05 09:11:03 -07:00
return versions[target_salt]