documentation cleanse, sprints work and planning. remaining non EF DAL migration to EF

This commit is contained in:
master
2026-02-25 01:24:07 +02:00
parent b07d27772e
commit 4db038123b
9090 changed files with 4836 additions and 2909 deletions

View File

@@ -0,0 +1,17 @@
{
"project": "src/Router/__Tests/StellaOps.Gateway.WebService.Tests/StellaOps.Gateway.WebService.Tests.csproj",
"buildResult": "pass",
"testResult": "pass",
"totalTests": 224,
"passedTests": 224,
"failedTests": 0,
"skippedTests": 0,
"capturedAtUtc": "2026-02-12T12:30:00Z",
"errors": [],
"codeReview": {
"nonTrivialImplementation": true,
"logicMatchesDescription": true,
"unitTestsCoverCoreBehavior": true,
"assertionsMeaningful": true
}
}

View File

@@ -0,0 +1,105 @@
{
"type": "api",
"baseUrl": "http://127.0.0.1:15080",
"capturedAtUtc": "2026-02-12T12:44:00Z",
"requests": [
{
"description": "Forward request to upstream via /proxy prefix",
"method": "GET",
"path": "/proxy/echo",
"expectedStatus": 200,
"actualStatus": 200,
"assertion": "Response contains proxied JSON with path=/echo from upstream",
"result": "pass",
"evidence": "{\"method\": \"GET\", \"path\": \"/echo\", \"headers\": {\"Host\": \"127.0.0.1:19876\", ...}, \"proxied\": true}",
"requestCapturedAtUtc": "2026-02-12T12:44:11Z",
"responseSnippet": "HTTP/1.1 200 OK\nContent-Type: application/json"
},
{
"description": "Strip /proxy prefix: /proxy/sub/path -> /sub/path upstream",
"method": "GET",
"path": "/proxy/sub/path",
"expectedStatus": 200,
"actualStatus": 200,
"assertion": "Upstream receives path=/sub/path (prefix stripped)",
"result": "pass",
"evidence": "{\"method\": \"GET\", \"path\": \"/sub/path\", ...}",
"requestCapturedAtUtc": "2026-02-12T12:44:12Z",
"responseSnippet": "HTTP/1.1 200 OK"
},
{
"description": "Forward custom request headers to upstream",
"method": "GET",
"path": "/proxy/echo",
"headers": {"X-Test-Header": "test-value"},
"expectedStatus": 200,
"actualStatus": 200,
"assertion": "Upstream received X-Test-Header: test-value in headers",
"result": "pass",
"evidence": "\"X-Test-Header\": \"test-value\" present in upstream echo response",
"requestCapturedAtUtc": "2026-02-12T12:44:13Z",
"responseSnippet": "HTTP/1.1 200 OK"
},
{
"description": "Pass through upstream 201 status code",
"method": "GET",
"path": "/proxy/status/201",
"expectedStatus": 201,
"actualStatus": 201,
"assertion": "Gateway returns upstream's 201 Created status as-is",
"result": "pass",
"evidence": "STATUS:201",
"requestCapturedAtUtc": "2026-02-12T12:44:14Z",
"responseSnippet": "HTTP/1.1 201 Created"
},
{
"description": "Pass through upstream 400 status code",
"method": "GET",
"path": "/proxy/status/400",
"expectedStatus": 400,
"actualStatus": 400,
"assertion": "Gateway returns upstream's 400 Bad Request status as-is",
"result": "pass",
"evidence": "STATUS:400",
"requestCapturedAtUtc": "2026-02-12T12:44:15Z",
"responseSnippet": "HTTP/1.1 400 Bad Request"
},
{
"description": "Pass through upstream 500 status code",
"method": "GET",
"path": "/proxy/status/500",
"expectedStatus": 500,
"actualStatus": 500,
"assertion": "Gateway returns upstream's 500 Internal Server Error status as-is",
"result": "pass",
"evidence": "STATUS:500",
"requestCapturedAtUtc": "2026-02-12T12:44:16Z",
"responseSnippet": "HTTP/1.1 500 Internal Server Error"
},
{
"description": "Inject configured X-Custom-Route header into upstream request",
"method": "GET",
"path": "/proxy-headers/echo",
"expectedStatus": 200,
"actualStatus": 200,
"assertion": "Upstream echo shows X-Custom-Route: injected-value in received headers",
"result": "pass",
"evidence": "\"X-Custom-Route\": \"injected-value\" present in upstream echo response",
"requestCapturedAtUtc": "2026-02-12T12:44:17Z",
"responseSnippet": "HTTP/1.1 200 OK"
},
{
"description": "Regex route ^/api/v[0-9]+/.* matches /api/v2/data",
"method": "GET",
"path": "/api/v2/data",
"expectedStatus": 200,
"actualStatus": 200,
"assertion": "Regex route matched, request proxied to upstream with full path /api/v2/data",
"result": "pass",
"evidence": "{\"method\": \"GET\", \"path\": \"/api/v2/data\", ...}",
"requestCapturedAtUtc": "2026-02-12T12:44:18Z",
"responseSnippet": "HTTP/1.1 200 OK"
}
],
"verdict": "pass"
}