From d8b57e82d8ae8e571b24ddc0d4e57f70795ecab1 Mon Sep 17 00:00:00 2001 From: Omar Ramadan Date: Mon, 26 Oct 2026 06:34:47 +0000 Subject: [PATCH] test(mabr): cover public discovery export --- packages/mabr-route-proxy/src/index.test.ts | 24 ++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/packages/mabr-route-proxy/src/index.test.ts b/packages/mabr-route-proxy/src/index.test.ts index 1bb3818..4ffb224 100644 --- a/packages/mabr-route-proxy/src/index.test.ts +++ b/packages/mabr-route-proxy/src/index.test.ts @@ -1,6 +1,28 @@ import test from 'node:test'; import assert from 'node:assert/strict'; -import { MabrRouteProxy } from './index.ts'; +import { discoverSlsEndpoint, MabrRouteProxy } from './index.ts'; + +test('exports DS SLS discovery from the package entry point', async () => { + const originalFetch = globalThis.fetch; + globalThis.fetch = (async (input: RequestInfo | URL, init?: RequestInit) => { + assert.equal(String(input), 'https://ds.example.test/slt/7'); + assert.equal(init?.credentials, 'omit'); + assert.equal(init?.mode, 'cors'); + return new Response(''); + }) as typeof globalThis.fetch; + try { + assert.deepEqual(await discoverSlsEndpoint({ + sltUrl: 'https://ds.example.test/slt/7', + serviceId: 'generic-service', + }), { + group: '232.1.1.66', + port: 8000, + source: '69.25.95.61', + }); + } finally { + globalThis.fetch = originalFetch; + } +}); test('serves cached CMAF bytes and falls through misses', async () => { const proxy = new MabrRouteProxy({ baseUrl: 'https://player.test/live/' });