vpn/tests/test_subscription.py
2026-09-23 01:19:36 +00:00

21 lines
938 B
Python

from app.services.subscription import ClientVersion, SubscriptionClient, SubscriptionError
def test_user_agent_and_enrollment_url() -> None:
values: dict[str, str] = {}
client = SubscriptionClient(values.get, values.__setitem__, ClientVersion(1, 7))
result = client.enroll_url("https://sub.example.com/d/123e4567-e89b-12d3-a456-426614174000?enroll=secret")
assert result["subscription_url"].endswith("/d/123e4567-e89b-12d3-a456-426614174000")
assert values["device_token"] == "secret"
assert client.version.user_agent(values["device_id"]).startswith("vpnapp/v1.7/")
def test_invalid_enrollment_url() -> None:
values: dict[str, str] = {}
client = SubscriptionClient(values.get, values.__setitem__)
try:
client.enroll_url("https://sub.example.com/not-an-enrollment")
except SubscriptionError:
pass
else:
raise AssertionError("invalid enrollment URL must be rejected")