WIP checkpoint: Architecture: ApiClient autoload (HTTP + JWT + error contract)
This commit is contained in:
@@ -0,0 +1,31 @@
|
|||||||
|
extends SceneTree
|
||||||
|
## Headless smoke test for the ApiClient autoload.
|
||||||
|
##
|
||||||
|
## Run with:
|
||||||
|
## godot --headless --path . --script res://scripts/smoke_test_api.gd
|
||||||
|
##
|
||||||
|
## Requires the backend to be running (default base URL
|
||||||
|
## `application/agp/api_base_url` -> http://127.0.0.1:8000).
|
||||||
|
##
|
||||||
|
## Calls the real autoload's `health_check()` (which exercises the generic
|
||||||
|
## `request()` primitive) and exits 0 on a `status == "ok"` response, 1
|
||||||
|
## otherwise. This script is intentionally NOT wired into any game scene.
|
||||||
|
|
||||||
|
|
||||||
|
func _initialize() -> void:
|
||||||
|
_run()
|
||||||
|
|
||||||
|
|
||||||
|
func _run() -> void:
|
||||||
|
print("SMOKE: calling ApiClient.health_check() ...")
|
||||||
|
var result: Dictionary = await ApiClient.health_check()
|
||||||
|
print("SMOKE: result = ", result)
|
||||||
|
|
||||||
|
if result.ok \
|
||||||
|
and result.data is Dictionary \
|
||||||
|
and str((result.data as Dictionary).get("status", "")) == "ok":
|
||||||
|
print("SMOKE RESULT: PASS (status=ok)")
|
||||||
|
quit(0)
|
||||||
|
else:
|
||||||
|
printerr("SMOKE RESULT: FAIL")
|
||||||
|
quit(1)
|
||||||
Reference in New Issue
Block a user