Go Test Report

611
Total
597
Passed
14
Failed
667.73
Seconds
keskikuja.site/agent-platform/api/internal/auth15 tests0.03s
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.020s
TestAuthMiddlewareValidToken PASS 0.000s
TestAuthMiddlewareInvalidToken PASS 0.000s
TestAuthMiddlewareMissingHeader PASS 0.000s
keskikuja.site/agent-platform/api/internal/auth/store7 tests0.05s
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
keskikuja.site/agent-platform/api/internal/crypto9 tests0.01s
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
keskikuja.site/agent-platform/api/internal/database1 tests7.16s
Test Status Time
TestMigrateUpDown PASS 7.150s
keskikuja.site/agent-platform/api/internal/git50 tests6.14s
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_NoLeftoverFiles1926276160/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:35949/manifest-repo/.git/': The requested URL returned error: 500 --- FAIL: TestAuthConfig_NoLeftoverFiles (0.21s)
0.210s
TestRunGit_KillsProcessGroupOnTimeout FAIL
Failed === RUN TestRunGit_KillsProcessGroupOnTimeout service_test.go:366: grandchild 9772 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_EnvTimeoutApplied588206515/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:46467/manifest-repo/.git/': The requested URL returned error: 500 --- FAIL: TestFetchManifestRepo_EnvTimeoutApplied (0.24s)
0.240s
TestCheckHealth_Connected FAIL
Failed === RUN TestCheckHealth_Connected service_test.go:467: expected connected=true for reachable repository --- FAIL: TestCheckHealth_Connected (0.10s)
0.100s
TestCheckHealth_WithToken FAIL
Failed === RUN TestCheckHealth_WithToken service_test.go:502: expected connected=true for reachable repository --- FAIL: TestCheckHealth_WithToken (0.20s)
0.200s
TestClone_PublicRepo FAIL
Failed === RUN TestClone_PublicRepo service_test.go:542: unexpected error: git clone failed: exit status 128 output: Cloning into '/tmp/TestClone_PublicRepo299685889/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:41639/clone-src/.git/': The requested URL returned error: 500 --- FAIL: TestClone_PublicRepo (0.13s)
0.130s
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_WithToken143937043/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:42875/clone-src/.git/': The requested URL returned error: 500 --- FAIL: TestClone_WithToken (1.58s)
1.580s
TestClone_CustomDirectory FAIL
Failed === RUN TestClone_CustomDirectory service_test.go:591: unexpected error: git clone failed: exit status 128 output: Cloning into '/tmp/TestClone_CustomDirectory2452931667/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:34857/clone-src/.git/': The requested URL returned error: 500 --- FAIL: TestClone_CustomDirectory (0.56s)
0.560s
TestCreateBranch_Success FAIL
Failed === RUN TestCreateBranch_Success service_test.go:615: clone: git clone failed: exit status 128 output: Cloning into '/tmp/TestCreateBranch_Success3679110126/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:41609/branch-src/.git/': The requested URL returned error: 500 --- FAIL: TestCreateBranch_Success (0.22s)
0.220s
TestFetchManifestRepo_SparseHTTP FAIL
Failed === RUN TestFetchManifestRepo_SparseHTTP service_test.go:845: unexpected error: git clone failed: exit status 128 output: Cloning into '/tmp/TestFetchManifestRepo_SparseHTTP3897599994/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:44731/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_PartialCloneFilter3310979990/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:37079/manifest-repo/.git/': The requested URL returned error: 500 --- FAIL: TestFetchManifestRepo_PartialCloneFilter (0.13s)
0.130s
TestFetchManifestRepo_TokenNotInGitConfig FAIL
Failed === RUN TestFetchManifestRepo_TokenNotInGitConfig service_test.go:944: unexpected error: git clone failed: exit status 128 output: Cloning into '/tmp/TestFetchManifestRepo_TokenNotInGitConfig356944378/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:35191/manifest-repo/.git/': The requested URL returned error: 500 --- FAIL: TestFetchManifestRepo_TokenNotInGitConfig (0.13s)
0.130s
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.010s
TestFetchManifestRepo_RejectsUnsupportedScheme PASS 0.000s
TestWriteAuthConfig_EmptyToken PASS 0.000s
TestWriteAuthConfig_Content PASS 0.020s
TestWriteAuthConfig_ScopedToPort PASS 0.010s
TestBuildGitEnv_NoAmbientGitConfig PASS 0.000s
TestBuildGitEnv_EmptyToken PASS 0.000s
TestParseTimeoutSeconds_Default PASS 0.000s
TestParseTimeoutSeconds_EnvValue PASS 0.000s
TestParseTimeoutSeconds_InvalidIsHardError PASS 0.000s
TestClone_FailureRemovesPartialDest PASS 0.010s
TestCheckHealth_Disconnected PASS 0.040s
TestCheckHealth_Timeout PASS 2.000s
TestClone_NonExistentRepo PASS 0.090s
TestCreateBranch_EmptyString PASS 0.000s
TestCreateBranch_MainProtected PASS 0.000s
TestCreateBranch_MasterProtected PASS 0.000s
TestCreateBranch_GuardMessage PASS 0.000s
TestFetchManifestRepo_NonExistentRepo PASS 0.060s
keskikuja.site/agent-platform/api/internal/handlers395 tests605.73s
Test Status Time
TestMain FAIL
Failed 2026/08/11 09:55:11 INFO migrations applied duration=2.631460914s panic: test timed out after 10m0s running tests: TestVikunjaWebhook_TicketContext_SkippedWithoutCredentials (6s) TestVikunjaWebhook_TicketContext_SkippedWithoutCredentials/no_vikunja_token_encrypted (4s) goroutine 1214 [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(0x2fe9978ce908, {0x1ad79d9?, 0x0?}, 0x1b79818) /usr/local/go/src/testing/testing.go:2109 +0x4e5 testing.runTests.func1(0x2fe9978ce908) /usr/local/go/src/testing/testing.go:2585 +0x3e testing.tRunner(0x2fe9978ce908, 0x2fe997613b38) /usr/local/go/src/testing/testing.go:2036 +0xea testing.runTests({0x1a99520, 0x21}, {0x1ac47ea, 0x33}, 0x2fe9975283f0, {0x2b935a0, 0x132, 0x132}, {0xc296dad5eb4066e0, 0x8d06501c70, ...}) /usr/local/go/src/testing/testing.go:2583 +0x505 testing.(*M).Run(0x2fe997a1c6e0) /usr/local/go/src/testing/testing.go:2443 +0x6ac keskikuja.site/agent-platform/api/internal/handlers_test.TestMain(0x2fe997a1c6e0) /workspace/niko/agent-platform/api/internal/handlers/test_helpers_test.go:55 +0x465 main.main() _testmain.go:670 +0xa5 goroutine 1106 [select, 2 minutes]: keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0x2fe997a3b0b0, {0x1ba41e8, 0x2bc84a0}) /workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128 created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 1105 /workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114 goroutine 403 [chan receive, 2 minutes]: keskikuja.site/agent-platform/api/internal/auth/store.(*MemoryStore).reapLoop(0x2fe997a8e420, 0x0?) /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 402 /workspace/niko/agent-platform/api/internal/auth/store/memory.go:24 +0xc7 goroutine 83 [select]: github.com/jackc/pgx/v5/pgxpool.(*Pool).backgroundHealthCheck(0x2fe99769c6c0) /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 756 [select, 2 minutes]: keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0x2fe997b4a630, {0x1ba41e8, 0x2bc84a0}) /workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128 created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 1001 /workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114 goroutine 761 [select, 2 minutes]: keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0x2fe997b4ba10, {0x1ba41e8, 0x2bc84a0}) /workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128 created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 1035 /workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114 goroutine 1033 [select, 2 minutes]: keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0x2fe997ac7e90, {0x1ba41e8, 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 1065 [select, 2 minutes]: keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0x2fe997a3a0f0, {0x1ba41e8, 0x2bc84a0}) /workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128 created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 1063 /workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114 goroutine 948 [select, 2 minutes]: keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0x2fe997a3a9c0, {0x1ba41e8, 0x2bc84a0}) /workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128 created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 919 /workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114 goroutine 1037 [select, 2 minutes]: keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0x2fe997d040c0, {0x1ba41e8, 0x2bc84a0}) /workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128 created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 1048 /workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114 goroutine 406 [chan receive, 2 minutes]: keskikuja.site/agent-platform/api/internal/auth/store.(*MemoryStore).reapLoop(0x2fe997a8e5d0, 0x0?) /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 405 /workspace/niko/agent-platform/api/internal/auth/store/memory.go:24 +0xc7 goroutine 1210 [chan receive]: testing.(*T).Run(0x2fe9976b8248, {0x1a8bc08?, 0x5c3c53?}, 0x1b799c0) /usr/local/go/src/testing/testing.go:2109 +0x4e5 keskikuja.site/agent-platform/api/internal/handlers_test.TestVikunjaWebhook_TicketContext_SkippedWithoutCredentials(0x2fe9976b8248) /workspace/niko/agent-platform/api/internal/handlers/webhook_test.go:1317 +0x48 testing.tRunner(0x2fe9976b8248, 0x1b79818) /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 1016 [select, 2 minutes]: keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0x2fe997a3c210, {0x1ba41e8, 0x2bc84a0}) /workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128 created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 754 /workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114 goroutine 949 [select, 2 minutes]: keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0x2fe997a3acc0, {0x1ba41e8, 0x2bc84a0}) /workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128 created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 909 /workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114 goroutine 945 [select, 2 minutes]: keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0x2fe997a3a4e0, {0x1ba41e8, 0x2bc84a0}) /workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128 created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 335 /workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114 goroutine 1089 [select, 2 minutes]: keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0x2fe997d043f0, {0x1ba41e8, 0x2bc84a0}) /workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128 created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 1070 /workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114 goroutine 1212 [IO wait]: internal/poll.runtime_pollWait(0x7886d981ae00, 0x72) /usr/local/go/src/runtime/netpoll.go:351 +0x85 internal/poll.(*pollDesc).wait(0x2fe997a9e300?, 0x2fe99766c000?, 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(0x2fe997a9e300, {0x2fe99766c000, 0x2000, 0x2000}) /usr/local/go/src/internal/poll/fd_unix.go:165 +0x2ae net.(*netFD).Read(0x2fe997a9e300, {0x2fe99766c000?, 0x48b2cc?, 0x49e900?}) /usr/local/go/src/net/fd_posix.go:68 +0x25 net.(*conn).Read(0x2fe997602030, {0x2fe99766c000?, 0x4e6500?, 0x2fe997906e58?}) /usr/local/go/src/net/net.go:196 +0x45 github.com/jackc/pgx/v5/pgconn/internal/bgreader.(*BGReader).Read(0x2fe997acc1c0, {0x2fe99766c000, 0x2000, 0x2000}) /go/pkg/mod/github.com/jackc/pgx/v5@v5.7.4/pgconn/internal/bgreader/bgreader.go:100 +0xcb io.ReadAtLeast({0x1b87600, 0x2fe997acc1c0}, {0x2fe99766c000, 0x2000, 0x2000}, 0x5) /usr/local/go/src/io/io.go:335 +0x8e github.com/jackc/pgx/v5/pgproto3.(*chunkReader).Next(0x2fe997c8e4e0, 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(0x2fe997b05688) /go/pkg/mod/github.com/jackc/pgx/v5@v5.7.4/pgproto3/frontend.go:308 +0x3c github.com/jackc/pgx/v5/pgconn.(*PgConn).peekMessage(0x2fe997518d88) /go/pkg/mod/github.com/jackc/pgx/v5@v5.7.4/pgconn/pgconn.go:551 +0x145 github.com/jackc/pgx/v5/pgconn.(*PgConn).receiveMessage(0x2fe997518d88) /go/pkg/mod/github.com/jackc/pgx/v5@v5.7.4/pgconn/pgconn.go:571 +0x1c github.com/jackc/pgx/v5/pgconn.(*MultiResultReader).receiveMessage(0x2fe997518ea0) /go/pkg/mod/github.com/jackc/pgx/v5@v5.7.4/pgconn/pgconn.go:1437 +0x1f github.com/jackc/pgx/v5/pgconn.(*MultiResultReader).NextResult(0x2fe997518ea0) /go/pkg/mod/github.com/jackc/pgx/v5@v5.7.4/pgconn/pgconn.go:1461 +0x4b github.com/jackc/pgx/v5.(*Conn).execSimpleProtocol(0x1869d80?, {0x1ba41e8?, 0x2bc84a0?}, {0x1aff9d5?, 0x9abd42?}, {0x0?, 0x2fe99777d808?, 0x2fe997abeac0?}) /go/pkg/mod/github.com/jackc/pgx/v5@v5.7.4/conn.go:562 +0xb0 github.com/jackc/pgx/v5.(*Conn).exec(0x2fe997ce8480, {0x1ba41e8, 0x2bc84a0}, {0x1aff9d5, 0x7b}, {0x0?, 0x1ba41e8?, 0x2ba5aa0?}) /go/pkg/mod/github.com/jackc/pgx/v5@v5.7.4/conn.go:547 +0x5dd github.com/jackc/pgx/v5.(*Conn).Exec(0x2fe997ce8480, {0x1ba41e8?, 0x2bc84a0?}, {0x1aff9d5, 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(0x2fe99769c6c0?, {0x1ba41e8?, 0x2bc84a0?}, {0x1aff9d5?, 0x2fe997abecb8?}, {0x0?, 0x18674e0?, 0x2fe997a3bda0?}) /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?, {0x1ba41e8, 0x2bc84a0}, {0x1aff9d5, 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(0x2fe9976b8908) /workspace/niko/agent-platform/api/internal/handlers/test_helpers_test.go:65 +0x4d keskikuja.site/agent-platform/api/internal/handlers_test.setupVikunjaStartCommentDB(0x2fe9976b8908, 0x2fe997a03a00) /workspace/niko/agent-platform/api/internal/handlers/webhook_test.go:1091 +0x3e keskikuja.site/agent-platform/api/internal/handlers_test.TestVikunjaWebhook_TicketContext_SkippedWithoutCredentials.func2(0x2fe9976b8908) /workspace/niko/agent-platform/api/internal/handlers/webhook_test.go:1319 +0x3a testing.tRunner(0x2fe9976b8908, 0x1b799c0) /usr/local/go/src/testing/testing.go:2036 +0xea created by testing.(*T).Run in goroutine 1210 /usr/local/go/src/testing/testing.go:2101 +0x4c5 goroutine 664 [select, 4 minutes]: keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0x2fe997a3c7e0, {0x1ba41e8, 0x2bc84a0}) /workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128 created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 663 /workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114 goroutine 1213 [IO wait]: internal/poll.runtime_pollWait(0x788692d46000, 0x72) /usr/local/go/src/runtime/netpoll.go:351 +0x85 internal/poll.(*pollDesc).wait(0x2fe9976c2f80?, 0x2fe997abccf0?, 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).Accept(0x2fe9976c2f80) /usr/local/go/src/internal/poll/fd_unix.go:613 +0x28c net.(*netFD).accept(0x2fe9976c2f80) /usr/local/go/src/net/fd_unix.go:150 +0x29 net.(*TCPListener).accept(0x2fe99779e100) /usr/local/go/src/net/tcpsock_posix.go:159 +0x1b net.(*TCPListener).Accept(0x2fe99779e100) /usr/local/go/src/net/tcpsock.go:387 +0x30 net/http.(*Server).Serve(0x2fe997b02100, {0x1b963d0, 0x2fe99779e100}) /usr/local/go/src/net/http/server.go:3434 +0x30c net/http/httptest.(*Server).goServe.func1() /usr/local/go/src/net/http/httptest/server.go:341 +0x55 created by net/http/httptest.(*Server).goServe in goroutine 1212 /usr/local/go/src/net/http/httptest/server.go:339 +0x65 goroutine 781 [select, 3 minutes]: keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0x2fe9979141b0, {0x1ba41e8, 0x2bc84a0}) /workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128 created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 888 /workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114 goroutine 932 [select, 3 minutes]: keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0x2fe9977a47e0, {0x1ba41e8, 0x2bc84a0}) /workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128 created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 931 /workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114 goroutine 857 [select, 3 minutes]: keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0x2fe99a2db200, {0x1ba41e8, 0x2bc84a0}) /workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128 created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 898 /workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114 goroutine 855 [select, 3 minutes]: keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0x2fe99a2daab0, {0x1ba41e8, 0x2bc84a0}) /workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128 created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 878 /workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114 goroutine 938 [select, 2 minutes]: keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0x2fe997c82570, {0x1ba41e8, 0x2bc84a0}) /workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128 created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 936 /workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114 goroutine 864 [select, 3 minutes]: keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0x2fe9979ceb10, {0x1ba41e8, 0x2bc84a0}) /workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128 created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 885 /workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114 goroutine 777 [select, 3 minutes]: keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0x2fe997a3d080, {0x1ba41e8, 0x2bc84a0}) /workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128 created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 775 /workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114 goroutine 950 [select, 2 minutes]: keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0x2fe997a3afc0, {0x1ba41e8, 0x2bc84a0}) /workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128 created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 925 /workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114 goroutine 840 [select, 2 minutes]: keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0x2fe9979cf620, {0x1ba41e8, 0x2bc84a0}) /workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128 created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 1052 /workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114 goroutine 1039 [select, 2 minutes]: keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0x2fe997d041b0, {0x1ba41e8, 0x2bc84a0}) /workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128 created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 767 /workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114 goroutine 964 [select, 2 minutes]: keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0x2fe9979c4ea0, {0x1ba41e8, 0x2bc84a0}) /workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128 created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 956 /workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114 goroutine 1020 [select, 2 minutes]: keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0x2fe9977b13b0, {0x1ba41e8, 0x2bc84a0}) /workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128 created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 1030 /workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114 goroutine 969 [select, 2 minutes]: keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0x2fe997674900, {0x1ba41e8, 0x2bc84a0}) /workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128 created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 993 /workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114 goroutine 998 [select, 2 minutes]: keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0x2fe997b01e90, {0x1ba41e8, 0x2bc84a0}) /workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128 created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 1025 /workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114 goroutine 974 [select, 2 minutes]: keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0x2fe997675e60, {0x1ba41e8, 0x2bc84a0}) /workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128 created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 973 /workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114 goroutine 1111 [select, 2 minutes]: keskikuja.site/agent-platform/api/internal/handlers.(*SSEHub).broadcast(0x2fe997a3bbf0, {0x1ba41e8, 0x2bc84a0}) /workspace/niko/agent-platform/api/internal/handlers/sse.go:90 +0x128 created by keskikuja.site/agent-platform/api/internal/handlers.NewSSEHub in goroutine 1079 /workspace/niko/agent-platform/api/internal/handlers/sse.go:52 +0x114 FAIL keskikuja.site/agent-platform/api/internal/handlers 605.733s
0.000s
TestVikunjaWebhook_TicketContext_SkippedWithoutCredentials FAIL
Failed === RUN TestVikunjaWebhook_TicketContext_SkippedWithoutCredentials === RUN TestVikunjaWebhook_TicketContext_SkippedWithoutCredentials/no_vikunja.url_in_project_config 2026/08/11 10:05:08 WARN vikunja ticket context: fetch skipped — run continues without context run_id=8dfb98a0-0acf-4b9e-958f-2fc0f13a0324 task_id=42 error="no vikunja.url in project config" 2026/08/11 10:05:08 WARN vikunja sync: no vikunja.url in project config — sync skipped --- PASS: TestVikunjaWebhook_TicketContext_SkippedWithoutCredentials/no_vikunja.url_in_project_config (2.72s) === RUN TestVikunjaWebhook_TicketContext_SkippedWithoutCredentials/no_vikunja_token_encrypted coverage: 66.7% 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_TicketContext_SkippedWithoutCredentials/no_vikunja_token_encrypted FAIL
Failed === RUN TestVikunjaWebhook_TicketContext_SkippedWithoutCredentials/no_vikunja_token_encrypted coverage: 66.7% 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.110s
TestUpsertUser_UpdateExisting PASS 1.580s
TestUpsertUser_NullImage PASS 1.000s
TestCreateBotAccount_Success PASS 1.250s
TestCreateBotAccount_TokenEncryptedInDB PASS 0.970s
TestCreateBotAccount_MissingName PASS 1.700s
TestCreateBotAccount_NameTooShort PASS 1.310s
TestCreateBotAccount_MissingToken PASS 2.420s
TestGetBotAccount_Success PASS 0.910s
TestGetBotAccount_NotFound PASS 0.860s
TestListBotAccounts PASS 1.240s
TestUpdateBotAccount_Success PASS 1.710s
TestUpdateBotAccount_NewToken PASS 1.200s
TestUpdateBotAccount_EmptyTokenDoesNotOverwrite PASS 2.690s
TestDeleteBotAccount_NotInUse PASS 1.950s
TestDeleteBotAccount_InUse PASS 2.610s
TestBotAccountEndpoints_NoSession PASS 3.770s
TestListBotAccounts_EmptyList PASS 5.110s
TestCreateBotAccount_DescriptionMax PASS 3.590s
TestCreateContainerRegistry_Success PASS 3.290s
TestCreateContainerRegistry_TokenEncryptedInDB PASS 3.320s
TestCreateContainerRegistry_PublicRegistryWithoutToken PASS 2.650s
TestCreateContainerRegistry_MissingName PASS 3.460s
TestCreateContainerRegistry_MissingURL PASS 3.100s
TestCreateContainerRegistry_InvalidURL PASS 3.510s
TestCreateContainerRegistry_InvalidNameLength PASS 3.760s
TestCreateContainerRegistry_DuplicateName PASS 4.550s
TestGetContainerRegistry_Success PASS 4.230s
TestGetContainerRegistry_NotFound PASS 3.820s
TestListContainerRegistries PASS 3.000s
TestListContainerRegistries_EmptyList PASS 4.460s
TestUpdateContainerRegistry_Success PASS 3.380s
TestUpdateContainerRegistry_NewToken PASS 2.000s
TestUpdateContainerRegistry_ClearToken PASS 1.550s
TestUpdateContainerRegistry_OmittedTokenKeepsExisting PASS 1.360s
TestUpdateContainerRegistry_EmptyBody PASS 1.010s
TestUpdateContainerRegistry_InvalidURL PASS 1.810s
TestUpdateContainerRegistry_InvalidNameLength PASS 1.330s
TestUpdateContainerRegistry_DuplicateName PASS 1.500s
TestUpdateContainerRegistry_NotFound PASS 3.650s
TestDeleteContainerRegistry_Success PASS 5.240s
TestDeleteContainerRegistry_NotFound PASS 3.280s
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 3.910s
TestHealth PASS 3.740s
TestReady_Success PASS 5.800s
TestReady_DBDown PASS 0.110s
TestCheck_Success PASS 2.440s
TestCheck_DBDown PASS 0.050s
TestReady_ContextTimeout PASS 4.480s
TestCheck_NilRequest PASS 6.120s
TestUserHealth_NoAuth PASS 3.730s
TestUserHealth_ApiKey PASS 2.480s
TestUserHealth_SessionCookie PASS 3.690s
TestUserHealth_ExpiredSession PASS 2.440s
TestUserHealth_InvalidApiKey PASS 1.420s
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 0.810s
TestCreateLlmConfig_ApiKeyEncryptedInDB PASS 0.980s
TestCreateLlmConfig_MissingName PASS 1.400s
TestCreateLlmConfig_NameTooShort PASS 1.180s
TestCreateLlmConfig_MissingApiKey PASS 0.760s
TestCreateLlmConfig_DuplicateName PASS 1.160s
TestGetLlmConfig_Success PASS 0.800s
TestGetLlmConfig_NotFound PASS 1.110s
TestListLlmConfigs PASS 0.930s
TestListLlmConfigs_EmptyList PASS 0.990s
TestUpdateLlmConfig_Success PASS 0.900s
TestUpdateLlmConfig_NewApiKey PASS 1.210s
TestUpdateLlmConfig_EmptyApiKeyDoesNotOverwrite PASS 0.870s
TestUpdateLlmConfig_MissingApiKeyDoesNotOverwrite PASS 0.680s
TestUpdateLlmConfig_DuplicateName PASS 0.910s
TestUpdateLlmConfig_NotFound PASS 0.960s
TestDeleteLlmConfig_Success PASS 3.260s
TestDeleteLlmConfig_NotFound PASS 2.670s
TestLlmConfigEndpoints_NoSession PASS 3.070s
TestCreatePipeline_Success PASS 3.830s
TestCreatePipeline_WithBaseBranch PASS 3.570s
TestCreatePipeline_DefaultBaseBranch PASS 3.260s
TestUpdatePipeline_BaseBranch PASS 3.550s
TestCreatePipeline_MissingName PASS 3.290s
TestCreatePipeline_InvalidProjectId PASS 3.600s
TestGetPipeline_Success PASS 3.920s
TestGetPipeline_NotFound PASS 3.700s
TestListPipelinesByProject PASS 3.620s
TestListPipelinesByProject_NotFound PASS 3.040s
TestListPipelines_FilterEnabled PASS 3.030s
TestUpdatePipeline_Success PASS 2.890s
TestUpdatePipeline_NotFound PASS 2.880s
TestDeletePipeline_Success PASS 1.710s
TestDeletePipeline_NotFound PASS 2.190s
TestGetProjectDetail_IncludesPipelines PASS 3.040s
TestCreatePipeline_WithoutOutputBranch PASS 1.800s
TestCreatePipeline_WithEmptyOutputBranch PASS 1.450s
TestCreatePipeline_WithOutputBranch PASS 2.170s
TestCreatePipeline_WithConfig PASS 2.710s
TestCreatePipeline_ConfigValidation/array_rejected PASS 1.790s
TestCreatePipeline_ConfigValidation/string_rejected PASS 1.370s
TestCreatePipeline_ConfigValidation/null_accepted PASS 1.590s
TestCreatePipeline_ConfigValidation/object_accepted PASS 2.360s
TestCreatePipeline_ConfigValidation PASS 7.120s
TestUpdatePipeline_NullifyOutputBranch PASS 1.710s
TestUpdatePipeline_Config PASS 1.720s
TestCreatePipeline_WithSkillRepos PASS 1.790s
TestCreatePipeline_EmptySkillRepos PASS 2.110s
TestCreatePipeline_SkillReposValidation/valid_list_accepted PASS 1.790s
TestCreatePipeline_SkillReposValidation/empty_list_accepted PASS 1.490s
TestCreatePipeline_SkillReposValidation/null_accepted PASS 1.500s
TestCreatePipeline_SkillReposValidation/nonexistent_repository_rejected PASS 1.960s
TestCreatePipeline_SkillReposValidation/duplicate_repository_rejected PASS 1.550s
TestCreatePipeline_SkillReposValidation/slug_collision_rejected PASS 1.710s
TestCreatePipeline_SkillReposValidation/over_cap_rejected PASS 1.660s
TestCreatePipeline_SkillReposValidation/malformed_uuid_rejected PASS 1.930s
TestCreatePipeline_SkillReposValidation PASS 13.600s
TestGetAndListPipelines_ReturnSkillRepos PASS 1.690s
TestUpdatePipeline_SkillRepos PASS 1.870s
TestUpdatePipeline_SkillReposToEmpty PASS 1.660s
TestUpdatePipeline_SkillReposAbsentKeepsExisting PASS 2.160s
TestUpdatePipeline_SkillReposValidation/nonexistent_repository PASS 1.790s
TestUpdatePipeline_SkillReposValidation/duplicate_repositories PASS 2.330s
TestUpdatePipeline_SkillReposValidation/slug_collision PASS 1.910s
TestUpdatePipeline_SkillReposValidation/over_cap PASS 1.580s
TestUpdatePipeline_SkillReposValidation PASS 7.610s
TestUpdatePipeline_SkillReposOnly_UpdateQueryIncludesUpdatedBy PASS 1.600s
TestUpdatePipeline_NoFields_NoOpGuardSkipsUpdate PASS 1.440s
TestCreatePipeline_ResponseFetchBeforeCommit PASS 1.940s
TestUpdatePipeline_ResponseFetchBeforeCommit PASS 1.700s
TestCreatePipeline_SkillRepoValidationInsideTx PASS 1.930s
TestCreateAndUpdatePipeline_SymbolOnlyRepoNameGets422/create_rejects_symbol-only_repo PASS 0.000s
TestCreateAndUpdatePipeline_SymbolOnlyRepoNameGets422/update_rejects_symbol-only_repo PASS 0.000s
TestCreateAndUpdatePipeline_SymbolOnlyRepoNameGets422 PASS 1.870s
TestCreatePipeline_TruncationBoundarySlugCollisionGets422 PASS 1.850s
TestCreatePipeline_SkillRepoValidationErrorsAre422/missing_repository PASS 1.720s
TestCreatePipeline_SkillRepoValidationErrorsAre422/slug_collision PASS 2.600s
TestCreatePipeline_SkillRepoValidationErrorsAre422 PASS 4.320s
TestCreatePipeline_SkillRepoDBFailureIs500 PASS 1.260s
TestUpdatePipeline_WriteOnlySecrets_StoredEncryptedNotReturned PASS 0.940s
TestGetPipeline_DoesNotReturnWriteOnlySecrets PASS 1.000s
TestCreatePipeline_LaneConfigLint/valid_full_lanes_accepted PASS 1.080s
TestCreatePipeline_LaneConfigLint/warnings-only_accepted PASS 0.920s
TestCreatePipeline_LaneConfigLint/free-form_config_without_lanes_accepted PASS 0.870s
TestCreatePipeline_LaneConfigLint/lanes_not_an_object_rejected PASS 1.850s
TestCreatePipeline_LaneConfigLint/start_missing_rejected PASS 0.810s
TestCreatePipeline_LaneConfigLint/start_empty_rejected PASS 0.860s
TestCreatePipeline_LaneConfigLint/start_non-positive_rejected PASS 1.010s
TestCreatePipeline_LaneConfigLint/start_duplicate_rejected PASS 0.740s
TestCreatePipeline_LaneConfigLint/unknown_lane_key_rejected PASS 0.640s
TestCreatePipeline_LaneConfigLint/duplicate_across_lanes_rejected PASS 0.610s
TestCreatePipeline_LaneConfigLint PASS 9.390s
TestCreatePipeline_LaneConfigLint_422BodyShape PASS 0.700s
TestUpdatePipeline_LaneConfigLint/valid_lanes_accepted PASS 0.620s
TestUpdatePipeline_LaneConfigLint/warnings-only_accepted PASS 0.710s
TestUpdatePipeline_LaneConfigLint/free-form_config_without_lanes_accepted PASS 0.700s
TestUpdatePipeline_LaneConfigLint/invalid_lanes_rejected PASS 0.600s
TestUpdatePipeline_LaneConfigLint/unknown_lane_key_rejected PASS 0.620s
TestUpdatePipeline_LaneConfigLint PASS 3.260s
TestUpdatePipeline_LaneConfigLint_422BodyShape PASS 0.610s
TestCreateProject_Success PASS 0.640s
TestCreateProject_MissingName PASS 0.920s
TestCreateProject_TooShortName PASS 0.850s
TestGetProject_Success PASS 0.660s
TestGetProject_NotFound PASS 0.630s
TestListProjects_DefaultPagination PASS 0.800s
TestListProjects_SortByNameAsc PASS 0.670s
TestListProjects_InvalidSortField PASS 0.630s
TestUpdateProject_Success PASS 0.630s
TestUpdateProject_NotFound PASS 0.950s
TestDeleteProject_Success PASS 0.650s
TestDeleteProject_NotFound PASS 0.650s
TestProjectEndpoints_NoSession PASS 0.620s
TestProjectHandler_Create_WithConfig PASS 0.700s
TestProjectHandler_Create_WithSecrets PASS 0.780s
TestProjectHandler_Create_ConfigValidation/empty_object PASS 0.000s
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 0.660s
TestProjectHandler_Update_Config PASS 0.710s
TestProjectHandler_GetDecryptedSecrets PASS 0.700s
TestProjectHandler_Get_StripsSecretsEncrypted PASS 0.840s
TestGetDecryptedSecrets_NoSecrets PASS 0.800s
TestProjectHandler_Update_Secrets PASS 1.390s
TestProjectHandler_Update_Secrets_PlainStringRejected PASS 1.450s
TestProjectHandler_Update_Secrets_EmptyStringRejected PASS 1.780s
TestProjectHandler_Create_Config_DuplicateVikunjaProjectID PASS 1.340s
TestProjectHandler_Create_Config_UnclaimedVikunjaProjectID PASS 1.090s
TestProjectHandler_Update_Config_DuplicateVikunjaProjectID PASS 0.930s
TestProjectHandler_Update_Config_SameVikunjaProjectID_Kept PASS 0.900s
TestCreateRepository_Success PASS 1.050s
TestCreateRepository_MissingBotAccountID PASS 0.880s
TestCreateRepository_BotAccountNotFound PASS 0.730s
TestCreateRepository_InvalidName PASS 0.900s
TestCreateRepository_MissingName PASS 0.760s
TestGetRepository_Success PASS 0.910s
TestGetRepository_NotFound PASS 1.230s
TestListRepositories PASS 0.990s
TestGetRepository_HasBotAccountID PASS 0.940s
TestListRepository_HasBotAccountID PASS 0.960s
TestUpdateRepository_Success PASS 0.950s
TestUpdateRepository_ChangeBotAccountID PASS 1.110s
TestUpdateRepository_NotFound PASS 2.050s
TestDeleteRepository_Success PASS 1.360s
TestDeleteRepository_NotFound PASS 1.470s
TestCheckRepositoryHealth_Connected PASS 2.320s
TestCheckRepositoryHealth_Disconnected PASS 2.200s
TestCheckRepositoryHealth_UpdatesDB PASS 2.190s
TestCheckRepositoryHealth_NotFound PASS 2.540s
TestRepositoryEndpoints_NoSession PASS 1.370s
TestCreateRun_ExecutorResourceError_PersistsResourceErrorCode PASS 1.810s
TestCreateRun_Success PASS 1.980s
TestCreateRun_MissingPipelineID PASS 1.340s
TestCreateRun_InvalidPipelineID PASS 1.450s
TestCreateRun_InvalidJSON PASS 2.130s
TestCreateRun_InvalidSourceType PASS 1.650s
TestGetRun_Success PASS 1.950s
TestGetRun_NotFound PASS 1.590s
TestListRuns_ReturnsDefaultPagination PASS 2.000s
TestListRuns_CustomLimitAndOffset PASS 1.390s
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 1.630s
TestListRuns_FilterByPhase PASS 2.050s
TestListRuns_FilterByMultiplePhases PASS 1.360s
TestListRuns_FilterByInvalidPhase PASS 2.580s
TestListRuns_FilterProjectID PASS 2.700s
TestListRuns_FilterPipelineID PASS 1.700s
TestListRuns_FilterSourceType PASS 1.990s
TestListRuns_FilterCreatedAfter PASS 1.760s
TestListRuns_FilterCreatedBefore PASS 1.660s
TestListRuns_FilterSource PASS 1.520s
TestListRuns_SortByStartedAt PASS 1.940s
TestListRuns_FilterMultipleCriteria PASS 1.980s
TestListRuns_SortByCreatedAtDesc PASS 1.500s
TestListRuns_SortByUpdatedAtAsc PASS 1.310s
TestListRuns_InvalidSortField PASS 1.750s
TestListRuns_CursorPagination PASS 1.820s
TestUpdateRun_PhaseOnly PASS 1.840s
TestUpdateRun_Completed PASS 2.390s
TestUpdateRun_Failed PASS 1.870s
TestUpdateRun_Questions_StoredInResultJSON PASS 1.740s
TestUpdateRun_Questions_KeepsPrURL PASS 2.130s
TestUpdateRun_NotFound PASS 2.510s
TestUpdateRun_InvalidPhase PASS 1.860s
TestUpdateRun_NoAuth PASS 1.820s
TestIdempotency_NoKey PASS 1.360s
TestIdempotency_SameKeySameBody PASS 1.390s
TestIdempotency_SameKeyDifferentBody PASS 1.880s
TestHubPublishAndReceive PASS 0.000s
TestHubFilterPhaseMatch PASS 0.000s
TestHubFilterPhaseMismatch PASS 0.200s
TestHubFilterSourceType PASS 0.200s
TestSubscribeSSE_NoAuth PASS 0.900s
TestSubscribeSSE_InvalidAPIKey PASS 0.800s
TestRunCreationPublishesSSEEvent PASS 1.000s
TestSubscribeSSE_Heartbeat PASS 0.990s
TestVikunjaSync_ExitCodeLaneMapping/exit_0_→_pr_open PASS 1.770s
TestVikunjaSync_ExitCodeLaneMapping/exit_1_→_failed PASS 0.820s
TestVikunjaSync_ExitCodeLaneMapping/exit_10_→_open_questions PASS 0.760s
TestVikunjaSync_ExitCodeLaneMapping/exit_11_→_blocked PASS 0.930s
TestVikunjaSync_ExitCodeLaneMapping/exit_20_→_needs_rework PASS 0.960s
TestVikunjaSync_ExitCodeLaneMapping/exit_21_→_pr_rejected PASS 2.400s
TestVikunjaSync_ExitCodeLaneMapping/exit_22_→_open_questions PASS 1.060s
TestVikunjaSync_ExitCodeLaneMapping PASS 8.710s
TestVikunjaSync_UnknownExitCode_NoOp PASS 1.360s
TestVikunjaSync_RepeatedPatch_Idempotent PASS 1.110s
TestVikunjaSync_TargetLaneUndefined_CommentOnly PASS 2.029s
TestVikunjaSync_ErrorComment_IncludesErrorInfo PASS 1.540s
TestVikunjaSync_VikunjaApiError_KeepsRunUpdate_SyncFalse PASS 3.740s
TestVikunjaSync_PrURL_StoredInResultJSON_AndInComment PASS 2.410s
TestVikunjaSync_CommentUpdateInPlace_WhenCommentIDExists PASS 1.480s
TestVikunjaSync_ContinuationRun_Exit20 PASS 2.150s
TestVikunjaSync_NoContinuationRun_WhenNeedsReworkUndefined PASS 1.980s
TestVikunjaSync_NoContinuationRun_WhenPendingRunExists PASS 2.000s
TestVikunjaSync_FailedMode_IgnoresExitCode PASS 1.610s
TestVikunjaSync_Migration020_ColumnsExist PASS 2.029s
TestVikunjaSync_OpenQuestions_QuestionsComment/exit_10_→_open_questions PASS 1.460s
TestVikunjaSync_OpenQuestions_QuestionsComment/exit_22_→_open_questions PASS 1.810s
TestVikunjaSync_OpenQuestions_QuestionsComment PASS 3.270s
TestVikunjaSync_OpenQuestions_EmptyQuestions_GenericComment PASS 1.630s
TestVikunjaSync_OpenQuestions_QuestionsAbsent_GenericComment PASS 1.540s
TestVikunjaSync_ContinuationRun_GetsTicketContext PASS 1.690s
TestVikunjaSync_DoubleSyncSequential_OneExternalSync PASS 1.830s
TestVikunjaSync_FailureRollback_RetryUpdateInPlace PASS 3.180s
TestVikunjaSync_Success_PersistsCommentID PASS 2.380s
TestVikunjaSync_ConcurrentPaths_SingleExternalSync PASS 1.900s
TestVikunjaSync_Migration020_BackfillPresent PASS 0.000s
TestGitHubPR_ValidHMAC_CreatesRun PASS 2.020s
TestGitHubPR_ValidHMAC_StoresPRDescription PASS 1.860s
TestGitHubPR_ValidHMAC_GiteaSignature PASS 2.130s
TestGitHubPR_GiteaSynchronizedAction_CreatesRun PASS 1.810s
TestGitHubPR_NoAPIKeyValidHMAC_Accepted PASS 1.530s
TestGitHubPR_MissingSignature PASS 1.470s
TestGitHubPR_InvalidSignature PASS 2.400s
TestGitHubPR_NonPullRequestEvent PASS 2.610s
TestGitHubPR_DisabledPipeline PASS 1.680s
TestGitHubPR_PipelineNotFound PASS 1.900s
TestGitHubPR_NoWebhookSecret PASS 2.090s
TestGitHubPR_IgnoredAction PASS 1.910s
TestGitHubPR_ExecutorFailure_StillAccepted PASS 1.820s
TestGitHubPR_ExecutorResourceError_PersistsResourceErrorCode PASS 1.880s
TestGitHubPR_InvalidPipelineID PASS 2.090s
TestVikunjaWebhook_ValidHMAC_CreatesRun PASS 1.760s
TestVikunjaWebhook_RealisticPayloadFile PASS 2.360s
TestVikunjaWebhook_InvalidHMAC PASS 1.600s
TestVikunjaWebhook_MissingSignature PASS 2.130s
TestVikunjaWebhook_UniformPreAuthError/project_config_missing PASS 1.890s
TestVikunjaWebhook_UniformPreAuthError/no_enabled_pipeline PASS 2.970s
TestVikunjaWebhook_UniformPreAuthError/webhook_secret_missing PASS 2.850s
TestVikunjaWebhook_UniformPreAuthError/signature_verification_failed PASS 2.360s
TestVikunjaWebhook_UniformPreAuthError PASS 10.080s
TestVikunjaWebhook_MissingEvent PASS 3.130s
TestVikunjaWebhook_MissingTaskID PASS 1.710s
TestVikunjaWebhook_InvalidJSON PASS 1.760s
TestVikunjaWebhook_ProjectConfigNotFound PASS 2.610s
TestVikunjaWebhook_NoEnabledPipeline PASS 1.470s
TestVikunjaWebhook_NoWebhookSecret PASS 2.190s
TestVikunjaWebhook_FirstEnabledPipeline_SecretResolution PASS 1.710s
TestVikunjaWebhook_FirstEnabledTiebreaker_Deterministic PASS 1.930s
TestVikunjaWebhook_StartLanesNotConfigured PASS 1.720s
TestVikunjaWebhook_MalformedLaneConfig_Precise422 PASS 1.740s
TestVikunjaWebhook_TwoStartLanes_BothTrigger PASS 1.570s
TestVikunjaWebhook_NewTaskNonStartLane_NoRun PASS 1.670s
TestVikunjaWebhook_LaneChangeToStartLane_CreatesRun PASS 1.630s
TestVikunjaWebhook_NullLastBucket_TriggersRun PASS 3.210s
TestVikunjaWebhook_SameLane_NoAutoRerun PASS 3.760s
TestVikunjaWebhook_RunningRun_BlocksNewRun PASS 3.520s
TestVikunjaWebhook_PendingRun_BlocksNewRun PASS 2.930s
TestVikunjaWebhook_StateUpdatedOnEveryEvent PASS 2.460s
TestVikunjaWebhookRoute_NoAPIKey_ReachesHMAC PASS 1.780s
TestVikunjaWebhook_StaleEvent_Ignored PASS 1.420s
TestVikunjaWebhook_EqualTime_Accepted PASS 1.510s
TestVikunjaWebhook_NewerEventAfterStale_Works PASS 1.630s
TestVikunjaWebhook_MissingTime_Processed PASS 1.700s
TestVikunjaWebhook_MalformedTime_Processed PASS 1.570s
TestVikunjaWebhook_BodyTooLarge PASS 1.480s
TestVikunjaWebhook_RunNumbers_SequentialPerPipeline PASS 1.310s
TestVikunjaWebhook_ConcurrentSamePipelineRuns_DistinctRunNumbers PASS 1.580s
TestVikunjaWebhook_ExecutorResourceError_PersistsResourceErrorCode PASS 1.710s
TestVikunjaWebhook_StartComment_Posted PASS 1.850s
TestVikunjaWebhook_StartComment_BestEffortOnError PASS 3.660s
TestVikunjaWebhook_TicketContext_MergedIntoSourceMetadata PASS 2.730s
TestVikunjaWebhook_TicketContext_BestEffortOnFetchError PASS 3.300s
TestVikunjaWebhook_TicketContext_SkippedWithoutCredentials/no_vikunja.url_in_project_config PASS 2.720s
keskikuja.site/agent-platform/api/internal/model34 tests0.01s
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
keskikuja.site/agent-platform/api/internal/monitor16 tests35.54s
Test Status Time
TestCheckOne_Connected PASS 1.500s
TestCheckOne_Disconnected PASS 2.220s
TestCheckOne_UpdatesDBStatus PASS 2.110s
TestCheckOne_UpdatesLastCheckedAt PASS 1.750s
TestCheckOne_WithEncryptedToken PASS 1.790s
TestCheckAll_IteratesAllRepos PASS 2.380s
TestCheckOne_WithCorruptToken_ProceedsWithoutToken PASS 2.009s
TestStartStop_RunsUntilCancelled PASS 3.580s
TestStartStop_StopIsIdempotent PASS 2.070s
TestRunWatchdog_JobFailed_MarksRunFailed PASS 1.620s
TestRunWatchdog_JobSucceededWithoutCallback_MarksRunFailed PASS 1.530s
TestRunWatchdog_NoJobTimeout_MarksRunFailed PASS 1.610s
TestRunWatchdog_WithinTimeout_NotModified PASS 2.350s
TestRunWatchdog_AlreadyCompleted_NotModified PASS 1.730s
TestRunWatchdog_StartStop_Lifecycle PASS 1.360s
TestRunWatchdog_JobFailed_MarksFailedAndSyncsVikunja PASS 1.910s
keskikuja.site/agent-platform/api/internal/pipeline2 tests0.01s
Test Status Time
TestMockExecutor_Start PASS 0.000s
TestMockExecutor_Interface PASS 0.000s
keskikuja.site/agent-platform/api/internal/pipeline/k8s62 tests8.59s
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.000s
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.270s
TestStart_SKILL_REPOS_Present PASS 0.220s
TestStart_SKILL_REPOS_AbsentWhenEmpty PASS 0.230s
TestStart_PREnvvars PASS 0.230s
TestStart_TicketEnvVars PASS 0.240s
TestStart_TicketContextEnv PASS 0.230s
TestStart_TicketEmptyBaseBranch PASS 0.220s
TestStart_NoPR PASS 0.600s
TestStart_WithBotToken PASS 1.140s
TestStart_ManifestRepoToken/with_bot_account_token PASS 0.380s
TestStart_ManifestRepoToken/without_bot_account_token PASS 0.590s
TestStart_ManifestRepoToken PASS 0.970s
TestStart_SkillRepoDecryptTokenError PASS 0.640s
TestStart_BranchProfileBaseBranch PASS 0.370s
TestStart_NoBotToken PASS 0.400s
TestStart_DecryptTokenError PASS 0.000s
TestStart_GiteaBaseURLParsing PASS 0.410s
TestStart_RepoURLNoHost PASS 0.000s
TestStart_LangfuseEnvVars PASS 0.380s
TestStart_DefaultNamespace PASS 0.370s
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.260s
TestStart_ImagePullSecretOwnedByJob PASS 0.240s
TestStart_EnvFreeInvariant PASS 0.390s
TestStart_ManifestFetchFails PASS 0.050s
TestStart_PipelineManifestNotFound PASS 0.280s
TestStart_UnknownRegistry PASS 0.170s
TestStart_EnvValueMissingTag PASS 0.220s
keskikuja.site/agent-platform/api/internal/swagger0 tests0.00s
Test Status Time
keskikuja.site/agent-platform/api/internal/vikunja20 tests4.45s
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