Release v2.10.6
This commit is contained in:
@@ -99,7 +99,8 @@ test('fqdn player registration wins over a local configured player target for me
|
||||
|
||||
assert.equal(success, true);
|
||||
assert.equal(fetchCalls.length, 1);
|
||||
assert.equal(fetchCalls[0].url, 'https://pulse-dev-bridge.lzstealth.com/api/media/uploads%2Fsample.bin?deviceId=player-remote');
|
||||
assert.equal(fetchCalls[0].url, 'https://pulse-dev-bridge.lzstealth.com/api/media/uploads%2Fsample.bin');
|
||||
assert.equal(fetchCalls[0].init.headers['x-pulse-player-device-id'], 'player-remote');
|
||||
} finally {
|
||||
global.fetch = originalFetch;
|
||||
fs.rmSync(uploadDir, { recursive: true, force: true });
|
||||
@@ -453,9 +454,46 @@ test('slide update sync queues one media task per live player and targets each p
|
||||
assert.deepEqual(fetchCalls.map(function (call) {
|
||||
return call.url;
|
||||
}).sort(), [
|
||||
'http://player-one:8081/api/media/uploads%2Fsample.bin?deviceId=player-one',
|
||||
'http://player-two:8081/api/media/uploads%2Fsample.bin?deviceId=player-two'
|
||||
'http://player-one:8081/api/media/uploads%2Fsample.bin',
|
||||
'http://player-two:8081/api/media/uploads%2Fsample.bin'
|
||||
].sort());
|
||||
assert.deepEqual(fetchCalls.map(function (call) {
|
||||
return call.init.headers['x-pulse-player-device-id'];
|
||||
}).sort(), ['player-one', 'player-two']);
|
||||
} finally {
|
||||
global.fetch = originalFetch;
|
||||
fs.rmSync(uploadDir, { recursive: true, force: true });
|
||||
}
|
||||
});
|
||||
|
||||
test('remote media sync uses the bridge device route', async () => {
|
||||
const uploadDir = fs.mkdtempSync(path.join(os.tmpdir(), 'pulse-signage-upload-bridge-'));
|
||||
fs.mkdirSync(path.join(uploadDir, 'uploads'), { recursive: true });
|
||||
fs.writeFileSync(path.join(uploadDir, 'uploads', 'sample.bin'), Buffer.from('hello world'));
|
||||
const activeLastSeenAt = new Date(Date.now() - 10_000).toISOString();
|
||||
const fetchCalls = [];
|
||||
const originalFetch = global.fetch;
|
||||
global.fetch = async function (url, init) {
|
||||
fetchCalls.push({ url, init });
|
||||
return { ok: true, status: 200, statusText: 'OK', headers: { get() { return null; } }, async text() { return ''; } };
|
||||
};
|
||||
|
||||
const uploadSyncService = createUploadSyncService({
|
||||
common: {},
|
||||
bridgeInternalBaseUrl: 'http://player-bridge:8090',
|
||||
pool: {
|
||||
async query() {
|
||||
return [[{ identifier: 'player-remote', internal_base_url: 'https://remote-player.example', last_seen_at: activeLastSeenAt }]];
|
||||
}
|
||||
},
|
||||
playerSnapshotCache: new Map(),
|
||||
notifyPlayerScreens: async () => {}
|
||||
});
|
||||
|
||||
try {
|
||||
assert.equal(await uploadSyncService.pushUploadFileToPlayer('/media/uploads/sample.bin', uploadDir), true);
|
||||
assert.equal(fetchCalls[0].url, 'http://player-bridge:8090/api/media/uploads%2Fsample.bin');
|
||||
assert.equal(fetchCalls[0].init.headers['x-pulse-player-device-id'], 'player-remote');
|
||||
} finally {
|
||||
global.fetch = originalFetch;
|
||||
fs.rmSync(uploadDir, { recursive: true, force: true });
|
||||
|
||||
Reference in New Issue
Block a user