commit 868c7e156b70e2948b0d1b4203eeda092261dbcf
parent 49ce3aa804bf2ac86ee030a8ac687130579b4a37
Author: triesap <tyson@radroots.org>
Date: Mon, 21 Sep 2026 13:44:10 +0000
provider: add local transport failure scripting
Diffstat:
1 file changed, 29 insertions(+), 0 deletions(-)
diff --git a/tests/test_jev.mojo b/tests/test_jev.mojo
@@ -258,3 +258,32 @@ def test_local_provider_server_serves_scripted_jev() raises:
var body = response.json()
assert_equal(body["model"].string_value(), "jev-1.13.0")
stub.wait()
+
+
+def test_local_provider_server_scripts_transport_failures() raises:
+ var rate_port = reserve_jev_port()
+ var rate_stub = spawn_jev_stub(rate_port, "rate_limit", 1)
+ with HttpClient(timeout_ms=5000, max_redirects=0) as client:
+ var response = client.post(
+ "http://127.0.0.1:" + String(rate_port) + "/v1/systemone", "{}"
+ )
+ assert_equal(response.status, 429)
+ rate_stub.wait()
+
+ var malformed_port = reserve_jev_port()
+ var malformed_stub = spawn_jev_stub(malformed_port, "malformed_json", 1)
+ with HttpClient(timeout_ms=5000, max_redirects=0) as client:
+ var response = client.post(
+ "http://127.0.0.1:" + String(malformed_port) + "/v1/systemone", "{}"
+ )
+ assert_equal(response.text(), "not json")
+ malformed_stub.wait()
+
+ var err_port = reserve_jev_port()
+ var err_stub = spawn_jev_stub(err_port, "server_error", 1)
+ with HttpClient(timeout_ms=5000, max_redirects=0) as client:
+ var response = client.post(
+ "http://127.0.0.1:" + String(err_port) + "/v1/systemone", "{}"
+ )
+ assert_equal(response.status, 500)
+ err_stub.wait()