Skip to content

feat: PostgreSQL sink backend #10409

feat: PostgreSQL sink backend

feat: PostgreSQL sink backend #10409

Triggered via pull request August 24, 2026 12:59
@dcoricdcoric
synchronize #1687
feat/postgres
Status Failure
Total duration 7m 29s
Artifacts

ci.yml

on: pull_request
Matrix: build-ubuntu
build-windows
7m 7s
build-windows
build result
14s
build result
Fit to window
Zoom out
Zoom in

Annotations

60 errors
build-ubuntu (24.x, 6.0)
Process completed with exit code 1.
test/db/postgres/users.integration.test.ts > PostgreSQL Users Integration Tests > getUsers > filters by email (lowercased): src/db/postgres/helper.ts#L93
error: duplicate key value violates unique constraint "pg_type_typname_nsp_index" ❯ node_modules/pg-pool/index.js:45:11 ❯ bootstrapAppSchema src/db/postgres/helper.ts:93:3 ❯ connect src/db/postgres/helper.ts:112:3 ❯ query src/db/postgres/helper.ts:120:16 ❯ createUser src/db/postgres/users.ts:106:3 ❯ test/db/postgres/users.integration.test.ts:135:7 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { length: 245, severity: 'ERROR', code: '23505', detail: 'Key (typname, typnamespace)=(users, 2200) already exists.', hint: undefined, position: undefined, internalPosition: undefined, internalQuery: undefined, where: undefined, schema: 'pg_catalog', table: 'pg_type', dataType: undefined, constraint: 'pg_type_typname_nsp_index', file: 'nbtinsert.c', routine: '_bt_check_unique' }
test/db/postgres/users.integration.test.ts > PostgreSQL Users Integration Tests > getUsers > retrieves users without their password: test/db/postgres/users.integration.test.ts#L117
AssertionError: expected 0 to be greater than or equal to 2 ❯ test/db/postgres/users.integration.test.ts:117:29
test/db/postgres/users.integration.test.ts > PostgreSQL Users Integration Tests > createUser > lowercases username and email on insert: src/db/postgres/helper.ts#L93
error: duplicate key value violates unique constraint "pg_type_typname_nsp_index" ❯ node_modules/pg-pool/index.js:45:11 ❯ bootstrapAppSchema src/db/postgres/helper.ts:93:3 ❯ connect src/db/postgres/helper.ts:112:3 ❯ query src/db/postgres/helper.ts:120:16 ❯ createUser src/db/postgres/users.ts:106:3 ❯ test/db/postgres/users.integration.test.ts:53:7 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { length: 245, severity: 'ERROR', code: '23505', detail: 'Key (typname, typnamespace)=(users, 2200) already exists.', hint: undefined, position: undefined, internalPosition: undefined, internalQuery: undefined, where: undefined, schema: 'pg_catalog', table: 'pg_type', dataType: undefined, constraint: 'pg_type_typname_nsp_index', file: 'nbtinsert.c', routine: '_bt_check_unique' }
test/db/postgres/repo.integration.test.ts > PostgreSQL Repo Integration Tests > permission JSONB > keeps other users intact when removing one: test/db/postgres/repo.integration.test.ts#L160
AssertionError: expected undefined to deeply equal [ 'bob' ] - Expected: [ "bob", ] + Received: undefined ❯ test/db/postgres/repo.integration.test.ts:160:37
test/db/postgres/repo.integration.test.ts > PostgreSQL Repo Integration Tests > permission JSONB > removes the last user, leaving an empty array (NOT null): test/db/postgres/repo.integration.test.ts#L131
AssertionError: expected undefined to deeply equal [] - Expected: [] + Received: undefined ❯ test/db/postgres/repo.integration.test.ts:131:37
test/db/postgres/repo.integration.test.ts > PostgreSQL Repo Integration Tests > permission JSONB > adds a user without duplication: test/db/postgres/repo.integration.test.ts#L117
AssertionError: expected undefined to deeply equal [ 'alice' ] - Expected: [ "alice", ] + Received: undefined ❯ test/db/postgres/repo.integration.test.ts:117:37
test/db/postgres/repo.integration.test.ts > PostgreSQL Repo Integration Tests > getRepos > returns the seeded repos: test/db/postgres/repo.integration.test.ts#L93
AssertionError: expected [ 'list-2' ] to deeply equal ArrayContaining ["list-1", "list-2"] - Expected + Received - ArrayContaining [ - "list-1", + [ "list-2", ] ❯ test/db/postgres/repo.integration.test.ts:93:21
test/db/postgres/pushes.integration.test.ts > PostgreSQL Pushes Integration Tests > authorise > authorises a push and resets cancel/reject flags: src/db/postgres/pushes.ts#L247
Error: push authorise-test not found ❯ authorise src/db/postgres/pushes.ts:247:11 ❯ test/db/postgres/pushes.integration.test.ts:193:22
test/db/postgres/pushes.integration.test.ts > PostgreSQL Pushes Integration Tests > getPushes > does not leak _id: src/db/postgres/helper.ts#L93
error: deadlock detected ❯ node_modules/pg-pool/index.js:45:11 ❯ bootstrapAppSchema src/db/postgres/helper.ts:93:3 ❯ connect src/db/postgres/helper.ts:112:3 ❯ query src/db/postgres/helper.ts:120:16 ❯ writeAudit src/db/postgres/pushes.ts:210:3 ❯ test/db/postgres/pushes.integration.test.ts:122:7 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { length: 321, severity: 'ERROR', code: '40P01', detail: 'Process 225 waits for AccessExclusiveLock on relation 16407 of database 16384; blocked by process 186.\nProcess 186 waits for AccessExclusiveLock on relation 16389 of database 16384; blocked by process 225.', hint: 'See server log for query details.', position: undefined, internalPosition: undefined, internalQuery: undefined, where: undefined, schema: undefined, table: undefined, dataType: undefined, constraint: undefined, file: 'deadlock.c', routine: 'DeadLockReport' }
test/db/postgres/users.integration.test.ts > PostgreSQL Users Integration Tests > createUser > lowercases username and email on insert: src/db/postgres/helper.ts#L93
error: duplicate key value violates unique constraint "pg_type_typname_nsp_index" ❯ node_modules/pg-pool/index.js:45:11 ❯ bootstrapAppSchema src/db/postgres/helper.ts:93:3 ❯ connect src/db/postgres/helper.ts:112:3 ❯ query src/db/postgres/helper.ts:120:16 ❯ createUser src/db/postgres/users.ts:106:3 ❯ test/db/postgres/users.integration.test.ts:53:7 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { length: 245, severity: 'ERROR', code: '23505', detail: 'Key (typname, typnamespace)=(users, 2200) already exists.', hint: undefined, position: undefined, internalPosition: undefined, internalQuery: undefined, where: undefined, schema: 'pg_catalog', table: 'pg_type', dataType: undefined, constraint: 'pg_type_typname_nsp_index', file: 'nbtinsert.c', routine: '_bt_check_unique' }
test/db/postgres/repo.integration.test.ts > PostgreSQL Repo Integration Tests > permission JSONB > applies the same invariant to canAuthorise: test/db/postgres/repo.integration.test.ts#L145
AssertionError: expected undefined to deeply equal [] - Expected: [] + Received: undefined ❯ test/db/postgres/repo.integration.test.ts:145:42
test/db/postgres/repo.integration.test.ts > PostgreSQL Repo Integration Tests > permission JSONB > removes the last user, leaving an empty array (NOT null): test/db/postgres/repo.integration.test.ts#L131
AssertionError: expected undefined to deeply equal [] - Expected: [] + Received: undefined ❯ test/db/postgres/repo.integration.test.ts:131:37
test/db/postgres/repo.integration.test.ts > PostgreSQL Repo Integration Tests > permission JSONB > adds a user without duplication: test/db/postgres/repo.integration.test.ts#L117
AssertionError: expected undefined to deeply equal [ 'alice' ] - Expected: [ "alice", ] + Received: undefined ❯ test/db/postgres/repo.integration.test.ts:117:37
test/db/postgres/repo.integration.test.ts > PostgreSQL Repo Integration Tests > getRepos > returns the seeded repos: test/db/postgres/repo.integration.test.ts#L93
AssertionError: expected [ 'list-2' ] to deeply equal ArrayContaining ["list-1", "list-2"] - Expected + Received - ArrayContaining [ - "list-1", + [ "list-2", ] ❯ test/db/postgres/repo.integration.test.ts:93:21
test/db/postgres/repo.integration.test.ts > PostgreSQL Repo Integration Tests > getRepo / getRepoByUrl / getRepoById > finds by _id: test/db/postgres/repo.integration.test.ts#L77
AssertionError: expected undefined to be 'https://example.com/id-test.git' // Object.is equality - Expected: "https://example.com/id-test.git" + Received: undefined ❯ test/db/postgres/repo.integration.test.ts:77:27
test/db/postgres/pushes.integration.test.ts > PostgreSQL Pushes Integration Tests > authorise > throws for a non-existent push: test/db/postgres/pushes.integration.test.ts#L204
AssertionError: expected [Function] to throw error including 'push non-existent not found' but got 'duplicate key value violates unique c…' Expected: "push non-existent not found" Received: "duplicate key value violates unique constraint "pg_type_typname_nsp_index"" ❯ test/db/postgres/pushes.integration.test.ts:204:58
test/db/postgres/pushes.integration.test.ts > PostgreSQL Pushes Integration Tests > authorise > authorises a push and resets cancel/reject flags: src/db/postgres/pushes.ts#L210
error: relation "pushes" does not exist ❯ node_modules/pg-pool/index.js:45:11 ❯ writeAudit src/db/postgres/pushes.ts:210:3 ❯ test/db/postgres/pushes.integration.test.ts:191:7 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { length: 105, severity: 'ERROR', code: '42P01', detail: undefined, hint: undefined, position: '13', internalPosition: undefined, internalQuery: undefined, where: undefined, schema: undefined, table: undefined, dataType: undefined, constraint: undefined, file: 'parse_relation.c', routine: 'parserOpenTable' }
test/db/postgres/pushes.integration.test.ts > PostgreSQL Pushes Integration Tests > getPushes > orders pushes by timestamp DESC: test/db/postgres/pushes.integration.test.ts#L151
AssertionError: expected [ 'push-authorised', 'push-b' ] to deeply equal [ 'push-authorised', 'push-b', …(1) ] - Expected + Received [ "push-authorised", "push-b", - "push-a", ] ❯ test/db/postgres/pushes.integration.test.ts:151:19
test/db/postgres/users.integration.test.ts > PostgreSQL Users Integration Tests > createUser > lowercases username and email on insert: test/db/postgres/users.integration.test.ts#L56
AssertionError: expected undefined to be 'createuser' // Object.is equality - Expected: "createuser" + Received: undefined ❯ test/db/postgres/users.integration.test.ts:56:31
test/db/postgres/repo.integration.test.ts > PostgreSQL Repo Integration Tests > permission JSONB > applies the same invariant to canAuthorise: test/db/postgres/repo.integration.test.ts#L145
AssertionError: expected undefined to deeply equal [] - Expected: [] + Received: undefined ❯ test/db/postgres/repo.integration.test.ts:145:42
test/db/postgres/repo.integration.test.ts > PostgreSQL Repo Integration Tests > permission JSONB > removes the last user, leaving an empty array (NOT null): test/db/postgres/repo.integration.test.ts#L131
AssertionError: expected undefined to deeply equal [] - Expected: [] + Received: undefined ❯ test/db/postgres/repo.integration.test.ts:131:37
test/db/postgres/repo.integration.test.ts > PostgreSQL Repo Integration Tests > permission JSONB > adds a user without duplication: test/db/postgres/repo.integration.test.ts#L117
AssertionError: expected undefined to deeply equal [ 'alice' ] - Expected: [ "alice", ] + Received: undefined ❯ test/db/postgres/repo.integration.test.ts:117:37
test/db/postgres/repo.integration.test.ts > PostgreSQL Repo Integration Tests > getRepos > returns the seeded repos: test/db/postgres/repo.integration.test.ts#L93
AssertionError: expected [ 'list-2' ] to deeply equal ArrayContaining ["list-1", "list-2"] - Expected + Received - ArrayContaining [ - "list-1", + [ "list-2", ] ❯ test/db/postgres/repo.integration.test.ts:93:21
test/db/postgres/repo.integration.test.ts > PostgreSQL Repo Integration Tests > getRepo / getRepoByUrl / getRepoById > returns null when nothing matches: src/db/postgres/helper.ts#L93
error: deadlock detected ❯ node_modules/pg-pool/index.js:45:11 ❯ bootstrapAppSchema src/db/postgres/helper.ts:93:3 ❯ connect src/db/postgres/helper.ts:112:3 ❯ query src/db/postgres/helper.ts:120:16 ❯ getRepo src/db/postgres/repo.ts:69:18 ❯ test/db/postgres/repo.integration.test.ts:81:14 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { length: 311, severity: 'ERROR', code: '40P01', detail: 'Process 244 waits for ShareLock on relation 16417 of database 16384; blocked by process 224.\nProcess 224 waits for AccessExclusiveLock on relation 16404 of database 16384; blocked by process 244.', hint: 'See server log for query details.', position: undefined, internalPosition: undefined, internalQuery: undefined, where: undefined, schema: undefined, table: undefined, dataType: undefined, constraint: undefined, file: 'deadlock.c', routine: 'DeadLockReport' }
test/db/postgres/pushes.integration.test.ts > PostgreSQL Pushes Integration Tests > authorise > authorises a push and resets cancel/reject flags: src/db/postgres/helper.ts#L93
error: duplicate key value violates unique constraint "pg_type_typname_nsp_index" ❯ node_modules/pg-pool/index.js:45:11 ❯ bootstrapAppSchema src/db/postgres/helper.ts:93:3 ❯ connect src/db/postgres/helper.ts:112:3 ❯ query src/db/postgres/helper.ts:120:16 ❯ writeAudit src/db/postgres/pushes.ts:210:3 ❯ test/db/postgres/pushes.integration.test.ts:191:7 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { length: 245, severity: 'ERROR', code: '23505', detail: 'Key (typname, typnamespace)=(users, 2200) already exists.', hint: undefined, position: undefined, internalPosition: undefined, internalQuery: undefined, where: undefined, schema: 'pg_catalog', table: 'pg_type', dataType: undefined, constraint: 'pg_type_typname_nsp_index', file: 'nbtinsert.c', routine: '_bt_check_unique' }
test/db/postgres/pushes.integration.test.ts > PostgreSQL Pushes Integration Tests > deletePush > does not throw when deleting a non-existent push: test/db/postgres/pushes.integration.test.ts#L179
AssertionError: promise rejected "error: relation "pushes" does not exist { …(15) }" instead of resolving ❯ test/db/postgres/pushes.integration.test.ts:179:46 Caused by: Caused by: error: relation "pushes" does not exist ❯ node_modules/pg-pool/index.js:45:11 ❯ bootstrapAppSchema src/db/postgres/helper.ts:93:3 ❯ connect src/db/postgres/helper.ts:112:3 ❯ query src/db/postgres/helper.ts:120:16 ❯ deletePush src/db/postgres/pushes.ts:197:3 ❯ test/db/postgres/pushes.integration.test.ts:179:7 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { length: 104, severity: 'ERROR', code: '42P01', detail: undefined, hint: undefined, position: undefined, internalPosition: undefined, internalQuery: undefined, where: undefined, schema: undefined, table: undefined, dataType: undefined, constraint: undefined, file: 'namespace.c', routine: 'RangeVarGetRelidExtended' }
test/db/postgres/pushes.integration.test.ts > PostgreSQL Pushes Integration Tests > getPushes > orders pushes by timestamp DESC: test/db/postgres/pushes.integration.test.ts#L151
AssertionError: expected [] to deeply equal [ 'push-authorised', 'push-b', …(1) ] - Expected + Received - [ - "push-authorised", - "push-b", - "push-a", - ] + [] ❯ test/db/postgres/pushes.integration.test.ts:151:19
build-ubuntu (22.x, 7.0)
Process completed with exit code 1.
test/db/postgres/users.integration.test.ts > PostgreSQL Users Integration Tests > findUser > finds a user by username (case-insensitive): test/db/postgres/users.integration.test.ts#L65
AssertionError: expected undefined to be 'findme' // Object.is equality - Expected: "findme" + Received: undefined ❯ test/db/postgres/users.integration.test.ts:65:32
test/db/postgres/users.integration.test.ts > PostgreSQL Users Integration Tests > createUser > lowercases username and email on insert: src/db/postgres/helper.ts#L93
error: duplicate key value violates unique constraint "pg_type_typname_nsp_index" ❯ node_modules/pg-pool/index.js:45:11 ❯ bootstrapAppSchema src/db/postgres/helper.ts:93:3 ❯ connect src/db/postgres/helper.ts:112:3 ❯ query src/db/postgres/helper.ts:120:16 ❯ createUser src/db/postgres/users.ts:106:3 ❯ test/db/postgres/users.integration.test.ts:53:7 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { length: 245, severity: 'ERROR', code: '23505', detail: 'Key (typname, typnamespace)=(users, 2200) already exists.', hint: undefined, position: undefined, internalPosition: undefined, internalQuery: undefined, where: undefined, schema: 'pg_catalog', table: 'pg_type', dataType: undefined, constraint: 'pg_type_typname_nsp_index', file: 'nbtinsert.c', routine: '_bt_check_unique' }
test/db/postgres/repo.integration.test.ts > PostgreSQL Repo Integration Tests > permission JSONB > applies the same invariant to canAuthorise: test/db/postgres/repo.integration.test.ts#L145
AssertionError: expected undefined to deeply equal [] - Expected: [] + Received: undefined ❯ test/db/postgres/repo.integration.test.ts:145:42
test/db/postgres/repo.integration.test.ts > PostgreSQL Repo Integration Tests > permission JSONB > adds a user without duplication: test/db/postgres/repo.integration.test.ts#L117
AssertionError: expected undefined to deeply equal [ 'alice' ] - Expected: [ "alice", ] + Received: undefined ❯ test/db/postgres/repo.integration.test.ts:117:37
test/db/postgres/pushes.integration.test.ts > PostgreSQL Pushes Integration Tests > authorise > authorises a push and resets cancel/reject flags: src/db/postgres/helper.ts#L93
error: duplicate key value violates unique constraint "pg_type_typname_nsp_index" ❯ node_modules/pg-pool/index.js:45:11 ❯ bootstrapAppSchema src/db/postgres/helper.ts:93:3 ❯ connect src/db/postgres/helper.ts:112:3 ❯ query src/db/postgres/helper.ts:120:16 ❯ writeAudit src/db/postgres/pushes.ts:210:3 ❯ test/db/postgres/pushes.integration.test.ts:191:7 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { length: 245, severity: 'ERROR', code: '23505', detail: 'Key (typname, typnamespace)=(users, 2200) already exists.', hint: undefined, position: undefined, internalPosition: undefined, internalQuery: undefined, where: undefined, schema: 'pg_catalog', table: 'pg_type', dataType: undefined, constraint: 'pg_type_typname_nsp_index', file: 'nbtinsert.c', routine: '_bt_check_unique' }
test/db/postgres/pushes.integration.test.ts > PostgreSQL Pushes Integration Tests > deletePush > does not throw when deleting a non-existent push: test/db/postgres/pushes.integration.test.ts#L179
AssertionError: promise rejected "error: relation "pushes" does not exist { …(15) }" instead of resolving ❯ test/db/postgres/pushes.integration.test.ts:179:46 Caused by: Caused by: error: relation "pushes" does not exist ❯ node_modules/pg-pool/index.js:45:11 ❯ bootstrapAppSchema src/db/postgres/helper.ts:93:3 ❯ connect src/db/postgres/helper.ts:112:3 ❯ query src/db/postgres/helper.ts:120:16 ❯ deletePush src/db/postgres/pushes.ts:197:3 ❯ test/db/postgres/pushes.integration.test.ts:179:7 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { length: 104, severity: 'ERROR', code: '42P01', detail: undefined, hint: undefined, position: undefined, internalPosition: undefined, internalQuery: undefined, where: undefined, schema: undefined, table: undefined, dataType: undefined, constraint: undefined, file: 'namespace.c', routine: 'RangeVarGetRelidExtended' }
test/db/postgres/users.integration.test.ts > PostgreSQL Users Integration Tests > getUsers > filters by email (lowercased): test/db/postgres/users.integration.test.ts#L139
AssertionError: expected +0 to be 1 // Object.is equality - Expected + Received - 1 + 0 ❯ test/db/postgres/users.integration.test.ts:139:29
test/db/postgres/users.integration.test.ts > PostgreSQL Users Integration Tests > getUsers > retrieves users without their password: test/db/postgres/users.integration.test.ts#L117
AssertionError: expected 0 to be greater than or equal to 2 ❯ test/db/postgres/users.integration.test.ts:117:29
test/db/postgres/users.integration.test.ts > PostgreSQL Users Integration Tests > findUserByEmail > finds a user by email (case-insensitive): test/db/postgres/users.integration.test.ts#L77
AssertionError: expected undefined to be 'findbyemail@test.com' // Object.is equality - Expected: "findbyemail@test.com" + Received: undefined ❯ test/db/postgres/users.integration.test.ts:77:29
test/db/postgres/users.integration.test.ts > PostgreSQL Users Integration Tests > findUser > finds a user by username (case-insensitive): src/db/postgres/helper.ts#L93
error: deadlock detected ❯ node_modules/pg-pool/index.js:45:11 ❯ bootstrapAppSchema src/db/postgres/helper.ts:93:3 ❯ connect src/db/postgres/helper.ts:112:3 ❯ query src/db/postgres/helper.ts:120:16 ❯ createUser src/db/postgres/users.ts:106:3 ❯ test/db/postgres/users.integration.test.ts:63:7 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { length: 311, severity: 'ERROR', code: '40P01', detail: 'Process 259 waits for ShareLock on relation 16420 of database 16384; blocked by process 256.\nProcess 256 waits for AccessExclusiveLock on relation 16404 of database 16384; blocked by process 259.', hint: 'See server log for query details.', position: undefined, internalPosition: undefined, internalQuery: undefined, where: undefined, schema: undefined, table: undefined, dataType: undefined, constraint: undefined, file: 'deadlock.c', routine: 'DeadLockReport' }
test/db/postgres/users.integration.test.ts > PostgreSQL Users Integration Tests > createUser > lowercases username and email on insert: src/db/postgres/helper.ts#L93
error: duplicate key value violates unique constraint "pg_type_typname_nsp_index" ❯ node_modules/pg-pool/index.js:45:11 ❯ bootstrapAppSchema src/db/postgres/helper.ts:93:3 ❯ connect src/db/postgres/helper.ts:112:3 ❯ query src/db/postgres/helper.ts:120:16 ❯ createUser src/db/postgres/users.ts:106:3 ❯ test/db/postgres/users.integration.test.ts:53:7 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { length: 245, severity: 'ERROR', code: '23505', detail: 'Key (typname, typnamespace)=(users, 2200) already exists.', hint: undefined, position: undefined, internalPosition: undefined, internalQuery: undefined, where: undefined, schema: 'pg_catalog', table: 'pg_type', dataType: undefined, constraint: 'pg_type_typname_nsp_index', file: 'nbtinsert.c', routine: '_bt_check_unique' }
test/db/postgres/repo.integration.test.ts > PostgreSQL Repo Integration Tests > getRepos > returns the seeded repos: test/db/postgres/repo.integration.test.ts#L93
AssertionError: expected [ 'list-2' ] to deeply equal ArrayContaining ["list-1", "list-2"] - Expected + Received - ArrayContaining [ - "list-1", + [ "list-2", ] ❯ test/db/postgres/repo.integration.test.ts:93:21
test/db/postgres/pushes.integration.test.ts > PostgreSQL Pushes Integration Tests > authorise > authorises a push and resets cancel/reject flags: src/db/postgres/pushes.ts#L247
Error: push authorise-test not found ❯ authorise src/db/postgres/pushes.ts:247:11 ❯ test/db/postgres/pushes.integration.test.ts:193:22
test/db/postgres/pushes.integration.test.ts > PostgreSQL Pushes Integration Tests > getPushes > orders pushes by timestamp DESC: test/db/postgres/pushes.integration.test.ts#L151
AssertionError: expected [] to deeply equal [ 'push-authorised', 'push-b', …(1) ] - Expected + Received - [ - "push-authorised", - "push-b", - "push-a", - ] + [] ❯ test/db/postgres/pushes.integration.test.ts:151:19
test/db/postgres/pushes.integration.test.ts > PostgreSQL Pushes Integration Tests > getPush > returns an Action instance: test/db/postgres/pushes.integration.test.ts#L114
TypeError: Cannot convert undefined or null to object ❯ test/db/postgres/pushes.integration.test.ts:114:21
test/db/postgres/users.integration.test.ts > PostgreSQL Users Integration Tests > updateUser > updates by username and lowercases new fields: src/db/postgres/helper.ts#L93
error: relation "pushes" does not exist ❯ node_modules/pg-pool/index.js:45:11 ❯ bootstrapAppSchema src/db/postgres/helper.ts:93:3 ❯ connect src/db/postgres/helper.ts:112:3 ❯ query src/db/postgres/helper.ts:120:16 ❯ createUser src/db/postgres/users.ts:106:3 ❯ test/db/postgres/users.integration.test.ts:146:7 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { length: 104, severity: 'ERROR', code: '42P01', detail: undefined, hint: undefined, position: undefined, internalPosition: undefined, internalQuery: undefined, where: undefined, schema: undefined, table: undefined, dataType: undefined, constraint: undefined, file: 'namespace.c', routine: 'RangeVarGetRelidExtended' }
test/db/postgres/users.integration.test.ts > PostgreSQL Users Integration Tests > getUsers > filters by username (lowercased): test/db/postgres/users.integration.test.ts#L130
AssertionError: expected +0 to be 1 // Object.is equality - Expected + Received - 1 + 0 ❯ test/db/postgres/users.integration.test.ts:130:29
test/db/postgres/users.integration.test.ts > PostgreSQL Users Integration Tests > findUserByOIDC > finds a user by OIDC ID: test/db/postgres/users.integration.test.ts#L102
AssertionError: expected undefined to be 'oidc-1787576654595' // Object.is equality - Expected: "oidc-1787576654595" + Received: undefined ❯ test/db/postgres/users.integration.test.ts:102:30
test/db/postgres/users.integration.test.ts > PostgreSQL Users Integration Tests > findUserByEmail > returns null for a non-existent email: src/db/postgres/helper.ts#L93
error: deadlock detected ❯ node_modules/pg-pool/index.js:45:11 ❯ bootstrapAppSchema src/db/postgres/helper.ts:93:3 ❯ connect src/db/postgres/helper.ts:112:3 ❯ query src/db/postgres/helper.ts:120:16 ❯ findUserByEmail src/db/postgres/users.ts:62:18 ❯ test/db/postgres/users.integration.test.ts:81:14 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { length: 311, severity: 'ERROR', code: '40P01', detail: 'Process 274 waits for ShareLock on relation 16420 of database 16384; blocked by process 265.\nProcess 265 waits for AccessExclusiveLock on relation 16407 of database 16384; blocked by process 274.', hint: 'See server log for query details.', position: undefined, internalPosition: undefined, internalQuery: undefined, where: undefined, schema: undefined, table: undefined, dataType: undefined, constraint: undefined, file: 'deadlock.c', routine: 'DeadLockReport' }
test/db/postgres/repo.integration.test.ts > PostgreSQL Repo Integration Tests > permission JSONB > keeps other users intact when removing one: test/db/postgres/repo.integration.test.ts#L160
AssertionError: expected undefined to deeply equal [ 'bob' ] - Expected: [ "bob", ] + Received: undefined ❯ test/db/postgres/repo.integration.test.ts:160:37
test/db/postgres/repo.integration.test.ts > PostgreSQL Repo Integration Tests > permission JSONB > applies the same invariant to canAuthorise: test/db/postgres/repo.integration.test.ts#L145
AssertionError: expected undefined to deeply equal [] - Expected: [] + Received: undefined ❯ test/db/postgres/repo.integration.test.ts:145:42
test/db/postgres/repo.integration.test.ts > PostgreSQL Repo Integration Tests > permission JSONB > removes the last user, leaving an empty array (NOT null): test/db/postgres/repo.integration.test.ts#L131
AssertionError: expected undefined to deeply equal [] - Expected: [] + Received: undefined ❯ test/db/postgres/repo.integration.test.ts:131:37
test/db/postgres/repo.integration.test.ts > PostgreSQL Repo Integration Tests > createRepo > persists the row and stamps a generated _id: src/db/postgres/helper.ts#L93
error: duplicate key value violates unique constraint "pg_type_typname_nsp_index" ❯ node_modules/pg-pool/index.js:45:11 ❯ bootstrapAppSchema src/db/postgres/helper.ts:93:3 ❯ connect src/db/postgres/helper.ts:112:3 ❯ query src/db/postgres/helper.ts:120:16 ❯ createRepo src/db/postgres/repo.ts:90:18 ❯ test/db/postgres/repo.integration.test.ts:48:23 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { length: 245, severity: 'ERROR', code: '23505', detail: 'Key (typname, typnamespace)=(users, 2200) already exists.', hint: undefined, position: undefined, internalPosition: undefined, internalQuery: undefined, where: undefined, schema: 'pg_catalog', table: 'pg_type', dataType: undefined, constraint: 'pg_type_typname_nsp_index', file: 'nbtinsert.c', routine: '_bt_check_unique' }
test/db/postgres/pushes.integration.test.ts > PostgreSQL Pushes Integration Tests > getPushes > filters by authorised flag: test/db/postgres/pushes.integration.test.ts#L157
AssertionError: expected undefined to be defined ❯ test/db/postgres/pushes.integration.test.ts:157:30
build-windows
Process completed with exit code 1.
build result
Process completed with exit code 1.