fix: final polish — teardown, image pin, license

This commit is contained in:
smartass
2026-06-12 00:49:58 +05:00
parent 7f0b66b18d
commit 5e841e4956
9 changed files with 180 additions and 48 deletions
+27 -13
View File
@@ -14,12 +14,17 @@ import { createRegistry } from '../../src/config/registry.js'
import type { Manager } from '../../src/db/manager.js'
import { createManager } from '../../src/db/manager.js'
// Pinned by digest for wait-strategy stability: the wait below depends on this
// image's '[ls.io-init] done.' log line. Bump deliberately if the log changes.
const SSHD_IMAGE =
'lscr.io/linuxserver/openssh-server@sha256:5b8550a3b703eb4e5efb14a1f491370b7f765febfac5b0b2ed0321cdc74b1476'
describe('ssh tunnel integration', () => {
let network: StartedNetwork
let postgres: StartedPostgreSqlContainer
let sshd: StartedTestContainer
let dir: string
let manager: Manager
let network: StartedNetwork | undefined
let postgres: StartedPostgreSqlContainer | undefined
let sshd: StartedTestContainer | undefined
let dir: string | undefined
let manager: Manager | undefined
beforeAll(async () => {
network = await new Network().start()
@@ -29,7 +34,7 @@ describe('ssh tunnel integration', () => {
.withNetworkAliases('db')
.start()
sshd = await new GenericContainer('lscr.io/linuxserver/openssh-server:latest')
sshd = await new GenericContainer(SSHD_IMAGE)
.withNetwork(network)
.withEnvironment({
PUID: '1000',
@@ -70,21 +75,30 @@ describe('ssh tunnel integration', () => {
})
afterAll(async () => {
await manager.disposeAll()
await sshd.stop()
await postgres.stop()
await network.stop()
rmSync(dir, { recursive: true, force: true })
await manager?.disposeAll().catch(() => {})
await sshd?.stop().catch(() => {})
await postgres?.stop().catch(() => {})
await network?.stop().catch(() => {})
if (dir) {
rmSync(dir, { recursive: true, force: true })
}
})
const db = (): Manager => {
if (!manager) {
throw new Error('setup failed: manager not initialized')
}
return manager
}
it('queries postgres through the ssh tunnel', async () => {
const { driver } = await manager.get('pg-tunneled')
const { driver } = await db().get('pg-tunneled')
const result = await driver.query({ sql: 'SELECT 1 + 1', rowLimit: 10 })
expect(result.rows).toEqual([[2]])
})
it('reports server version through the tunnel', async () => {
const { driver } = await manager.get('pg-tunneled')
const { driver } = await db().get('pg-tunneled')
expect(await driver.serverVersion()).toMatch(/^17\./)
})
})