diff --git a/src/promptless_instruction_hub/managed_runtime_assets/host_enrollment/promptless_host_runtime/contracts.py b/src/promptless_instruction_hub/managed_runtime_assets/host_enrollment/promptless_host_runtime/contracts.py index 7c1f07a..fc1f904 100644 --- a/src/promptless_instruction_hub/managed_runtime_assets/host_enrollment/promptless_host_runtime/contracts.py +++ b/src/promptless_instruction_hub/managed_runtime_assets/host_enrollment/promptless_host_runtime/contracts.py @@ -26,10 +26,10 @@ DEFAULT_DASHBOARD_BASE_URL = "https://app.gopromptless.ai" -HOSTED_ENROLLMENT_START_PATH = "/instruction-hub/enroll/start" +HOSTED_ENROLLMENT_START_PATH = "/pig/enroll/start" -HOSTED_ENROLLMENT_APPROVAL_PATH = "/instruction-hub/enroll" +HOSTED_ENROLLMENT_APPROVAL_PATH = "/pig/enroll" MANAGED_BEGIN = "# BEGIN PROMPTLESS MANAGED HOST ENROLLMENT" diff --git a/tests/managed_bootstrap/helpers.py b/tests/managed_bootstrap/helpers.py index 74b1821..c8cb4c9 100644 --- a/tests/managed_bootstrap/helpers.py +++ b/tests/managed_bootstrap/helpers.py @@ -512,7 +512,7 @@ def __init__( session_barrier_count: int = 0, callback_state_override: str | None = None, pending_approval_url_override: str | None = None, - pending_approval_path: str = "/instruction-hub/enroll", + pending_approval_path: str = "/pig/enroll", unparsed_record_count: int = 0, enforce_trace_watermarks: bool = False, drop_next_trace_response_after_commit: bool = False, @@ -573,7 +573,7 @@ class _FakeWorkerHandler(BaseHTTPRequestHandler): session_requests: ClassVar[list[dict[str, JsonValue]]] = [] callback_state_override: ClassVar[str | None] = None pending_approval_url_override: ClassVar[str | None] = None - pending_approval_path: ClassVar[str] = "/instruction-hub/enroll" + pending_approval_path: ClassVar[str] = "/pig/enroll" unparsed_record_count: ClassVar[int] = 0 enforce_trace_watermarks: ClassVar[bool] = False drop_next_trace_response_after_commit: ClassVar[bool] = False @@ -590,7 +590,7 @@ def do_GET(self) -> None: } ) return - if parsed.path == "/instruction-hub/enroll/start": + if parsed.path == "/pig/enroll/start": payload = self._single_value_query_payload(parsed.query) callback_url = _json_string(payload.get("callback_url"), "callback_url") if callback_url is None: @@ -613,7 +613,7 @@ def do_GET(self) -> None: return self._redirect(hosted_approval_url) return - if parsed.path == "/instruction-hub/enroll": + if parsed.path == "/pig/enroll": payload = self._single_value_query_payload(parsed.query) callback_url = _json_string(payload.pop("callback_url", None), "callback_url") if callback_url is None: @@ -638,7 +638,7 @@ def do_GET(self) -> None: def do_POST(self) -> None: parsed = urlsplit(self.path) - if self.path == "/v1/instruction-hub/host-enrollments/sessions/11111111-1111-4111-8111-111111111111/poll": + if self.path == "/v1/pig/host-enrollments/sessions/11111111-1111-4111-8111-111111111111/poll": payload = self._read_json_request("session poll request") if payload.get("device_code") != "plihenroll_devicecode": self.send_response(401) @@ -765,7 +765,7 @@ def _session_response_payload(self) -> dict[str, JsonValue]: payload = dict(self.session_response or _session_response(deployment_instance_id=self.deployment_instance_id)) payload.setdefault( "poll_url", - f"{self._base_url()}/v1/instruction-hub/host-enrollments/sessions/11111111-1111-4111-8111-111111111111/poll", + f"{self._base_url()}/v1/pig/host-enrollments/sessions/11111111-1111-4111-8111-111111111111/poll", ) return payload diff --git a/tests/managed_bootstrap/test_enrollment.py b/tests/managed_bootstrap/test_enrollment.py index a77369f..5a86140 100644 --- a/tests/managed_bootstrap/test_enrollment.py +++ b/tests/managed_bootstrap/test_enrollment.py @@ -606,7 +606,7 @@ def unexpected_browser_open(*args: object, **kwargs: object) -> bool: monkeypatch.setattr(host_enrollment.webbrowser, "open", unexpected_browser_open) - assert not host_enrollment._open_hosted_enrollment_url("https://app.gopromptless.ai/instruction-hub/enroll") + assert not host_enrollment._open_hosted_enrollment_url("https://app.gopromptless.ai/pig/enroll") assert not host_enrollment._browser_session_available({"BROWSER": "xdg-open"}, "Linux") @@ -995,7 +995,7 @@ def test_bootstrap_rejects_loopback_callback_with_wrong_state(tmp_path: Path) -> @pytest.mark.parametrize( ("pending_approval_url_override", "pending_approval_path"), [ - ("https://attacker.example/instruction-hub/enroll", "/instruction-hub/enroll"), + ("https://attacker.example/pig/enroll", "/pig/enroll"), (None, "/attacker/enroll"), ], ids=["wrong-origin", "wrong-path"], @@ -1042,7 +1042,7 @@ def test_bootstrap_fails_fast_when_browser_pending_callback_rejects_approval_url init_hub(hub_root, org="Promptless") enable_trace_ingestion(hub_root) build_hub(hub_root) - server = _FakeWorkerServer(pending_approval_url_override="https://attacker.example/instruction-hub/enroll") + server = _FakeWorkerServer(pending_approval_url_override="https://attacker.example/pig/enroll") server.start() try: home = tmp_path / "home" @@ -1083,7 +1083,7 @@ def test_bootstrap_requires_callback_deployment_instance_id(tmp_path: Path) -> N session_response={ "session_id": "11111111-1111-4111-8111-111111111111", "device_code": "plihenroll_devicecode", - "poll_url": "https://api.gopromptless.ai/v1/instruction-hub/host-enrollments/sessions/11111111-1111-4111-8111-111111111111/poll", + "poll_url": "https://api.gopromptless.ai/v1/pig/host-enrollments/sessions/11111111-1111-4111-8111-111111111111/poll", "expires_at": (dt.datetime.now(dt.timezone.utc) + dt.timedelta(minutes=5)).isoformat(), "poll_interval_seconds": 1, }