Files
xinmi/scripts/workbench_acceptance_runtime.test.cjs
yawan f7fc992f57
Anydoc / anydoc parser engine (push) Canceled after 0s
App / Format, vet, test, and build (push) Canceled after 0s
CLI / test (macos-latest / go 1.26) (push) Canceled after 0s
CLI / test (ubuntu-latest / go 1.26) (push) Canceled after 0s
CLI / test (windows-latest / go 1.26) (push) Canceled after 0s
Build and Push Docker Image / build-ui (push) Canceled after 0s
Build and Push Docker Image / build-docreader (push) Canceled after 0s
Build and Push Docker Image / build-sandbox (push) Canceled after 0s
Build and Push Docker Image / build-app (amd64, linux/amd64, ubuntu-latest) (push) Canceled after 0s
Build and Push Docker Image / build-app (arm64, linux/arm64, ubuntu-24.04-arm) (push) Canceled after 0s
DocReader / Python tests and Go client tests (push) Canceled after 0s
Build & Publish (dsh-weknora) / Typecheck, test, pack (push) Canceled after 0s
Build & Publish (dsh-weknora) / End-to-end inside dsh (pinned) (push) Canceled after 0s
Build & Publish (dsh-weknora) / End-to-end inside dsh (latest, advisory) (push) Canceled after 0s
Frontend / Test, type-check, and build (push) Canceled after 0s
Go Lint Cache / warm lint cache (.) (push) Canceled after 0s
Go Lint Cache / warm lint cache (cli) (push) Canceled after 0s
Go Lint Cache / warm lint cache (client) (push) Canceled after 0s
Build & Publish (mcp-server) / Test (Python 3.10) (push) Canceled after 0s
Build & Publish (mcp-server) / Test (Python 3.11) (push) Canceled after 0s
Build & Publish (mcp-server) / Test (Python 3.12) (push) Canceled after 0s
Build & Publish (mcp-server) / Test (Python 3.13) (push) Canceled after 0s
Build and Push Docker Image / merge (push) Canceled after 0s
Build & Publish (dsh-weknora) / Publish to npm (push) Canceled after 0s
Build & Publish (mcp-server) / Build sdist + wheel (push) Canceled after 0s
Build & Publish (mcp-server) / Publish to PyPI (push) Canceled after 0s
WeKnora deployment source with the reviewed wiki identity, summary and recovery fixes
2026-09-22 16:19:06 +08:00

81 lines
4.3 KiB
JavaScript

const assert = require('node:assert/strict')
const test = require('node:test')
const { parseEnvironment, resolveMilvusCollection, buildAcceptanceEnvironment } = require('./workbench_acceptance_runtime.cjs')
test('defaults to Milvus with separate acceptance storage and credentials', () => {
const production = Object.freeze({
RETRIEVE_DRIVER: 'postgres', MILVUS_COLLECTION: 'production',
DB_NAME: 'production_db', JWT_SECRET: 'production-secret', MILVUS_ADDRESS: 'milvus:19530',
})
const env = buildAcceptanceEnvironment(production, {}, {}, 'acceptance-secret')
assert.equal(env.RETRIEVE_DRIVER, 'milvus')
assert.equal(env.MILVUS_COLLECTION, 'yawan_acceptance_hybrid')
assert.equal(env.MILVUS_ADDRESS, production.MILVUS_ADDRESS)
assert.equal(env.DB_NAME, 'yawan_native_acceptance_20260915')
assert.equal(env.REDIS_DB, '14')
assert.equal(env.JWT_SECRET, 'acceptance-secret')
assert.equal(env.DISABLE_REGISTRATION, 'true')
assert.equal(production.MILVUS_COLLECTION, 'production')
})
test('accepts a separate collection and explicit retrieve driver override', () => {
const env = buildAcceptanceEnvironment({ MILVUS_COLLECTION: 'production' }, {}, {
ACCEPTANCE_MILVUS_COLLECTION: 'custom_acceptance', ACCEPTANCE_RETRIEVE_DRIVER: 'postgres',
}, 'test-secret')
assert.equal(env.MILVUS_COLLECTION, 'custom_acceptance')
assert.equal(env.RETRIEVE_DRIVER, 'postgres')
})
test('rejects the production prefix and all dimension-specific names', () => {
for (const value of ['production', 'production_768', 'production_1536', 'production_0001']) {
assert.throws(() => resolveMilvusCollection('production', value), /isolated/)
}
assert.throws(() => resolveMilvusCollection('production_768', 'production'), /isolated/)
assert.equal(resolveMilvusCollection('production', 'production_acceptance'), 'production_acceptance')
})
test('also protects the implicit production prefix and a conflicting default', () => {
assert.throws(() => resolveMilvusCollection(undefined, 'weknora_embeddings'), /isolated/)
assert.throws(() => resolveMilvusCollection('', 'weknora_embeddings_1024'), /isolated/)
assert.throws(() => resolveMilvusCollection('yawan_acceptance_hybrid'), /isolated/)
})
test('rejects invalid collection values without echoing their contents', () => {
const value = 'invalid\nJWT_SECRET=private-test-secret'
assert.throws(() => resolveMilvusCollection('production', value), error => {
assert.match(error.message, /valid Milvus collection prefix/)
assert.ok(!error.message.includes(value))
assert.ok(!error.message.includes('private-test-secret'))
return true
})
})
test('reuses the runtime JWT secret across restarts while refreshing production settings', () => {
const previous = parseEnvironment('# Runtime environment\r\nJWT_SECRET=previous-secret==\r\nRETRIEVE_DRIVER=postgres\r\nMILVUS_COLLECTION=production\r\n')
const first = buildAcceptanceEnvironment({ MILVUS_ADDRESS: 'new-host:19530' }, previous, {}, 'unused-secret')
const restart = buildAcceptanceEnvironment({}, first, {}, 'another-unused-secret')
assert.equal(first.JWT_SECRET, 'previous-secret==')
assert.equal(restart.JWT_SECRET, first.JWT_SECRET)
assert.equal(first.MILVUS_ADDRESS, 'new-host:19530')
assert.equal(first.RETRIEVE_DRIVER, 'milvus')
assert.equal(first.MILVUS_COLLECTION, 'yawan_acceptance_hybrid')
})
test('never falls back to the production JWT secret', () => {
assert.throws(() => buildAcceptanceEnvironment({ JWT_SECRET: 'production-secret' }), /first start/)
assert.equal(buildAcceptanceEnvironment({ JWT_SECRET: 'production-secret' }, { JWT_SECRET: '' }, {}, 'new-secret').JWT_SECRET, 'new-secret')
})
test('admin bootstrap is acceptance-specific and persists across restarts', () => {
const production = { WEKNORA_BOOTSTRAP_SYSTEM_ADMIN_EMAIL: 'production@example.test', DISABLE_REGISTRATION: 'false' }
const initial = buildAcceptanceEnvironment(production, {}, {}, 'secret')
assert.equal(initial.WEKNORA_BOOTSTRAP_SYSTEM_ADMIN_EMAIL, '')
assert.equal(initial.DISABLE_REGISTRATION, 'true')
const configured = buildAcceptanceEnvironment(production, initial, {
ACCEPTANCE_BOOTSTRAP_SYSTEM_ADMIN_EMAIL: 'acceptance@example.test',
})
const restarted = buildAcceptanceEnvironment(production, configured)
assert.equal(restarted.WEKNORA_BOOTSTRAP_SYSTEM_ADMIN_EMAIL, 'acceptance@example.test')
assert.equal(restarted.DISABLE_REGISTRATION, 'true')
})