import json import sys from pathlib import Path sys.path.append(str(Path(__file__).resolve().parents[1])) from check_updates import ExtractRule, extract_version def test_extract_jsonpath(): body = json.dumps({"version": "1.2.3"}) rule = ExtractRule(type="jsonpath", value="$.version") assert extract_version(body, rule) == "1.2.3" def test_extract_header(): rule = ExtractRule(type="header", value="x-version") headers = {"x-version": "2.3.4"} assert extract_version("", rule, headers) == "2.3.4" def test_extract_regex_group(): rule = ExtractRule(type="regex", value=r"Version: (\d+\.\d+\.\d+)") assert extract_version("Version: 1.9.0", rule) == "1.9.0"