fix(terminal): simplify REST endpoints to use instance_id only
The frontend router navigates to /instances/:instanceId/terminal without
project_id or repo_id. The backend terminal REST endpoints were requiring
these path params, causing 404s.
- Simplify _get_terminal_instance to validate by instance_id only
- Update all REST routes from /projects/{pid}/repositories/{rid}/instances/{iid}/terminal/*
to /instances/{instance_id}/terminal/*
- Update frontend API client to match new paths
- Update useTerminalSessions hook to take instanceId only
- Update TerminalPage to use simplified hook
- Update tests to match new paths
Fixes: 404 on GET /projects/repositories/instances/{id}/terminal/sessions
This commit is contained in:
@@ -32,44 +32,36 @@ class TestTerminalRestApi:
|
||||
|
||||
def test_list_sessions_requires_auth(self, client):
|
||||
"""List sessions endpoint requires authentication."""
|
||||
response = client.get(
|
||||
"/projects/test/repositories/test/instances/test/terminal/sessions"
|
||||
)
|
||||
response = client.get("/instances/test/terminal/sessions")
|
||||
assert response.status_code == 401
|
||||
|
||||
def test_create_session_requires_auth(self, client):
|
||||
"""Create session endpoint requires authentication."""
|
||||
response = client.post(
|
||||
"/projects/test/repositories/test/instances/test/terminal/sessions",
|
||||
"/instances/test/terminal/sessions",
|
||||
json={},
|
||||
)
|
||||
assert response.status_code == 401
|
||||
|
||||
def test_close_session_requires_auth(self, client):
|
||||
"""Close session endpoint requires authentication."""
|
||||
response = client.delete(
|
||||
"/projects/test/repositories/test/instances/test/terminal/sessions/test-session"
|
||||
)
|
||||
response = client.delete("/instances/test/terminal/sessions/test-session")
|
||||
assert response.status_code == 401
|
||||
|
||||
def test_reset_session_requires_auth(self, client):
|
||||
"""Reset session endpoint requires authentication."""
|
||||
response = client.post(
|
||||
"/projects/test/repositories/test/instances/test/terminal/sessions/test-session/reset"
|
||||
)
|
||||
response = client.post("/instances/test/terminal/sessions/test-session/reset")
|
||||
assert response.status_code == 401
|
||||
|
||||
def test_rename_session_requires_auth(self, client):
|
||||
"""Rename session endpoint requires authentication."""
|
||||
response = client.post(
|
||||
"/projects/test/repositories/test/instances/test/terminal/sessions/test-session/rename",
|
||||
"/instances/test/terminal/sessions/test-session/rename",
|
||||
json={"name": "New Name"},
|
||||
)
|
||||
assert response.status_code == 401
|
||||
|
||||
def test_legacy_reset_alias_requires_auth(self, client):
|
||||
"""Legacy reset endpoint still requires auth."""
|
||||
response = client.post(
|
||||
"/projects/test/repositories/test/instances/test/terminal/reset"
|
||||
)
|
||||
response = client.post("/instances/test/terminal/reset")
|
||||
assert response.status_code == 401
|
||||
|
||||
Reference in New Issue
Block a user