| Test | Status | Time |
|---|---|---|
| TestSessionMiddleware_ValidCookie | PASS | 0.000s |
| TestSessionMiddleware_NoCookie | PASS | 0.000s |
| TestSessionMiddleware_InvalidCookie | PASS | 0.000s |
| TestSessionMiddleware_IdleExpired | PASS | 0.000s |
| TestCSRFMiddleware_AllowsGETWithoutOrigin | PASS | 0.000s |
| TestCSRFMiddleware_AllowsPOSTWithCorrectOrigin | PASS | 0.000s |
| TestCSRFMiddleware_BlocksPOSTWithWrongOrigin | PASS | 0.000s |
| TestCSRFMiddleware_AllowsPOSTWithoutOrigin | PASS | 0.000s |
| TestCSRFMiddleware_AllowsPUTWithCorrectOrigin | PASS | 0.000s |
| TestCSRFMiddleware_BlocksDELETEWithWrongOrigin | PASS | 0.000s |
| TestCSRFMiddleware_AllowsGETWithWrongOrigin | PASS | 0.000s |
| TestCSRFMiddleware_EmptyOriginAllowsAll | PASS | 0.010s |
| TestAuthMiddlewareValidToken | PASS | 0.000s |
| TestAuthMiddlewareInvalidToken | PASS | 0.000s |
| TestAuthMiddlewareMissingHeader | PASS | 0.000s |
| Test | Status | Time |
|---|---|---|
| TestMemoryStore_CreateAndGet | PASS | 0.000s |
| TestMemoryStore_GetNotFound | PASS | 0.000s |
| TestMemoryStore_Delete | PASS | 0.000s |
| TestMemoryStore_TTLExpiry | PASS | 0.020s |
| TestMemoryStore_SetStateAndGetAndDeleteState | PASS | 0.000s |
| TestMemoryStore_SetRevokedJTIAndIsJTIRevoked | PASS | 0.000s |
| TestMemoryStore_StateExpiry | PASS | 0.020s |
| Test | Status | Time |
|---|---|---|
| TestEncryptDecrypt_RoundTrip | PASS | 0.000s |
| TestDecrypt_InvalidCiphertext | PASS | 0.000s |
| TestDecrypt_LazyMigration_PlaintextPassthrough | PASS | 0.000s |
| TestEncrypt_Deterministic_Nope | PASS | 0.000s |
| TestHMACSHA256_KnownVector | PASS | 0.000s |
| TestHMACSHA256_EmptyMessage | PASS | 0.000s |
| TestVerifyHMAC_Valid | PASS | 0.000s |
| TestVerifyHMAC_Invalid | PASS | 0.000s |
| TestVerifyHMAC_WrongSecret | PASS | 0.000s |
| Test | Status | Time |
|---|---|---|
| TestMigrateUpDown | PASS | 11.670s |
| Test | Status | Time |
|---|---|---|
| TestAuthConfig_NoLeftoverFiles |
FAIL Failed
=== RUN TestAuthConfig_NoLeftoverFiles
service_test.go:300: FetchManifestRepo: git clone failed: exit status 128
output: Cloning into '/tmp/TestAuthConfig_NoLeftoverFiles2429382236/003/checkout'...
remote: git http-backend: git: 'http-backend' is not a git command. See 'git --help'.
fatal: unable to access 'https://127.0.0.1:36843/manifest-repo/.git/': The requested URL returned error: 500
--- FAIL: TestAuthConfig_NoLeftoverFiles (0.56s)
|
0.560s |
| TestRunGit_KillsProcessGroupOnTimeout |
FAIL Failed
=== RUN TestRunGit_KillsProcessGroupOnTimeout
service_test.go:366: grandchild 9734 still alive — process group was not killed on timeout
--- FAIL: TestRunGit_KillsProcessGroupOnTimeout (0.22s)
|
0.220s |
| TestFetchManifestRepo_EnvTimeoutApplied |
FAIL Failed
=== RUN TestFetchManifestRepo_EnvTimeoutApplied
service_test.go:416: FetchManifestRepo with env timeouts: git clone failed: exit status 128
output: Cloning into '/tmp/TestFetchManifestRepo_EnvTimeoutApplied4191133078/002/checkout'...
remote: git http-backend: git: 'http-backend' is not a git command. See 'git --help'.
fatal: unable to access 'https://127.0.0.1:37043/manifest-repo/.git/': The requested URL returned error: 500
--- FAIL: TestFetchManifestRepo_EnvTimeoutApplied (0.13s)
|
0.130s |
| TestCheckHealth_Connected |
FAIL Failed
=== RUN TestCheckHealth_Connected
service_test.go:467: expected connected=true for reachable repository
--- FAIL: TestCheckHealth_Connected (0.07s)
|
0.070s |
| TestCheckHealth_WithToken |
FAIL Failed
=== RUN TestCheckHealth_WithToken
service_test.go:502: expected connected=true for reachable repository
--- FAIL: TestCheckHealth_WithToken (0.08s)
|
0.080s |
| TestClone_PublicRepo |
FAIL Failed
=== RUN TestClone_PublicRepo
service_test.go:542: unexpected error: git clone failed: exit status 128
output: Cloning into '/tmp/TestClone_PublicRepo294755997/002/clone'...
remote: git http-backend: git: 'http-backend' is not a git command. See 'git --help'.
fatal: unable to access 'https://127.0.0.1:44731/clone-src/.git/': The requested URL returned error: 500
--- FAIL: TestClone_PublicRepo (0.47s)
|
0.470s |
| TestClone_WithToken |
FAIL Failed
=== RUN TestClone_WithToken
service_test.go:572: unexpected error cloning repo with token: git clone failed: exit status 128
output: Cloning into '/tmp/TestClone_WithToken2934064592/002/clone'...
remote: git http-backend: git: 'http-backend' is not a git command. See 'git --help'.
fatal: unable to access 'https://127.0.0.1:38175/clone-src/.git/': The requested URL returned error: 500
--- FAIL: TestClone_WithToken (0.22s)
|
0.220s |
| TestClone_CustomDirectory |
FAIL Failed
=== RUN TestClone_CustomDirectory
service_test.go:591: unexpected error: git clone failed: exit status 128
output: Cloning into '/tmp/TestClone_CustomDirectory1526313481/002/custom/workdir'...
remote: git http-backend: git: 'http-backend' is not a git command. See 'git --help'.
fatal: unable to access 'https://127.0.0.1:43807/clone-src/.git/': The requested URL returned error: 500
--- FAIL: TestClone_CustomDirectory (0.14s)
|
0.140s |
| TestCreateBranch_Success |
FAIL Failed
=== RUN TestCreateBranch_Success
service_test.go:615: clone: git clone failed: exit status 128
output: Cloning into '/tmp/TestCreateBranch_Success571224231/002/clone'...
remote: git http-backend: git: 'http-backend' is not a git command. See 'git --help'.
fatal: unable to access 'https://127.0.0.1:43057/branch-src/.git/': The requested URL returned error: 500
--- FAIL: TestCreateBranch_Success (0.16s)
|
0.160s |
| TestFetchManifestRepo_SparseHTTP |
FAIL Failed
=== RUN TestFetchManifestRepo_SparseHTTP
service_test.go:845: unexpected error: git clone failed: exit status 128
output: Cloning into '/tmp/TestFetchManifestRepo_SparseHTTP878255200/002/checkout'...
remote: git http-backend: git: 'http-backend' is not a git command. See 'git --help'.
fatal: unable to access 'https://127.0.0.1:41869/manifest-repo/.git/': The requested URL returned error: 500
--- FAIL: TestFetchManifestRepo_SparseHTTP (0.14s)
|
0.140s |
| TestFetchManifestRepo_PartialCloneFilter |
FAIL Failed
=== RUN TestFetchManifestRepo_PartialCloneFilter
service_test.go:888: unexpected error: git clone failed: exit status 128
output: Cloning into '/tmp/TestFetchManifestRepo_PartialCloneFilter90949459/002/checkout'...
remote: git http-backend: git: 'http-backend' is not a git command. See 'git --help'.
fatal: unable to access 'https://127.0.0.1:44755/manifest-repo/.git/': The requested URL returned error: 500
--- FAIL: TestFetchManifestRepo_PartialCloneFilter (0.16s)
|
0.160s |
| TestFetchManifestRepo_TokenNotInGitConfig |
FAIL Failed
=== RUN TestFetchManifestRepo_TokenNotInGitConfig
service_test.go:944: unexpected error: git clone failed: exit status 128
output: Cloning into '/tmp/TestFetchManifestRepo_TokenNotInGitConfig3219359712/002/checkout'...
remote: git http-backend: git: 'http-backend' is not a git command. See 'git --help'.
fatal: unable to access 'https://127.0.0.1:42795/manifest-repo/.git/': The requested URL returned error: 500
--- FAIL: TestFetchManifestRepo_TokenNotInGitConfig (0.16s)
|
0.160s |
| TestSlugRepoName_Lowercases | PASS | 0.000s |
| TestSlugRepoName_NonAlphanumericsToDash | PASS | 0.000s |
| TestSlugRepoName_TruncatesAt64 | PASS | 0.000s |
| TestSlugRepoName_TrimsBeforeTruncating | PASS | 0.000s |
| TestSlugRepoName_NoTrailingHyphenAfterTruncation | PASS | 0.000s |
| TestSlugRepoName_TruncationBoundaryCollision | PASS | 0.000s |
| TestSlugRepoName_Deterministic | PASS | 0.000s |
| TestValidateRepoURL/https_with_token | PASS | 0.000s |
| TestValidateRepoURL/https_without_token | PASS | 0.000s |
| TestValidateRepoURL/http_without_token | PASS | 0.000s |
| TestValidateRepoURL/http_with_token | PASS | 0.000s |
| TestValidateRepoURL/ftp_scheme | PASS | 0.000s |
| TestValidateRepoURL/file_scheme | PASS | 0.000s |
| TestValidateRepoURL/file_scheme_with_token | PASS | 0.000s |
| TestValidateRepoURL/ssh_scheme | PASS | 0.000s |
| TestValidateRepoURL/no_scheme | PASS | 0.000s |
| TestValidateRepoURL/empty | PASS | 0.000s |
| TestValidateRepoURL | PASS | 0.000s |
| TestCheckHealth_RejectsUnsupportedScheme | PASS | 0.000s |
| TestClone_RejectsTokenOverHTTP | PASS | 0.000s |
| TestFetchManifestRepo_RejectsUnsupportedScheme | PASS | 0.000s |
| TestWriteAuthConfig_EmptyToken | PASS | 0.000s |
| TestWriteAuthConfig_Content | PASS | 0.160s |
| TestWriteAuthConfig_ScopedToPort | PASS | 0.560s |
| TestBuildGitEnv_NoAmbientGitConfig | PASS | 0.110s |
| TestBuildGitEnv_EmptyToken | PASS | 0.000s |
| TestParseTimeoutSeconds_Default | PASS | 0.000s |
| TestParseTimeoutSeconds_EnvValue | PASS | 0.000s |
| TestParseTimeoutSeconds_InvalidIsHardError | PASS | 0.000s |
| TestClone_FailureRemovesPartialDest | PASS | 0.000s |
| TestCheckHealth_Disconnected | PASS | 0.030s |
| TestCheckHealth_Timeout | PASS | 2.000s |
| TestClone_NonExistentRepo | PASS | 0.080s |
| TestCreateBranch_EmptyString | PASS | 0.000s |
| TestCreateBranch_MainProtected | PASS | 0.000s |
| TestCreateBranch_MasterProtected | PASS | 0.000s |
| TestCreateBranch_GuardMessage | PASS | 0.000s |
| TestFetchManifestRepo_NonExistentRepo | PASS | 0.090s |
| Test | Status | Time |
|---|---|---|
| TestMain |
FAIL Failed
2026/08/11 09:44:07 INFO migrations applied duration=1.557648346s
panic: test timed out after 10m0s
running tests:
TestVikunjaWebhook_UniformPreAuthError (3s)
TestVikunjaWebhook_UniformPreAuthError/no_enabled_pipeline (2s)
goroutine 1123 [running]:
testing.(*M).startAlarm.func1()
/usr/local/go/src/testing/testing.go:2802 +0x354
created by time.goFunc
/usr/local/go/src/time/sleep.go:215 +0x2d
goroutine 1 [chan receive]:
testing.(*T).Run(0xcf97e448008, {0x1aa3cfa?, 0x0?}, 0x1b79878)
/usr/local/go/src/testing/testing.go:2109 +0x4e5
testing.runTests.func1(0xcf97e448008)
/usr/local/go/src/testing/testing.go:2585 +0x3e
testing.tRunner(0xcf97e448008, 0xcf97e413b38)
/usr/local/go/src/testing/testing.go:2036 +0xea
testing.runTests({0x1a99503, 0x21}, {0x1ac47cd, 0x33}, 0xcf97e2f67b0, {0x2b935a0, 0x132, 0x132}, {0xc296da2fc2b37481, 0x8c42385c0b, ...})
/usr/local/go/src/testing/testing.go:2583 +0x505
testing.(*M).Run(0xcf97e773220)
/usr/local/go/src/testing/testing.go:2443 +0x6ac
keskikuja.site/agent-platform/api/internal/handlers_test.TestMain(0xcf97e773220)
/workspace/niko/agent-platform/api/internal/handlers/test_helpers_test.go:55 +0x465
main.main()
_testmain.go:670 +0xa5
goroutine 858 [select, 1 minutes]:
keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0xcf980f8ce10, {0x1ba4248, 0x2bc84a0})
/workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128
created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 790
/workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114
goroutine 866 [select, 1 minutes]:
keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0xcf980e9afc0, {0x1ba4248, 0x2bc84a0})
/workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128
created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 865
/workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114
goroutine 880 [select]:
keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0xcf97e784ea0, {0x1ba4248, 0x2bc84a0})
/workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128
created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 895
/workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114
goroutine 796 [select, 1 minutes]:
keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0xcf98100b0e0, {0x1ba4248, 0x2bc84a0})
/workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128
created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 870
/workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114
goroutine 405 [chan receive, 1 minutes]:
keskikuja.site/agent-platform/api/internal/auth/store.(*MemoryStore).reapLoop(0xcf980d182c0, 0xcf97e6d7110?)
/workspace/niko/agent-platform/api/internal/auth/store/memory.go:31 +0xd7
created by keskikuja.site/agent-platform/api/internal/auth/store.NewMemoryStore in goroutine 404
/workspace/niko/agent-platform/api/internal/auth/store/memory.go:24 +0xc7
goroutine 1036 [select]:
keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0xcf980d46870, {0x1ba4248, 0x2bc84a0})
/workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128
created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 1049
/workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114
goroutine 86 [select]:
github.com/jackc/pgx/v5/pgxpool.(*Pool).backgroundHealthCheck(0xcf97e90c180)
/go/pkg/mod/github.com/jackc/pgx/v5@v5.7.4/pgxpool/pool.go:433 +0xc5
github.com/jackc/pgx/v5/pgxpool.NewWithConfig.func3()
/go/pkg/mod/github.com/jackc/pgx/v5@v5.7.4/pgxpool/pool.go:286 +0x3d
created by github.com/jackc/pgx/v5/pgxpool.NewWithConfig in goroutine 1
/go/pkg/mod/github.com/jackc/pgx/v5@v5.7.4/pgxpool/pool.go:283 +0x370
goroutine 862 [select, 1 minutes]:
keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0xcf980f8d7d0, {0x1ba4248, 0x2bc84a0})
/workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128
created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 861
/workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114
goroutine 402 [chan receive, 1 minutes]:
keskikuja.site/agent-platform/api/internal/auth/store.(*MemoryStore).reapLoop(0xcf980d18110, 0x1b796a0?)
/workspace/niko/agent-platform/api/internal/auth/store/memory.go:31 +0xd7
created by keskikuja.site/agent-platform/api/internal/auth/store.NewMemoryStore in goroutine 401
/workspace/niko/agent-platform/api/internal/auth/store/memory.go:24 +0xc7
goroutine 936 [select]:
keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0xcf97e785530, {0x1ba4248, 0x2bc84a0})
/workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128
created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 934
/workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114
goroutine 951 [select]:
keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0xcf97e573ec0, {0x1ba4248, 0x2bc84a0})
/workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128
created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 982
/workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114
goroutine 900 [select, 1 minutes]:
keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0xcf97e669ec0, {0x1ba4248, 0x2bc84a0})
/workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128
created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 875
/workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114
goroutine 949 [select]:
keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0xcf97e573650, {0x1ba4248, 0x2bc84a0})
/workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128
created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 978
/workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114
goroutine 1012 [select]:
keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0xcf97e710420, {0x1ba4248, 0x2bc84a0})
/workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128
created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 1000
/workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114
goroutine 1056 [chan receive]:
testing.(*T).Run(0xcf97e448908, {0x1a7fe71?, 0x5c3ead?}, 0xcf97e46a600)
/usr/local/go/src/testing/testing.go:2109 +0x4e5
keskikuja.site/agent-platform/api/internal/handlers_test.TestVikunjaWebhook_UniformPreAuthError(0xcf97e448908)
/workspace/niko/agent-platform/api/internal/handlers/webhook_test.go:347 +0x1b0
testing.tRunner(0xcf97e448908, 0x1b79878)
/usr/local/go/src/testing/testing.go:2036 +0xea
created by testing.(*T).Run in goroutine 1
/usr/local/go/src/testing/testing.go:2101 +0x4c5
goroutine 694 [select, 2 minutes]:
keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0xcf98118cd20, {0x1ba4248, 0x2bc84a0})
/workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128
created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 764
/workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114
goroutine 878 [select, 1 minutes]:
keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0xcf97e784ab0, {0x1ba4248, 0x2bc84a0})
/workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128
created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 877
/workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114
goroutine 335 [select]:
keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0xcf980f8c3f0, {0x1ba4248, 0x2bc84a0})
/workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128
created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 864
/workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114
goroutine 918 [select]:
keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0xcf980f0e7b0, {0x1ba4248, 0x2bc84a0})
/workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128
created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 917
/workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114
goroutine 1044 [select]:
keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0xcf97e43f230, {0x1ba4248, 0x2bc84a0})
/workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128
created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 1008
/workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114
goroutine 940 [select]:
keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0xcf97e6824e0, {0x1ba4248, 0x2bc84a0})
/workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128
created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 961
/workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114
goroutine 1025 [select]:
keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0xcf97e812f90, {0x1ba4248, 0x2bc84a0})
/workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128
created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 1010
/workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114
goroutine 1089 [select]:
keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0xcf980d461b0, {0x1ba4248, 0x2bc84a0})
/workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128
created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 1074
/workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114
goroutine 623 [select, 1 minutes]:
keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0xcf9810c9590, {0x1ba4248, 0x2bc84a0})
/workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128
created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 621
/workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114
goroutine 1018 [select]:
keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0xcf97e710de0, {0x1ba4248, 0x2bc84a0})
/workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128
created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 1017
/workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114
goroutine 907 [select, 1 minutes]:
keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0xcf97e573920, {0x1ba4248, 0x2bc84a0})
/workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128
created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 893
/workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114
goroutine 995 [select]:
keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0xcf9810c95c0, {0x1ba4248, 0x2bc84a0})
/workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128
created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 990
/workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114
goroutine 1138 [IO wait]:
internal/poll.runtime_pollWait(0x71321e066600, 0x72)
/usr/local/go/src/runtime/netpoll.go:351 +0x85
internal/poll.(*pollDesc).wait(0xcf97e90e200?, 0xcf97e91e000?, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xcf97e90e200, {0xcf97e91e000, 0x2000, 0x2000})
/usr/local/go/src/internal/poll/fd_unix.go:165 +0x2ae
net.(*netFD).Read(0xcf97e90e200, {0xcf97e91e000?, 0x48b2cc?, 0x49e900?})
/usr/local/go/src/net/fd_posix.go:68 +0x25
net.(*conn).Read(0xcf97e684088, {0xcf97e91e000?, 0x4e6500?, 0xcf97e6a6678?})
/usr/local/go/src/net/net.go:196 +0x45
github.com/jackc/pgx/v5/pgconn/internal/bgreader.(*BGReader).Read(0xcf97e912300, {0xcf97e91e000, 0x2000, 0x2000})
/go/pkg/mod/github.com/jackc/pgx/v5@v5.7.4/pgconn/internal/bgreader/bgreader.go:100 +0xcb
io.ReadAtLeast({0x1b87660, 0xcf97e912300}, {0xcf97e91e000, 0x2000, 0x2000}, 0x5)
/usr/local/go/src/io/io.go:335 +0x8e
github.com/jackc/pgx/v5/pgproto3.(*chunkReader).Next(0xcf97e784d20, 0x5)
/go/pkg/mod/github.com/jackc/pgx/v5@v5.7.4/pgproto3/chunkreader.go:80 +0x289
github.com/jackc/pgx/v5/pgproto3.(*Frontend).Receive(0xcf97e57a908)
/go/pkg/mod/github.com/jackc/pgx/v5@v5.7.4/pgproto3/frontend.go:308 +0x3c
github.com/jackc/pgx/v5/pgconn.(*PgConn).peekMessage(0xcf97e57a008)
/go/pkg/mod/github.com/jackc/pgx/v5@v5.7.4/pgconn/pgconn.go:551 +0x145
github.com/jackc/pgx/v5/pgconn.(*PgConn).receiveMessage(0xcf97e57a008)
/go/pkg/mod/github.com/jackc/pgx/v5@v5.7.4/pgconn/pgconn.go:571 +0x1c
github.com/jackc/pgx/v5/pgconn.(*MultiResultReader).receiveMessage(0xcf97e57a120)
/go/pkg/mod/github.com/jackc/pgx/v5@v5.7.4/pgconn/pgconn.go:1437 +0x1f
github.com/jackc/pgx/v5/pgconn.(*MultiResultReader).NextResult(0xcf97e57a120)
/go/pkg/mod/github.com/jackc/pgx/v5@v5.7.4/pgconn/pgconn.go:1461 +0x4b
github.com/jackc/pgx/v5.(*Conn).execSimpleProtocol(0x1869d80?, {0x1ba4248?, 0x2bc84a0?}, {0x1affa2a?, 0x9abd42?}, {0x0?, 0x40?, 0xcf97e676b18?})
/go/pkg/mod/github.com/jackc/pgx/v5@v5.7.4/conn.go:562 +0xb0
github.com/jackc/pgx/v5.(*Conn).exec(0xcf97e66b200, {0x1ba4248, 0x2bc84a0}, {0x1affa2a, 0x7b}, {0x0?, 0x1ba4248?, 0x2ba5aa0?})
/go/pkg/mod/github.com/jackc/pgx/v5@v5.7.4/conn.go:547 +0x5dd
github.com/jackc/pgx/v5.(*Conn).Exec(0xcf97e66b200, {0x1ba4248?, 0x2bc84a0?}, {0x1affa2a, 0x7b}, {0x0, 0x0, 0x0})
/go/pkg/mod/github.com/jackc/pgx/v5@v5.7.4/conn.go:466 +0x114
github.com/jackc/pgx/v5/pgxpool.(*Conn).Exec(0xcf97e90c180?, {0x1ba4248?, 0x2bc84a0?}, {0x1affa2a?, 0xcf97e676d10?}, {0x0?, 0x18674e0?, 0xcf97e785cb0?})
/go/pkg/mod/github.com/jackc/pgx/v5@v5.7.4/pgxpool/conn.go:87 +0x3c
github.com/jackc/pgx/v5/pgxpool.(*Pool).Exec(0x18674e0?, {0x1ba4248, 0x2bc84a0}, {0x1affa2a, 0x7b}, {0x0, 0x0, 0x0})
/go/pkg/mod/github.com/jackc/pgx/v5@v5.7.4/pgxpool/pool.go:635 +0xf7
keskikuja.site/agent-platform/api/internal/handlers_test.setupTestDB(0xcf97e448d88)
/workspace/niko/agent-platform/api/internal/handlers/test_helpers_test.go:65 +0x4d
keskikuja.site/agent-platform/api/internal/handlers_test.setupVikunjaWebhookDBWithExecutor(0xcf97e448d88, {0x1a9fefd, 0x24}, 0x1, {0x1b86520, 0xcf97e4403d8})
/workspace/niko/agent-platform/api/internal/handlers/webhook_test.go:48 +0x5e
keskikuja.site/agent-platform/api/internal/handlers_test.setupVikunjaWebhookDB(0xcf97e448d88, {0x1a9fefd, 0x24}, 0x1)
/workspace/niko/agent-platform/api/internal/handlers/webhook_test.go:41 +0x94
keskikuja.site/agent-platform/api/internal/handlers_test.TestVikunjaWebhook_UniformPreAuthError.func2(0x755?)
/workspace/niko/agent-platform/api/internal/handlers/webhook_test.go:319 +0x25
keskikuja.site/agent-platform/api/internal/handlers_test.TestVikunjaWebhook_UniformPreAuthError.func5(0xcf97e448d88)
/workspace/niko/agent-platform/api/internal/handlers/webhook_test.go:348 +0x3f
testing.tRunner(0xcf97e448d88, 0xcf97e46a600)
/usr/local/go/src/testing/testing.go:2036 +0xea
created by testing.(*T).Run in goroutine 1056
/usr/local/go/src/testing/testing.go:2101 +0x4c5
goroutine 954 [select]:
keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0xcf98118ce10, {0x1ba4248, 0x2bc84a0})
/workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128
created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 953
/workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114
goroutine 993 [select]:
keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0xcf9810c8780, {0x1ba4248, 0x2bc84a0})
/workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128
created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 969
/workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114
goroutine 1077 [select]:
keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0xcf97e7107e0, {0x1ba4248, 0x2bc84a0})
/workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128
created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 1076
/workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114
goroutine 1032 [select]:
keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0xcf97e813b60, {0x1ba4248, 0x2bc84a0})
/workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128
created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 1042
/workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114
goroutine 1068 [select]:
keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0xcf980d15500, {0x1ba4248, 0x2bc84a0})
/workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128
created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 1051
/workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114
FAIL keskikuja.site/agent-platform/api/internal/handlers 602.435s
|
0.000s |
| TestVikunjaWebhook_UniformPreAuthError |
FAIL Failed
=== RUN TestVikunjaWebhook_UniformPreAuthError
=== RUN TestVikunjaWebhook_UniformPreAuthError/project_config_missing
--- PASS: TestVikunjaWebhook_UniformPreAuthError/project_config_missing (1.80s)
=== RUN TestVikunjaWebhook_UniformPreAuthError/no_enabled_pipeline
coverage: 65.3% of statements in keskikuja.site/agent-platform/api/internal/auth, keskikuja.site/agent-platform/api/internal/auth/store, keskikuja.site/agent-platform/api/internal/crypto, keskikuja.site/agent-platform/api/internal/database, keskikuja.site/agent-platform/api/internal/git, keskikuja.site/agent-platform/api/internal/handlers, keskikuja.site/agent-platform/api/internal/monitor, keskikuja.site/agent-platform/api/internal/pipeline, keskikuja.site/agent-platform/api/internal/vikunja
|
0.000s |
| TestVikunjaWebhook_UniformPreAuthError/no_enabled_pipeline |
FAIL Failed
=== RUN TestVikunjaWebhook_UniformPreAuthError/no_enabled_pipeline
coverage: 65.3% of statements in keskikuja.site/agent-platform/api/internal/auth, keskikuja.site/agent-platform/api/internal/auth/store, keskikuja.site/agent-platform/api/internal/crypto, keskikuja.site/agent-platform/api/internal/database, keskikuja.site/agent-platform/api/internal/git, keskikuja.site/agent-platform/api/internal/handlers, keskikuja.site/agent-platform/api/internal/monitor, keskikuja.site/agent-platform/api/internal/pipeline, keskikuja.site/agent-platform/api/internal/vikunja
|
0.000s |
| TestAuthHandler_Init | PASS | 0.000s |
| TestAuthHandler_Init_NoReturnURL | PASS | 0.000s |
| TestAuthHandler_Init_AbsoluteReturnURL | PASS | 0.000s |
| TestAuthHandler_Session_NoCookie | PASS | 0.000s |
| TestAuthHandler_Session_WithSession | PASS | 0.000s |
| TestAuthHandler_Logout | PASS | 0.000s |
| TestAuthHandler_Logout_Idempotent | PASS | 0.000s |
| TestAuthHandler_Logout_WithIDToken | PASS | 0.000s |
| TestUpsertUser_InsertNewUser | PASS | 1.020s |
| TestUpsertUser_UpdateExisting | PASS | 0.930s |
| TestUpsertUser_NullImage | PASS | 0.770s |
| TestCreateBotAccount_Success | PASS | 0.820s |
| TestCreateBotAccount_TokenEncryptedInDB | PASS | 0.630s |
| TestCreateBotAccount_MissingName | PASS | 0.620s |
| TestCreateBotAccount_NameTooShort | PASS | 0.820s |
| TestCreateBotAccount_MissingToken | PASS | 0.640s |
| TestGetBotAccount_Success | PASS | 0.700s |
| TestGetBotAccount_NotFound | PASS | 0.650s |
| TestListBotAccounts | PASS | 0.630s |
| TestUpdateBotAccount_Success | PASS | 0.650s |
| TestUpdateBotAccount_NewToken | PASS | 0.650s |
| TestUpdateBotAccount_EmptyTokenDoesNotOverwrite | PASS | 0.690s |
| TestDeleteBotAccount_NotInUse | PASS | 0.640s |
| TestDeleteBotAccount_InUse | PASS | 0.660s |
| TestBotAccountEndpoints_NoSession | PASS | 0.640s |
| TestListBotAccounts_EmptyList | PASS | 1.080s |
| TestCreateBotAccount_DescriptionMax | PASS | 1.160s |
| TestCreateContainerRegistry_Success | PASS | 0.630s |
| TestCreateContainerRegistry_TokenEncryptedInDB | PASS | 0.640s |
| TestCreateContainerRegistry_PublicRegistryWithoutToken | PASS | 0.670s |
| TestCreateContainerRegistry_MissingName | PASS | 0.670s |
| TestCreateContainerRegistry_MissingURL | PASS | 0.680s |
| TestCreateContainerRegistry_InvalidURL | PASS | 0.620s |
| TestCreateContainerRegistry_InvalidNameLength | PASS | 0.640s |
| TestCreateContainerRegistry_DuplicateName | PASS | 0.730s |
| TestGetContainerRegistry_Success | PASS | 0.780s |
| TestGetContainerRegistry_NotFound | PASS | 0.630s |
| TestListContainerRegistries | PASS | 0.750s |
| TestListContainerRegistries_EmptyList | PASS | 1.280s |
| TestUpdateContainerRegistry_Success | PASS | 2.210s |
| TestUpdateContainerRegistry_NewToken | PASS | 1.580s |
| TestUpdateContainerRegistry_ClearToken | PASS | 1.930s |
| TestUpdateContainerRegistry_OmittedTokenKeepsExisting | PASS | 2.800s |
| TestUpdateContainerRegistry_EmptyBody | PASS | 1.690s |
| TestUpdateContainerRegistry_InvalidURL | PASS | 1.540s |
| TestUpdateContainerRegistry_InvalidNameLength | PASS | 1.940s |
| TestUpdateContainerRegistry_DuplicateName | PASS | 1.400s |
| TestUpdateContainerRegistry_NotFound | PASS | 2.100s |
| TestDeleteContainerRegistry_Success | PASS | 2.220s |
| TestDeleteContainerRegistry_NotFound | PASS | 1.410s |
| TestContainerRegistryEndpoints_NoSession/list | PASS | 0.000s |
| TestContainerRegistryEndpoints_NoSession/create | PASS | 0.000s |
| TestContainerRegistryEndpoints_NoSession/get | PASS | 0.000s |
| TestContainerRegistryEndpoints_NoSession/update | PASS | 0.000s |
| TestContainerRegistryEndpoints_NoSession/delete | PASS | 0.000s |
| TestContainerRegistryEndpoints_NoSession | PASS | 1.980s |
| TestHealth | PASS | 1.800s |
| TestReady_Success | PASS | 2.120s |
| TestReady_DBDown | PASS | 0.090s |
| TestCheck_Success | PASS | 1.710s |
| TestCheck_DBDown | PASS | 0.040s |
| TestReady_ContextTimeout | PASS | 2.140s |
| TestCheck_NilRequest | PASS | 2.029s |
| TestUserHealth_NoAuth | PASS | 3.140s |
| TestUserHealth_ApiKey | PASS | 2.620s |
| TestUserHealth_SessionCookie | PASS | 1.520s |
| TestUserHealth_ExpiredSession | PASS | 1.870s |
| TestUserHealth_InvalidApiKey | PASS | 1.630s |
| TestParseLaneConfig_ValidFull | PASS | 0.000s |
| TestParseLaneConfig_StartOnly | PASS | 0.000s |
| TestParseLaneConfig_NoLanes_FreeForm | PASS | 0.000s |
| TestParseLaneConfig_Errors/lanes_not_an_object | PASS | 0.000s |
| TestParseLaneConfig_Errors/start_missing | PASS | 0.000s |
| TestParseLaneConfig_Errors/start_not_an_array | PASS | 0.000s |
| TestParseLaneConfig_Errors/start_empty | PASS | 0.000s |
| TestParseLaneConfig_Errors/start_non-positive | PASS | 0.000s |
| TestParseLaneConfig_Errors/start_negative | PASS | 0.000s |
| TestParseLaneConfig_Errors/start_fraction | PASS | 0.000s |
| TestParseLaneConfig_Errors/start_string_element | PASS | 0.000s |
| TestParseLaneConfig_Errors/start_duplicate | PASS | 0.000s |
| TestParseLaneConfig_Errors/unknown_lane_key | PASS | 0.000s |
| TestParseLaneConfig_Errors/lane_value_non-positive | PASS | 0.000s |
| TestParseLaneConfig_Errors/lane_value_wrong_type | PASS | 0.000s |
| TestParseLaneConfig_Errors/duplicate_across_lanes | PASS | 0.000s |
| TestParseLaneConfig_Errors | PASS | 0.000s |
| TestLintLaneConfig_ValidFull_Clean | PASS | 0.000s |
| TestLintLaneConfig_NoLanes_NoIssues | PASS | 0.000s |
| TestLintLaneConfig_Warnings_UnconfiguredOptionalLanes | PASS | 0.000s |
| TestLintLaneConfig_ErrorRules/lanes_not_an_object | PASS | 0.000s |
| TestLintLaneConfig_ErrorRules/start_missing | PASS | 0.000s |
| TestLintLaneConfig_ErrorRules/start_not_an_array | PASS | 0.000s |
| TestLintLaneConfig_ErrorRules/start_empty | PASS | 0.000s |
| TestLintLaneConfig_ErrorRules/start_non-positive | PASS | 0.000s |
| TestLintLaneConfig_ErrorRules/start_duplicate | PASS | 0.000s |
| TestLintLaneConfig_ErrorRules/unknown_lane_key | PASS | 0.000s |
| TestLintLaneConfig_ErrorRules/lane_value_non-positive | PASS | 0.000s |
| TestLintLaneConfig_ErrorRules/lane_value_wrong_type | PASS | 0.000s |
| TestLintLaneConfig_ErrorRules/duplicate_across_lanes | PASS | 0.000s |
| TestLintLaneConfig_ErrorRules | PASS | 0.000s |
| TestLintLaneConfig_MultipleErrorsCollected | PASS | 0.000s |
| TestLintLaneConfig_UnparseableConfig_Error | PASS | 0.000s |
| TestStartLanes | PASS | 0.000s |
| TestCreateLlmConfig_Success | PASS | 1.950s |
| TestCreateLlmConfig_ApiKeyEncryptedInDB | PASS | 1.870s |
| TestCreateLlmConfig_MissingName | PASS | 1.600s |
| TestCreateLlmConfig_NameTooShort | PASS | 1.740s |
| TestCreateLlmConfig_MissingApiKey | PASS | 2.330s |
| TestCreateLlmConfig_DuplicateName | PASS | 2.820s |
| TestGetLlmConfig_Success | PASS | 1.400s |
| TestGetLlmConfig_NotFound | PASS | 1.930s |
| TestListLlmConfigs | PASS | 2.350s |
| TestListLlmConfigs_EmptyList | PASS | 2.270s |
| TestUpdateLlmConfig_Success | PASS | 2.770s |
| TestUpdateLlmConfig_NewApiKey | PASS | 2.250s |
| TestUpdateLlmConfig_EmptyApiKeyDoesNotOverwrite | PASS | 2.000s |
| TestUpdateLlmConfig_MissingApiKeyDoesNotOverwrite | PASS | 1.800s |
| TestUpdateLlmConfig_DuplicateName | PASS | 2.960s |
| TestUpdateLlmConfig_NotFound | PASS | 1.930s |
| TestDeleteLlmConfig_Success | PASS | 2.610s |
| TestDeleteLlmConfig_NotFound | PASS | 1.970s |
| TestLlmConfigEndpoints_NoSession | PASS | 1.740s |
| TestCreatePipeline_Success | PASS | 1.590s |
| TestCreatePipeline_WithBaseBranch | PASS | 2.260s |
| TestCreatePipeline_DefaultBaseBranch | PASS | 2.940s |
| TestUpdatePipeline_BaseBranch | PASS | 2.100s |
| TestCreatePipeline_MissingName | PASS | 1.870s |
| TestCreatePipeline_InvalidProjectId | PASS | 2.240s |
| TestGetPipeline_Success | PASS | 1.570s |
| TestGetPipeline_NotFound | PASS | 3.680s |
| TestListPipelinesByProject | PASS | 1.220s |
| TestListPipelinesByProject_NotFound | PASS | 1.300s |
| TestListPipelines_FilterEnabled | PASS | 1.190s |
| TestUpdatePipeline_Success | PASS | 0.770s |
| TestUpdatePipeline_NotFound | PASS | 2.290s |
| TestDeletePipeline_Success | PASS | 1.320s |
| TestDeletePipeline_NotFound | PASS | 0.980s |
| TestGetProjectDetail_IncludesPipelines | PASS | 0.820s |
| TestCreatePipeline_WithoutOutputBranch | PASS | 3.340s |
| TestCreatePipeline_WithEmptyOutputBranch | PASS | 2.720s |
| TestCreatePipeline_WithOutputBranch | PASS | 1.840s |
| TestCreatePipeline_WithConfig | PASS | 1.380s |
| TestCreatePipeline_ConfigValidation/array_rejected | PASS | 0.780s |
| TestCreatePipeline_ConfigValidation/string_rejected | PASS | 0.860s |
| TestCreatePipeline_ConfigValidation/null_accepted | PASS | 0.950s |
| TestCreatePipeline_ConfigValidation/object_accepted | PASS | 1.130s |
| TestCreatePipeline_ConfigValidation | PASS | 3.710s |
| TestUpdatePipeline_NullifyOutputBranch | PASS | 1.320s |
| TestUpdatePipeline_Config | PASS | 1.780s |
| TestCreatePipeline_WithSkillRepos | PASS | 0.820s |
| TestCreatePipeline_EmptySkillRepos | PASS | 3.900s |
| TestCreatePipeline_SkillReposValidation/valid_list_accepted | PASS | 2.550s |
| TestCreatePipeline_SkillReposValidation/empty_list_accepted | PASS | 1.580s |
| TestCreatePipeline_SkillReposValidation/null_accepted | PASS | 2.540s |
| TestCreatePipeline_SkillReposValidation/nonexistent_repository_rejected | PASS | 6.070s |
| TestCreatePipeline_SkillReposValidation/duplicate_repository_rejected | PASS | 3.380s |
| TestCreatePipeline_SkillReposValidation/slug_collision_rejected | PASS | 2.200s |
| TestCreatePipeline_SkillReposValidation/over_cap_rejected | PASS | 2.000s |
| TestCreatePipeline_SkillReposValidation/malformed_uuid_rejected | PASS | 3.540s |
| TestCreatePipeline_SkillReposValidation | PASS | 23.860s |
| TestGetAndListPipelines_ReturnSkillRepos | PASS | 3.380s |
| TestUpdatePipeline_SkillRepos | PASS | 2.120s |
| TestUpdatePipeline_SkillReposToEmpty | PASS | 2.360s |
| TestUpdatePipeline_SkillReposAbsentKeepsExisting | PASS | 7.950s |
| TestUpdatePipeline_SkillReposValidation/nonexistent_repository | PASS | 3.560s |
| TestUpdatePipeline_SkillReposValidation/duplicate_repositories | PASS | 4.820s |
| TestUpdatePipeline_SkillReposValidation/slug_collision | PASS | 3.000s |
| TestUpdatePipeline_SkillReposValidation/over_cap | PASS | 4.640s |
| TestUpdatePipeline_SkillReposValidation | PASS | 16.020s |
| TestUpdatePipeline_SkillReposOnly_UpdateQueryIncludesUpdatedBy | PASS | 3.310s |
| TestUpdatePipeline_NoFields_NoOpGuardSkipsUpdate | PASS | 8.189s |
| TestCreatePipeline_ResponseFetchBeforeCommit | PASS | 6.220s |
| TestUpdatePipeline_ResponseFetchBeforeCommit | PASS | 6.020s |
| TestCreatePipeline_SkillRepoValidationInsideTx | PASS | 1.760s |
| TestCreateAndUpdatePipeline_SymbolOnlyRepoNameGets422/create_rejects_symbol-only_repo | PASS | 0.010s |
| TestCreateAndUpdatePipeline_SymbolOnlyRepoNameGets422/update_rejects_symbol-only_repo | PASS | 0.000s |
| TestCreateAndUpdatePipeline_SymbolOnlyRepoNameGets422 | PASS | 1.420s |
| TestCreatePipeline_TruncationBoundarySlugCollisionGets422 | PASS | 2.020s |
| TestCreatePipeline_SkillRepoValidationErrorsAre422/missing_repository | PASS | 1.970s |
| TestCreatePipeline_SkillRepoValidationErrorsAre422/slug_collision | PASS | 11.080s |
| TestCreatePipeline_SkillRepoValidationErrorsAre422 | PASS | 13.050s |
| TestCreatePipeline_SkillRepoDBFailureIs500 | PASS | 5.240s |
| TestUpdatePipeline_WriteOnlySecrets_StoredEncryptedNotReturned | PASS | 2.190s |
| TestGetPipeline_DoesNotReturnWriteOnlySecrets | PASS | 2.520s |
| TestCreatePipeline_LaneConfigLint/valid_full_lanes_accepted | PASS | 1.780s |
| TestCreatePipeline_LaneConfigLint/warnings-only_accepted | PASS | 1.630s |
| TestCreatePipeline_LaneConfigLint/free-form_config_without_lanes_accepted | PASS | 1.720s |
| TestCreatePipeline_LaneConfigLint/lanes_not_an_object_rejected | PASS | 1.770s |
| TestCreatePipeline_LaneConfigLint/start_missing_rejected | PASS | 1.450s |
| TestCreatePipeline_LaneConfigLint/start_empty_rejected | PASS | 2.570s |
| TestCreatePipeline_LaneConfigLint/start_non-positive_rejected | PASS | 1.470s |
| TestCreatePipeline_LaneConfigLint/start_duplicate_rejected | PASS | 1.470s |
| TestCreatePipeline_LaneConfigLint/unknown_lane_key_rejected | PASS | 2.290s |
| TestCreatePipeline_LaneConfigLint/duplicate_across_lanes_rejected | PASS | 1.780s |
| TestCreatePipeline_LaneConfigLint | PASS | 17.940s |
| TestCreatePipeline_LaneConfigLint_422BodyShape | PASS | 1.440s |
| TestUpdatePipeline_LaneConfigLint/valid_lanes_accepted | PASS | 6.810s |
| TestUpdatePipeline_LaneConfigLint/warnings-only_accepted | PASS | 1.540s |
| TestUpdatePipeline_LaneConfigLint/free-form_config_without_lanes_accepted | PASS | 1.490s |
| TestUpdatePipeline_LaneConfigLint/invalid_lanes_rejected | PASS | 1.370s |
| TestUpdatePipeline_LaneConfigLint/unknown_lane_key_rejected | PASS | 1.680s |
| TestUpdatePipeline_LaneConfigLint | PASS | 12.900s |
| TestUpdatePipeline_LaneConfigLint_422BodyShape | PASS | 1.550s |
| TestCreateProject_Success | PASS | 1.350s |
| TestCreateProject_MissingName | PASS | 2.070s |
| TestCreateProject_TooShortName | PASS | 2.480s |
| TestGetProject_Success | PASS | 2.540s |
| TestGetProject_NotFound | PASS | 2.160s |
| TestListProjects_DefaultPagination | PASS | 5.350s |
| TestListProjects_SortByNameAsc | PASS | 2.480s |
| TestListProjects_InvalidSortField | PASS | 6.100s |
| TestUpdateProject_Success | PASS | 1.610s |
| TestUpdateProject_NotFound | PASS | 13.390s |
| TestDeleteProject_Success | PASS | 4.910s |
| TestDeleteProject_NotFound | PASS | 1.600s |
| TestProjectEndpoints_NoSession | PASS | 1.670s |
| TestProjectHandler_Create_WithConfig | PASS | 2.830s |
| TestProjectHandler_Create_WithSecrets | PASS | 1.460s |
| TestProjectHandler_Create_ConfigValidation/empty_object | PASS | 0.010s |
| TestProjectHandler_Create_ConfigValidation/array_rejected | PASS | 0.000s |
| TestProjectHandler_Create_ConfigValidation/string_rejected | PASS | 0.000s |
| TestProjectHandler_Create_ConfigValidation/number_rejected | PASS | 0.000s |
| TestProjectHandler_Create_ConfigValidation/null_accepted | PASS | 0.000s |
| TestProjectHandler_Create_ConfigValidation | PASS | 1.230s |
| TestProjectHandler_Update_Config | PASS | 1.410s |
| TestProjectHandler_GetDecryptedSecrets | PASS | 2.070s |
| TestProjectHandler_Get_StripsSecretsEncrypted | PASS | 1.320s |
| TestGetDecryptedSecrets_NoSecrets | PASS | 1.020s |
| TestProjectHandler_Update_Secrets | PASS | 1.340s |
| TestProjectHandler_Update_Secrets_PlainStringRejected | PASS | 2.240s |
| TestProjectHandler_Update_Secrets_EmptyStringRejected | PASS | 4.710s |
| TestProjectHandler_Create_Config_DuplicateVikunjaProjectID | PASS | 1.900s |
| TestProjectHandler_Create_Config_UnclaimedVikunjaProjectID | PASS | 1.300s |
| TestProjectHandler_Update_Config_DuplicateVikunjaProjectID | PASS | 1.090s |
| TestProjectHandler_Update_Config_SameVikunjaProjectID_Kept | PASS | 1.440s |
| TestCreateRepository_Success | PASS | 1.570s |
| TestCreateRepository_MissingBotAccountID | PASS | 1.280s |
| TestCreateRepository_BotAccountNotFound | PASS | 1.420s |
| TestCreateRepository_InvalidName | PASS | 1.410s |
| TestCreateRepository_MissingName | PASS | 1.480s |
| TestGetRepository_Success | PASS | 5.190s |
| TestGetRepository_NotFound | PASS | 4.450s |
| TestListRepositories | PASS | 4.030s |
| TestGetRepository_HasBotAccountID | PASS | 4.200s |
| TestListRepository_HasBotAccountID | PASS | 4.150s |
| TestUpdateRepository_Success | PASS | 3.980s |
| TestUpdateRepository_ChangeBotAccountID | PASS | 8.850s |
| TestUpdateRepository_NotFound | PASS | 4.050s |
| TestDeleteRepository_Success | PASS | 3.540s |
| TestDeleteRepository_NotFound | PASS | 4.690s |
| TestCheckRepositoryHealth_Connected | PASS | 2.750s |
| TestCheckRepositoryHealth_Disconnected | PASS | 4.090s |
| TestCheckRepositoryHealth_UpdatesDB | PASS | 2.630s |
| TestCheckRepositoryHealth_NotFound | PASS | 1.840s |
| TestRepositoryEndpoints_NoSession | PASS | 3.360s |
| TestCreateRun_ExecutorResourceError_PersistsResourceErrorCode | PASS | 2.580s |
| TestCreateRun_Success | PASS | 4.640s |
| TestCreateRun_MissingPipelineID | PASS | 2.200s |
| TestCreateRun_InvalidPipelineID | PASS | 4.200s |
| TestCreateRun_InvalidJSON | PASS | 1.760s |
| TestCreateRun_InvalidSourceType | PASS | 1.830s |
| TestGetRun_Success | PASS | 2.340s |
| TestGetRun_NotFound | PASS | 3.460s |
| TestListRuns_ReturnsDefaultPagination | PASS | 4.550s |
| TestListRuns_CustomLimitAndOffset | PASS | 3.770s |
| TestListRuns_LimitValidation/default_when_missing | PASS | 0.010s |
| TestListRuns_LimitValidation/valid_limit | PASS | 0.000s |
| TestListRuns_LimitValidation/max_limit_capped | PASS | 0.000s |
| TestListRuns_LimitValidation/negative_limit_uses_default | PASS | 0.000s |
| TestListRuns_LimitValidation/zero_limit_uses_default | PASS | 0.000s |
| TestListRuns_LimitValidation/invalid_format_uses_default | PASS | 0.000s |
| TestListRuns_LimitValidation | PASS | 2.410s |
| TestListRuns_FilterByPhase | PASS | 2.260s |
| TestListRuns_FilterByMultiplePhases | PASS | 2.160s |
| TestListRuns_FilterByInvalidPhase | PASS | 2.160s |
| TestListRuns_FilterProjectID | PASS | 5.190s |
| TestListRuns_FilterPipelineID | PASS | 3.230s |
| TestListRuns_FilterSourceType | PASS | 2.420s |
| TestListRuns_FilterCreatedAfter | PASS | 2.330s |
| TestListRuns_FilterCreatedBefore | PASS | 5.270s |
| TestListRuns_FilterSource | PASS | 2.110s |
| TestListRuns_SortByStartedAt | PASS | 2.350s |
| TestListRuns_FilterMultipleCriteria | PASS | 2.230s |
| TestListRuns_SortByCreatedAtDesc | PASS | 3.770s |
| TestListRuns_SortByUpdatedAtAsc | PASS | 1.540s |
| TestListRuns_InvalidSortField | PASS | 4.340s |
| TestListRuns_CursorPagination | PASS | 0.890s |
| TestUpdateRun_PhaseOnly | PASS | 1.190s |
| TestUpdateRun_Completed | PASS | 1.060s |
| TestUpdateRun_Failed | PASS | 1.050s |
| TestUpdateRun_Questions_StoredInResultJSON | PASS | 1.030s |
| TestUpdateRun_Questions_KeepsPrURL | PASS | 2.480s |
| TestUpdateRun_NotFound | PASS | 2.510s |
| TestUpdateRun_InvalidPhase | PASS | 1.230s |
| TestUpdateRun_NoAuth | PASS | 2.730s |
| TestIdempotency_NoKey | PASS | 1.300s |
| TestIdempotency_SameKeySameBody | PASS | 2.060s |
| TestIdempotency_SameKeyDifferentBody | PASS | 0.990s |
| TestHubPublishAndReceive | PASS | 0.000s |
| TestHubFilterPhaseMatch | PASS | 0.000s |
| TestHubFilterPhaseMismatch | PASS | 0.200s |
| TestHubFilterSourceType | PASS | 0.200s |
| TestSubscribeSSE_NoAuth | PASS | 1.260s |
| TestSubscribeSSE_InvalidAPIKey | PASS | 0.930s |
| TestRunCreationPublishesSSEEvent | PASS | 1.110s |
| TestSubscribeSSE_Heartbeat | PASS | 0.920s |
| TestVikunjaSync_ExitCodeLaneMapping/exit_0_→_pr_open | PASS | 1.080s |
| TestVikunjaSync_ExitCodeLaneMapping/exit_1_→_failed | PASS | 1.070s |
| TestVikunjaSync_ExitCodeLaneMapping/exit_10_→_open_questions | PASS | 0.830s |
| TestVikunjaSync_ExitCodeLaneMapping/exit_11_→_blocked | PASS | 1.010s |
| TestVikunjaSync_ExitCodeLaneMapping/exit_20_→_needs_rework | PASS | 1.580s |
| TestVikunjaSync_ExitCodeLaneMapping/exit_21_→_pr_rejected | PASS | 1.140s |
| TestVikunjaSync_ExitCodeLaneMapping/exit_22_→_open_questions | PASS | 0.890s |
| TestVikunjaSync_ExitCodeLaneMapping | PASS | 7.590s |
| TestVikunjaSync_UnknownExitCode_NoOp | PASS | 0.720s |
| TestVikunjaSync_RepeatedPatch_Idempotent | PASS | 0.720s |
| TestVikunjaSync_TargetLaneUndefined_CommentOnly | PASS | 1.500s |
| TestVikunjaSync_ErrorComment_IncludesErrorInfo | PASS | 0.670s |
| TestVikunjaSync_VikunjaApiError_KeepsRunUpdate_SyncFalse | PASS | 2.160s |
| TestVikunjaSync_PrURL_StoredInResultJSON_AndInComment | PASS | 0.760s |
| TestVikunjaSync_CommentUpdateInPlace_WhenCommentIDExists | PASS | 0.740s |
| TestVikunjaSync_ContinuationRun_Exit20 | PASS | 1.290s |
| TestVikunjaSync_NoContinuationRun_WhenNeedsReworkUndefined | PASS | 0.740s |
| TestVikunjaSync_NoContinuationRun_WhenPendingRunExists | PASS | 0.720s |
| TestVikunjaSync_FailedMode_IgnoresExitCode | PASS | 0.800s |
| TestVikunjaSync_Migration020_ColumnsExist | PASS | 0.870s |
| TestVikunjaSync_OpenQuestions_QuestionsComment/exit_10_→_open_questions | PASS | 0.800s |
| TestVikunjaSync_OpenQuestions_QuestionsComment/exit_22_→_open_questions | PASS | 2.029s |
| TestVikunjaSync_OpenQuestions_QuestionsComment | PASS | 2.830s |
| TestVikunjaSync_OpenQuestions_EmptyQuestions_GenericComment | PASS | 1.130s |
| TestVikunjaSync_OpenQuestions_QuestionsAbsent_GenericComment | PASS | 0.730s |
| TestVikunjaSync_ContinuationRun_GetsTicketContext | PASS | 0.800s |
| TestVikunjaSync_DoubleSyncSequential_OneExternalSync | PASS | 0.760s |
| TestVikunjaSync_FailureRollback_RetryUpdateInPlace | PASS | 2.020s |
| TestVikunjaSync_Success_PersistsCommentID | PASS | 1.010s |
| TestVikunjaSync_ConcurrentPaths_SingleExternalSync | PASS | 1.000s |
| TestVikunjaSync_Migration020_BackfillPresent | PASS | 0.000s |
| TestGitHubPR_ValidHMAC_CreatesRun | PASS | 0.960s |
| TestGitHubPR_ValidHMAC_StoresPRDescription | PASS | 1.050s |
| TestGitHubPR_ValidHMAC_GiteaSignature | PASS | 1.110s |
| TestGitHubPR_GiteaSynchronizedAction_CreatesRun | PASS | 1.110s |
| TestGitHubPR_NoAPIKeyValidHMAC_Accepted | PASS | 1.070s |
| TestGitHubPR_MissingSignature | PASS | 0.970s |
| TestGitHubPR_InvalidSignature | PASS | 1.960s |
| TestGitHubPR_NonPullRequestEvent | PASS | 3.340s |
| TestGitHubPR_DisabledPipeline | PASS | 0.900s |
| TestGitHubPR_PipelineNotFound | PASS | 0.980s |
| TestGitHubPR_NoWebhookSecret | PASS | 1.370s |
| TestGitHubPR_IgnoredAction | PASS | 1.340s |
| TestGitHubPR_ExecutorFailure_StillAccepted | PASS | 1.350s |
| TestGitHubPR_ExecutorResourceError_PersistsResourceErrorCode | PASS | 2.960s |
| TestGitHubPR_InvalidPipelineID | PASS | 1.320s |
| TestVikunjaWebhook_ValidHMAC_CreatesRun | PASS | 2.510s |
| TestVikunjaWebhook_RealisticPayloadFile | PASS | 1.410s |
| TestVikunjaWebhook_InvalidHMAC | PASS | 0.980s |
| TestVikunjaWebhook_MissingSignature | PASS | 2.630s |
| TestVikunjaWebhook_UniformPreAuthError/project_config_missing | PASS | 1.800s |
| Test | Status | Time |
|---|---|---|
| TestLlmConfig_MarshalJSON_ExcludesApiKeyEncrypted | PASS | 0.000s |
| TestLlmConfig_MarshalJSON_IncludesVisibleFields | PASS | 0.000s |
| TestCreateLlmConfigRequest_UnmarshalJSON | PASS | 0.000s |
| TestCreateLlmConfigRequest_MarshalJSON_IncludesApiKey | PASS | 0.000s |
| TestUpdateLlmConfigRequest_UnmarshalJSON_AllFields | PASS | 0.000s |
| TestUpdateLlmConfigRequest_UnmarshalJSON_PartialUpdate | PASS | 0.000s |
| TestUpdateLlmConfigRequest_MarshalJSON_OmitsApiKey | PASS | 0.000s |
| TestPipeline_MarshalJSON_IncludesConfig | PASS | 0.000s |
| TestPipeline_MarshalJSON_OutputBranchNullWhenNil | PASS | 0.000s |
| TestPipeline_MarshalJSON_OutputBranchValueWhenSet | PASS | 0.000s |
| TestPipeline_UnmarshalJSON_OutputBranchNullUnmarshalsToNil | PASS | 0.000s |
| TestCreatePipelineRequest_AcceptsConfigAndNullableOutputBranch | PASS | 0.000s |
| TestCreatePipelineRequest_OutputBranchValueWhenSet | PASS | 0.000s |
| TestUpdatePipelineRequest_AcceptsConfig | PASS | 0.000s |
| TestPipeline_ConfigNilMarshalsToNull | PASS | 0.000s |
| TestPipeline_MarshalJSON_IncludesSkillRepos | PASS | 0.000s |
| TestPipeline_SkillReposJSONRoundTrip | PASS | 0.000s |
| TestCreatePipelineRequest_AcceptsSkillRepos | PASS | 0.000s |
| TestUpdatePipelineRequest_AcceptsSkillRepos | PASS | 0.000s |
| TestUpdatePipelineRequest_SkillReposEmptySliceIsNotNil | PASS | 0.000s |
| TestUpdatePipelineRequest_SkillReposAbsentStaysNil | PASS | 0.000s |
| TestProject_MarshalJSON_IncludesConfig | PASS | 0.000s |
| TestProject_MarshalJSON_ExcludesSecretsEncrypted | PASS | 0.000s |
| TestProject_UnmarshalJSON_AcceptsConfig | PASS | 0.000s |
| TestProject_UnmarshalJSON_SecretsEncryptedNotFromJSON | PASS | 0.000s |
| TestCreateProjectRequest_AcceptsConfigAndSecrets | PASS | 0.000s |
| TestCreateProjectRequest_MarshalJSON_ConfigAndSecrets | PASS | 0.000s |
| TestUpdateProjectRequest_AcceptsConfigAndSecrets | PASS | 0.000s |
| TestProject_ConfigNilMarshalsToNull | PASS | 0.000s |
| TestPRMetadata_MarshalJSON | PASS | 0.000s |
| TestPRMetadata_UnmarshalJSON | PASS | 0.000s |
| TestSourceMetadata_WithPR_MarshalJSON | PASS | 0.000s |
| TestSourceMetadata_WithoutPR_MarshalJSON | PASS | 0.000s |
| TestSourceMetadata_PRNil_OmitsFromJSON | PASS | 0.000s |
| Test | Status | Time |
|---|---|---|
| TestCheckOne_Connected | PASS | 3.080s |
| TestCheckOne_Disconnected | PASS | 4.030s |
| TestCheckOne_UpdatesDBStatus | PASS | 3.480s |
| TestCheckOne_UpdatesLastCheckedAt | PASS | 3.450s |
| TestCheckOne_WithEncryptedToken | PASS | 3.630s |
| TestCheckAll_IteratesAllRepos | PASS | 4.980s |
| TestCheckOne_WithCorruptToken_ProceedsWithoutToken | PASS | 2.810s |
| TestStartStop_RunsUntilCancelled | PASS | 5.420s |
| TestStartStop_StopIsIdempotent | PASS | 3.290s |
| TestRunWatchdog_JobFailed_MarksRunFailed | PASS | 4.090s |
| TestRunWatchdog_JobSucceededWithoutCallback_MarksRunFailed | PASS | 4.950s |
| TestRunWatchdog_NoJobTimeout_MarksRunFailed | PASS | 4.440s |
| TestRunWatchdog_WithinTimeout_NotModified | PASS | 4.140s |
| TestRunWatchdog_AlreadyCompleted_NotModified | PASS | 2.960s |
| TestRunWatchdog_StartStop_Lifecycle | PASS | 4.460s |
| TestRunWatchdog_JobFailed_MarksFailedAndSyncsVikunja | PASS | 3.550s |
| Test | Status | Time |
|---|---|---|
| TestMockExecutor_Start | PASS | 0.000s |
| TestMockExecutor_Interface | PASS | 0.000s |
| Test | Status | Time |
|---|---|---|
| TestDiscoverManifestFiles_WorkflowsAndAgents | PASS | 0.000s |
| TestDiscoverManifestFiles_MissingManifestDir | PASS | 0.000s |
| TestDiscoverManifestFiles_OnlyYaml | PASS | 0.000s |
| TestLoadPipelineManifest_Match | PASS | 0.000s |
| TestLoadPipelineManifest_NotFoundListsAvailable | PASS | 0.010s |
| TestLoadPipelineManifest_UnparsableYaml | PASS | 0.000s |
| TestParseEnvRef_Valid | PASS | 0.000s |
| TestParseEnvRef_Invalid | PASS | 0.000s |
| TestParseEnvRefs_SortedAndDeterministic | PASS | 0.000s |
| TestParseEnvRefs_InvalidValueNamesEnv | PASS | 0.000s |
| TestBuildEnvContainers_SlugNamesAndPolicy | PASS | 0.000s |
| TestBuildEnvContainers_SlugCollisionFails/same_slug_after_collapse | PASS | 0.000s |
| TestBuildEnvContainers_SlugCollisionFails/collision_at_64-char_truncation_boundary | PASS | 0.000s |
| TestBuildEnvContainers_SlugCollisionFails | PASS | 0.000s |
| TestRegistryHost_StripsSchemeKeepsPort | PASS | 0.000s |
| TestRegistryHost_Invalid | PASS | 0.000s |
| TestBuildDockerConfigJSON_AuthsKeyNoScheme | PASS | 0.000s |
| TestBuildJobSpec_Name | PASS | 0.000s |
| TestBuildJobSpec_Namespace | PASS | 0.000s |
| TestBuildJobSpec_Labels | PASS | 0.000s |
| TestBuildJobSpec_BackoffLimit | PASS | 0.000s |
| TestBuildJobSpec_TTL | PASS | 0.000s |
| TestBuildJobSpec_RestartPolicy | PASS | 0.000s |
| TestBuildJobSpec_ServiceAccount | PASS | 0.000s |
| TestBuildJobSpec_ContainerImage | PASS | 0.000s |
| TestBuildJobSpec_ContainerName | PASS | 0.000s |
| TestBuildJobSpec_Command | PASS | 0.000s |
| TestBuildJobSpec_EnvVars | PASS | 0.000s |
| TestBuildJobSpec_SingleContainerOnly | PASS | 0.000s |
| TestStart_CreatesJob | PASS | 0.360s |
| TestStart_SKILL_REPOS_Present | PASS | 0.660s |
| TestStart_SKILL_REPOS_AbsentWhenEmpty | PASS | 0.470s |
| TestStart_PREnvvars | PASS | 0.590s |
| TestStart_TicketEnvVars | PASS | 0.690s |
| TestStart_TicketContextEnv | PASS | 0.500s |
| TestStart_TicketEmptyBaseBranch | PASS | 0.620s |
| TestStart_NoPR | PASS | 0.560s |
| TestStart_WithBotToken | PASS | 0.530s |
| TestStart_ManifestRepoToken/with_bot_account_token | PASS | 0.560s |
| TestStart_ManifestRepoToken/without_bot_account_token | PASS | 0.680s |
| TestStart_ManifestRepoToken | PASS | 1.230s |
| TestStart_SkillRepoDecryptTokenError | PASS | 0.720s |
| TestStart_BranchProfileBaseBranch | PASS | 0.870s |
| TestStart_NoBotToken | PASS | 0.630s |
| TestStart_DecryptTokenError | PASS | 0.000s |
| TestStart_GiteaBaseURLParsing | PASS | 0.670s |
| TestStart_RepoURLNoHost | PASS | 0.000s |
| TestStart_LangfuseEnvVars | PASS | 0.450s |
| TestStart_DefaultNamespace | PASS | 0.630s |
| TestNewK8sExecutor_MissingEnvVars/missing_NAMESPACE | PASS | 0.000s |
| TestNewK8sExecutor_MissingEnvVars/missing_CORE_IMAGE | PASS | 0.000s |
| TestNewK8sExecutor_MissingEnvVars/missing_RELEASE_NAME | PASS | 0.000s |
| TestNewK8sExecutor_MissingEnvVars/missing_API_URL | PASS | 0.000s |
| TestNewK8sExecutor_MissingEnvVars/missing_ENGINE_API_KEY | PASS | 0.000s |
| TestNewK8sExecutor_MissingEnvVars | PASS | 0.000s |
| TestStart_WithEnvContainers | PASS | 0.650s |
| TestStart_ImagePullSecretOwnedByJob | PASS | 0.580s |
| TestStart_EnvFreeInvariant | PASS | 0.490s |
| TestStart_ManifestFetchFails | PASS | 0.070s |
| TestStart_PipelineManifestNotFound | PASS | 0.430s |
| TestStart_UnknownRegistry | PASS | 0.750s |
| TestStart_EnvValueMissingTag | PASS | 0.580s |
| Test | Status | Time |
|---|
| Test | Status | Time |
|---|---|---|
| TestPostComment_Success | PASS | 0.000s |
| TestUpdateComment_Success | PASS | 0.000s |
| TestMoveTask_Success | PASS | 0.000s |
| TestPostComment_TransportError_RetriesThenSucceeds | PASS | 0.400s |
| TestPostComment_5xx_RetriesThenFails | PASS | 1.200s |
| TestPostComment_5xx_ThenSuccess | PASS | 1.200s |
| TestPostComment_429_ThenSuccess | PASS | 0.400s |
| TestPostComment_429_RetriesThenFails | PASS | 1.200s |
| TestMoveTask_4xx_NoRetry | PASS | 0.000s |
| TestPostComment_WrongStatus_NoRetry | PASS | 0.000s |
| TestPostComment_MissingIDInResponse | PASS | 0.000s |
| TestNewClient_TrimsTrailingSlash | PASS | 0.000s |
| TestMoveTask_ContextCancelled_Aborts | PASS | 0.000s |
| TestPostComment_ResponseBodyJSONShape | PASS | 0.000s |
| TestMoveTask_RequestBodyIsBucketID | PASS | 0.000s |
| TestGetTask_Success | PASS | 0.000s |
| TestGetComments_Success | PASS | 0.000s |
| TestGetTask_5xx_NoRetry | PASS | 0.000s |
| TestGetComments_4xx_NoRetry | PASS | 0.000s |
| TestGetComments_EmptyList | PASS | 0.000s |