fokemal / server /src /__tests__ /lib /endpoint-scope.test.ts
automindy's picture
Sync to upstream v0.13.7, keep HF Space adaptations
dcedb25
Raw History Blame Contribute Delete
2.61 kB
import { describe, it, expect } from 'vitest';
import {
endpointHandle,
endpointRefMatches,
endpointScopeForBaseUrl,
modelStatsKey,
normalizeBaseUrl,
qualifiedModelMemberId,
} from '../../lib/endpoint-scope.js';
describe('endpoint scope (#651)', () => {
it('normalizes a base_url the way registration stores it', () => {
expect(normalizeBaseUrl(' https://relay.example.com/v1/ ')).toBe('https://relay.example.com/v1');
expect(endpointScopeForBaseUrl(null)).toBe('');
expect(endpointScopeForBaseUrl('')).toBe('');
});
it('derives a stable, typable handle from the endpoint alone', () => {
expect(endpointHandle('https://relay-a.example.com/v1')).toBe('relay-a.example.com-v1');
expect(endpointHandle('http://127.0.0.1:11434/v1')).toBe('127.0.0.1-11434-v1');
// Idempotent, which is what lets a handle and the raw URL both resolve.
expect(endpointHandle(endpointHandle('https://relay-a.example.com/v1')))
.toBe(endpointHandle('https://relay-a.example.com/v1'));
// Different endpoints never collapse onto one handle.
expect(endpointHandle('https://relay-a.example.com/v1'))
.not.toBe(endpointHandle('https://relay-b.example.com/v1'));
});
it('leaves catalog stat keys exactly as they were', () => {
expect(modelStatsKey('groq', 'llama-3.3-70b', '')).toBe('groq:llama-3.3-70b');
expect(modelStatsKey('groq', 'llama-3.3-70b', null)).toBe('groq:llama-3.3-70b');
// Un-scoped legacy custom rows keep their old bucket too.
expect(modelStatsKey('custom', 'relay-model', '')).toBe('custom:relay-model');
expect(modelStatsKey('custom', 'relay-model', 'https://a/v1'))
.toBe('custom:relay-model@https://a/v1');
});
it('only qualifies model ids that need it', () => {
expect(qualifiedModelMemberId('groq', 'llama-3.3-70b', '')).toBeNull();
expect(qualifiedModelMemberId('custom', 'relay-model', '')).toBeNull();
expect(qualifiedModelMemberId('custom', 'deepseek-v3.1', 'https://relay-a.example.com/v1'))
.toBe('custom:deepseek-v3.1#relay-a.example.com-v1');
});
it('matches an endpoint reference written either way', () => {
const scope = 'https://relay-a.example.com/v1';
expect(endpointRefMatches('relay-a.example.com-v1', scope)).toBe(true);
expect(endpointRefMatches(scope, scope)).toBe(true);
expect(endpointRefMatches('relay-a.example.com/v1', scope)).toBe(true);
expect(endpointRefMatches('https://relay-b.example.com/v1', scope)).toBe(false);
expect(endpointRefMatches('', scope)).toBe(false);
expect(endpointRefMatches('anything', '')).toBe(false);
});
});