Publish curated Unraid-AppOps-Gateway source from 451646fee806a47e3256731766980a05a262dcdd
This commit is contained in:
1 parent
532f3d9f26
commit
0a82153d95
43 files changed
+17722
-93
No files matched your search
@@ -267,6 +267,36 @@ def test_forge_bootstrap_preflight_is_read_only_and_rejects_generic_apply(integr
|
||||
json={"operation": "apply", "plan": profile},
|
||||
)
|
||||
assert generic_apply.status_code == 422
|
||||
generic_rollback = client.post(
|
||||
"/api/deployments",
|
||||
headers={**human_headers(client), "Idempotency-Key": "forge-generic-rollback-0001"},
|
||||
json={"operation": "rollback", "plan": profile},
|
||||
)
|
||||
assert generic_rollback.status_code == 422
|
||||
|
||||
apply_profile = {
|
||||
"api_version": "itworx.forge-first-install/v1",
|
||||
"revision": profile["revision"],
|
||||
"workspace_image_digest": profile["workspace_image_digest"],
|
||||
"frontdoor_image_digest": profile["frontdoor_image_digest"],
|
||||
"preflight_job_id": result["id"],
|
||||
"preflight_sha256": result["preflightSha256"],
|
||||
}
|
||||
dedicated_apply = client.post(
|
||||
"/api/deployments/forge-bootstrap/first-install",
|
||||
headers={**human_headers(client), "Idempotency-Key": "forge-api-install-0001"},
|
||||
json=apply_profile,
|
||||
)
|
||||
assert dedicated_apply.status_code == 409
|
||||
assert "passed Forge preflight" in dedicated_apply.json()["detail"]
|
||||
assert client.get(
|
||||
"/api/deployments/forge-bootstrap/first-install/forge-install-" + "0" * 64,
|
||||
headers=human_headers(client),
|
||||
).status_code == 404
|
||||
assert client.get(
|
||||
"/api/deployments/forge-install-" + "0" * 64,
|
||||
headers=human_headers(client),
|
||||
).status_code == 404
|
||||
|
||||
async def exercise_mcp():
|
||||
async with Client(mcp_server.appops_mcp) as mcp_client:
|
||||
@@ -280,6 +310,23 @@ def test_forge_bootstrap_preflight_is_read_only_and_rejects_generic_apply(integr
|
||||
{"plan": profile, "idempotencyKey": "forge-mcp-apply-0001"},
|
||||
)
|
||||
assert apply.structured_content["status"] == "invalid"
|
||||
forge_apply = await mcp_client.call_tool(
|
||||
"forge.bootstrap.apply",
|
||||
{"profile": apply_profile, "idempotencyKey": "forge-mcp-install-0001"},
|
||||
)
|
||||
assert forge_apply.structured_content["status"] == "invalid"
|
||||
forge_status = await mcp_client.call_tool(
|
||||
"forge.bootstrap.status", {"jobId": "forge-install-" + "0" * 64}
|
||||
)
|
||||
assert forge_status.structured_content["status"] == "not_found"
|
||||
generic_forge_status = await mcp_client.call_tool(
|
||||
"deployment.status", {"jobId": "forge-install-" + "0" * 64}
|
||||
)
|
||||
assert generic_forge_status.structured_content["status"] == "invalid"
|
||||
forge_resume = await mcp_client.call_tool(
|
||||
"forge.bootstrap.resume", {"jobId": "forge-install-" + "0" * 64}
|
||||
)
|
||||
assert forge_resume.structured_content["status"] == "not_found"
|
||||
|
||||
asyncio.run(exercise_mcp())
|
||||
|
||||
|
||||
Reference in new issue
Block a user