test('XVIZStreamLoader#connect, seek', t => { const loader = new XVIZStreamLoader({ WebSocketClass: MockSocket, serverConfig: { serverUrl: 'http://localhost:3000' }, logGuid: 'test_log', duration: 30, bufferLength: 10 }); const oldConfig = getXVIZConfig(); setXVIZConfig({ TIME_WINDOW: 1 }); loader.connect().then(() => { t.ok(loader.isOpen(), 'socket connected'); const {socket} = loader; t.is( socket.url, 'http://localhost:3000?log=test_log&profile=default', 'socket connected to correct url' ); t.deepEquals(socket.flush(), [], 'No data till metadata'); // Mock metadata loader.onXVIZMessage({type: LOG_STREAM_MESSAGE.METADATA, start_time: 1000, end_time: 1030}); t.deepEquals( socket.flush(), [{type: 'xviz/transform_log', data: {start_timestamp: 1000, end_timestamp: 1010, id: '0'}}], 'transform_log: update with correct parameters' ); loader.seek(1005); t.deepEquals(socket.flush(), [], 'seek: no socket updates'); loader.seek(1012); t.deepEquals( socket.flush(), [{type: 'xviz/transform_log', data: {start_timestamp: 1007, end_timestamp: 1017, id: '1'}}], 'seek: update with correct parameters' ); loader.onXVIZMessage({type: LOG_STREAM_MESSAGE.TIMESLICE, timestamp: 1007}); loader.onXVIZMessage({type: LOG_STREAM_MESSAGE.TIMESLICE, timestamp: 1008}); loader.onXVIZMessage({type: LOG_STREAM_MESSAGE.TIMESLICE, timestamp: 1009}); loader.onXVIZMessage({type: LOG_STREAM_MESSAGE.TIMESLICE, timestamp: 1010}); loader.seek(1001); t.deepEquals( socket.flush(), [{type: 'xviz/transform_log', data: {start_timestamp: 1000, end_timestamp: 1007, id: '2'}}], 'seek: update with correct parameters' ); setXVIZConfig(oldConfig); t.end(); }); });
loader.connect().then(() => { t.ok(loader.isOpen(), 'socket connected'); const {socket} = loader; t.is( socket.url, 'http://localhost:3000?log=test_log&profile=default', 'socket connected to correct url' ); t.deepEquals(socket.flush(), [], 'No data till metadata'); // Mock metadata loader.onXVIZMessage({type: LOG_STREAM_MESSAGE.METADATA, start_time: 1000, end_time: 1030}); t.deepEquals( socket.flush(), [{type: 'xviz/transform_log', data: {start_timestamp: 1000, end_timestamp: 1010, id: '0'}}], 'transform_log: update with correct parameters' ); loader.seek(1005); t.deepEquals(socket.flush(), [], 'seek: no socket updates'); loader.seek(1012); t.deepEquals( socket.flush(), [{type: 'xviz/transform_log', data: {start_timestamp: 1007, end_timestamp: 1017, id: '1'}}], 'seek: update with correct parameters' ); loader.onXVIZMessage({type: LOG_STREAM_MESSAGE.TIMESLICE, timestamp: 1007}); loader.onXVIZMessage({type: LOG_STREAM_MESSAGE.TIMESLICE, timestamp: 1008}); loader.onXVIZMessage({type: LOG_STREAM_MESSAGE.TIMESLICE, timestamp: 1009}); loader.onXVIZMessage({type: LOG_STREAM_MESSAGE.TIMESLICE, timestamp: 1010}); loader.seek(1001); t.deepEquals( socket.flush(), [{type: 'xviz/transform_log', data: {start_timestamp: 1000, end_timestamp: 1007, id: '2'}}], 'seek: update with correct parameters' ); setXVIZConfig(oldConfig); t.end(); });