21 lines
938 B
Python
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")
|