test(behavior): cover config routing and registry seams
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
import { assertEquals } from 'jsr:@std/assert@^1.0.0';
|
||||
import { ModelGrid } from '../ts/modelgrid.ts';
|
||||
import type { IModelGridConfig } from '../ts/interfaces/config.ts';
|
||||
|
||||
Deno.test('ModelGrid normalizes current config defaults', () => {
|
||||
const modelgrid = new ModelGrid();
|
||||
const normalizeConfig = (modelgrid as unknown as {
|
||||
normalizeConfig: (config: Partial<IModelGridConfig>) => IModelGridConfig;
|
||||
}).normalizeConfig.bind(modelgrid);
|
||||
|
||||
const normalized = normalizeConfig({
|
||||
version: '1.0.0',
|
||||
api: {
|
||||
port: 9000,
|
||||
host: '127.0.0.1',
|
||||
apiKeys: ['test-key'],
|
||||
},
|
||||
docker: {
|
||||
networkName: 'modelgrid',
|
||||
runtime: 'docker',
|
||||
},
|
||||
gpus: {
|
||||
autoDetect: true,
|
||||
assignments: {},
|
||||
},
|
||||
containers: [],
|
||||
models: {
|
||||
registryUrl: 'https://example.com/catalog.json',
|
||||
autoDeploy: false,
|
||||
defaultEngine: 'vllm',
|
||||
autoLoad: ['Qwen/Qwen2.5-7B-Instruct'],
|
||||
},
|
||||
cluster: {
|
||||
enabled: false,
|
||||
nodeName: 'modelgrid-local',
|
||||
role: 'standalone',
|
||||
bindHost: '0.0.0.0',
|
||||
gossipPort: 7946,
|
||||
heartbeatIntervalMs: 5000,
|
||||
seedNodes: [],
|
||||
},
|
||||
checkInterval: 15000,
|
||||
});
|
||||
|
||||
assertEquals(normalized.models.registryUrl, 'https://example.com/catalog.json');
|
||||
assertEquals(normalized.models.autoDeploy, false);
|
||||
assertEquals(normalized.models.defaultEngine, 'vllm');
|
||||
assertEquals(normalized.ui.enabled, true);
|
||||
assertEquals(normalized.ui.port, 8081);
|
||||
assertEquals(normalized.ui.assetSource, 'bundle');
|
||||
});
|
||||
Reference in New Issue
Block a user