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")