Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
loader.connect().then(() => {
t.ok(loader.isOpen(), 'socket connected');
const {socket} = loader;
t.is(socket.url, 'http://localhost:3000?profile=default', 'socket connected to correct url');
t.deepEquals(socket.flush(), [], 'No data till metadata');
// Mock metadata
loader.onXVIZMessage({type: LOG_STREAM_MESSAGE.METADATA, data: {version: '2.0.0'}});
t.deepEquals(socket.flush(), [], 'No client request after metadata');
loader.seek(1005);
t.deepEquals(socket.flush(), [], 'seek: no socket updates');
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});
// t.deepEquals(loader.getBufferRange(), [[1, 2]], 'BufferRange includes all messages');
setXVIZConfig(oldConfig);
t.end();
});
});
loader.connect().then(() => {
t.ok(loader.isOpen(), 'socket connected');
const {socket} = loader;
t.is(socket.url, 'http://localhost:3000?profile=default', 'socket connected to correct url');
t.deepEquals(socket.flush(), [], 'No data till metadata');
// Mock metadata with missing start_time
loader.onXVIZMessage({type: LOG_STREAM_MESSAGE.METADATA});
t.deepEquals(socket.flush(), [], 'No client request after metadata');
loader.onXVIZMessage({type: LOG_STREAM_MESSAGE.TIMESLICE, timestamp: 1007});
loader.seek(1007);
t.deepEquals(socket.flush(), [], 'seek: no socket updates');
t.equals(
loader.getBufferStartTime(),
987,
'getBufferStartTime() based on first message - 30/3 * 2 preBuffer'
);
t.equals(
loader.getBufferEndTime(),
1017,
'getBufferEndTime() based on first message + 30/3 = 10 postBuffer'
);
t.equals(loader.getLogStartTime(), undefined, 'getLogStartTime() is undefined in liveMode');
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();
});
});
[{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();
});
});
onXVIZMessage = message => {
switch (message.type) {
case LOG_STREAM_MESSAGE.METADATA:
this._onXVIZMetadata(message);
this.emit('ready', message);
break;
case LOG_STREAM_MESSAGE.TIMESLICE:
this._onXVIZTimeslice(message);
this.emit('update', message);
break;
case LOG_STREAM_MESSAGE.DONE:
this.emit('finish', message);
break;
default:
this.emit('error', message);
}
};