Release 2.5.2
This commit is contained in:
@@ -87,6 +87,42 @@ test('player runtime snapshots websocket state and checks live names', async ()
|
||||
}
|
||||
});
|
||||
|
||||
test('player runtime accepts websocket auth from cookies', async () => {
|
||||
process.env.PULSE_SIGNAGE_SHARED_SECRET = 'runtime-secret';
|
||||
|
||||
const runtime = createPlayerRuntime({ pool: null });
|
||||
const server = http.createServer();
|
||||
runtime.installWebsocket(server);
|
||||
|
||||
await new Promise((resolve) => server.listen(0, resolve));
|
||||
const { port } = server.address();
|
||||
const token = createPageAuthToken({ scope: 'player', slug: 'cookie-test' });
|
||||
const client = new WebSocket(`ws://127.0.0.1:${port}/ws/screens/cookie-test`, {
|
||||
headers: {
|
||||
Cookie: `pulse_page_auth=${encodeURIComponent(token)}`
|
||||
}
|
||||
});
|
||||
|
||||
try {
|
||||
await new Promise((resolve, reject) => {
|
||||
client.once('open', resolve);
|
||||
client.once('error', reject);
|
||||
});
|
||||
|
||||
client.send(JSON.stringify({ type: 'state', clientId: 'cookie-client', clientName: 'Cookie Player', deviceId: 'device-cookie' }));
|
||||
|
||||
await waitFor(() => {
|
||||
const snapshot = runtime.snapshotConnections('cookie-test')[0];
|
||||
return snapshot && snapshot.clientName === 'Cookie Player' ? snapshot : null;
|
||||
});
|
||||
|
||||
assert.equal(runtime.snapshotConnections('cookie-test')[0].clientName, 'Cookie Player');
|
||||
} finally {
|
||||
client.close();
|
||||
await new Promise((resolve) => server.close(resolve));
|
||||
}
|
||||
});
|
||||
|
||||
test('player runtime sends targeted and broadcast commands to live sockets', async () => {
|
||||
process.env.PULSE_SIGNAGE_SHARED_SECRET = 'runtime-secret';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user