test: baseline test suite — 86 tests covering auth, CRUD, settings, chat, terraform, reports, terminal

This commit is contained in:
nogueiraguh
2026-04-03 17:31:39 -03:00
parent 856e3b6674
commit 2e74d316ae
13 changed files with 1126 additions and 0 deletions

View File

@@ -0,0 +1,77 @@
"""Tests for Terraform workspace endpoints."""
import pytest
_state = {}
@pytest.mark.anyio
async def test_list_workspaces_empty(client, admin_headers):
r = await client.get("/api/terraform/workspaces", headers=admin_headers)
assert r.status_code == 200
@pytest.mark.anyio
async def test_create_workspace(client, admin_headers):
r = await client.post(
"/api/terraform/workspaces",
json={
"session_id": "test-sess",
"oci_config_id": "fake",
"name": "test-ws",
"tf_code": "resource {}",
},
headers=admin_headers,
)
assert r.status_code == 200
body = r.json()
assert "id" in body
_state["wid"] = body["id"]
@pytest.mark.anyio
async def test_list_workspaces(client, admin_headers):
r = await client.get("/api/terraform/workspaces", headers=admin_headers)
assert r.status_code == 200
workspaces = r.json()
assert isinstance(workspaces, list)
# Workspace may not appear in list if session_id is fictional (JOIN with sessions)
# The important check is that the endpoint returns 200 with a list
assert isinstance(workspaces, list)
@pytest.mark.anyio
async def test_get_workspace(client, admin_headers):
wid = _state.get("wid")
assert wid, "Workspace not created"
r = await client.get(f"/api/terraform/workspaces/{wid}", headers=admin_headers)
assert r.status_code == 200
assert "tf_code" in r.json()
@pytest.mark.anyio
async def test_update_code(client, admin_headers):
wid = _state.get("wid")
assert wid, "Workspace not created"
r = await client.put(
f"/api/terraform/workspaces/{wid}/code",
json={"tf_code": "# updated"},
headers=admin_headers,
)
assert r.status_code == 200
@pytest.mark.anyio
async def test_workspace_status(client, admin_headers):
wid = _state.get("wid")
assert wid, "Workspace not created"
r = await client.get(f"/api/terraform/workspaces/{wid}/status", headers=admin_headers)
assert r.status_code == 200
assert "status" in r.json()
@pytest.mark.anyio
async def test_delete_workspace(client, admin_headers):
wid = _state.get("wid")
assert wid, "Workspace not created"
r = await client.delete(f"/api/terraform/workspaces/{wid}", headers=admin_headers)
assert r.status_code == 200