28 lines
1.6 KiB
TypeScript
28 lines
1.6 KiB
TypeScript
import { readFileSync } from 'node:fs';
|
|
import { describe, expect, it } from 'vitest';
|
|
|
|
const localCompose = readFileSync('docker-compose.postgres.yml', 'utf8');
|
|
const deploymentCompose = readFileSync('docker-compose.deploy.yml', 'utf8');
|
|
const packageJson = JSON.parse(readFileSync('package.json', 'utf8')) as { scripts: Record<string, string> };
|
|
|
|
describe('regulatory Qdrant Compose boundary', () => {
|
|
it('adds an authenticated telemetry-free loopback service without changing canonical PostgreSQL', () => {
|
|
expect(localCompose).toContain('name: assessor-2_0');
|
|
expect(localCompose).toContain('name: assessor-2_0_assessor-postgres-data');
|
|
expect(localCompose).toContain('external: true');
|
|
expect(localCompose).toContain('qdrant/qdrant:v1.19.1');
|
|
expect(localCompose).toContain('QDRANT__SERVICE__API_KEY: ${ASSESSOR_QDRANT_API_KEY:?ASSESSOR_QDRANT_API_KEY must be set}');
|
|
expect(localCompose).toContain('QDRANT__TELEMETRY_DISABLED: "true"');
|
|
expect(localCompose).toContain('127.0.0.1:${ASSESSOR_QDRANT_PORT:-6333}:6333');
|
|
expect(localCompose).toContain('name: assessor-2_0_assessor-qdrant-data');
|
|
});
|
|
|
|
it('keeps deployment Qdrant internal and exposes a corpus ingestion command', () => {
|
|
const qdrant = deploymentCompose.slice(deploymentCompose.indexOf(' qdrant:'));
|
|
expect(qdrant).not.toMatch(/\n ports:/);
|
|
expect(qdrant).toContain('assessor-qdrant-data:/qdrant/storage');
|
|
expect(packageJson.scripts['rag:ingest']).toContain('--env-file-if-exists=.env.postgres');
|
|
expect(packageJson.scripts['rag:ingest']).toContain('dist-server/regulatory-ingest.mjs');
|
|
});
|
|
});
|