52 FL_WARN(
"[LOOPBACK] startTests() called - initializing test runner");
53 FL_WARN(
"[LOOPBACK] startTests() called");
67 runTest(
"GET /",
"http://localhost:8080/",
72 runTest(
"GET /ping",
"http://localhost:8080/ping",
77 runTest(
"GET /test",
"http://localhost:8080/test",
85 Serial.println(
"======================");
86 Serial.print(
"Test Results: ");
91 Serial.println(
"======================");
95 Serial.println(
"✓ All loopback tests PASSED");
97 Serial.println(
"✗ Loopback tests FAILED");
122 void runTest(
const char* name,
const char* url,
124 FL_WARN(
"[LOOPBACK] Running test: " << name <<
" -> " << url);
125 Serial.print(
"Running test: ");
134 if (resp.
status() == 200 && resp.
text() == expected) {
136 Serial.println(
" ✓ PASSED");
139 Serial.print(
" ✗ FAILED - ");
140 if (resp.
status() != 200) {
144 Serial.print(
"Expected: '");
146 Serial.print(
"', Got: '");
159 Serial.print(
" ✗ FAILED - Error: ");
CompletionCallback completion_callback
fl::function< void(bool success, int passed, int total)> CompletionCallback
TestSequenceState getState() const
void runTest(const char *name, const char *url, const char *expected, TestSequenceState next_state)
void startTests(CompletionCallback callback)
const char * c_str() const FL_NOEXCEPT
const fl::string & text() const
Response body as text (like JavaScript response.text())
int status() const
HTTP status code (like JavaScript response.status)
HTTP response class (unified interface)
Unified HTTP fetch API for FastLED (cross-platform)
Centralized logging categories for FastLED hardware interfaces and subsystems.
fl::task::Promise< Response > fetch_get(const fl::string &url, const FetchOptions &request)
HTTP GET request.