Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
test('validateGeneric', t => {
const validator = new XVIZValidator();
// Straight validate
validator.validate('primitives/point.schema.json', {points: [[1, 2, 3]]});
// Normal validation
validator.validate('primitives/point', {points: [[1, 2, 3]]});
t.throws(
() => validator.validate('primitives/point.schema.json', {points: {}}),
/error/,
'Should throw validation error'
);
t.end();
});
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
/* eslint-disable camelcase */
import test from 'tape-catch';
import {Matrix4} from 'math.gl';
import {XVIZMetadataBuilder, XVIZUIBuilder} from '@xviz/builder';
import {XVIZValidator} from '@xviz/schema';
const schemaValidator = new XVIZValidator();
test('XVIZMetadataBuilder#default-ctor', t => {
const xb = new XVIZMetadataBuilder();
t.ok(xb, 'Created new XVIZMetadataBuilder');
t.end();
});
test.skip('XVIZMetadataBuilder#build-with-transformMatrix-array', t => {
const xb = new XVIZMetadataBuilder();
xb.startTime(0)
.endTime(1)
.stream('/test/stream')
.category('primitive')
.type('circle')
.coordinate('VEHICLE_RELATIVE')
.transformMatrix([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]])
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
/* eslint-disable camelcase */
import test from 'tape-catch';
import XVIZTimeSeriesBuilder from '@xviz/builder/builders/xviz-time-series-builder';
import {default as XVIZBuilderValidator} from '@xviz/builder/builders/xviz-validator';
import {XVIZValidator} from '@xviz/schema';
const schemaValidator = new XVIZValidator();
const validator = new XVIZBuilderValidator({
validateWarn: msg => {
throw new Error(msg);
},
validateError: msg => {
throw new Error(msg);
}
});
test('XVIZTimeSeriesBuilder#default-ctor', t => {
/* eslint-disable no-unused-vars */
const builder = new XVIZTimeSeriesBuilder({});
t.end();
/* eslint-enable no-unused-vars */
});
test('sessionValidator#connect-metadata', t => {
// Creation == connect
const validator = new XVIZSessionValidator();
validator.onConnect();
validator.onStart({version: '2.0.0'});
validator.onMetadata({version: '2.0.0'});
const s = validator.stats;
const e = {};
e[MessageTypes.METADATA] = 1;
e[MessageTypes.START] = 1;
t.deepEqual(s.messages, e, 'got all messages');
t.deepEqual(s.validationErrors, {}, 'all valid');
t.deepEqual(s.stateErrors, {}, 'valid transitions');
t.end();
});
test('sessionValidator#connect-reset-state', t => {
// Creation == connect
const validator = new XVIZSessionValidator();
validator.onConnect();
validator.onClose();
const s = validator.stats;
t.deepEqual({}, s.messages, 'no messages');
t.deepEqual(s.validationErrors, {}, 'all valid');
t.equal(1, Object.keys(s.stateErrors).length, 'close after open is an error');
t.end();
});
test('sessionValidator#connect-start-error', t => {
// Creation == connect
const validator = new XVIZSessionValidator();
validator.onConnect();
validator.onStart({version: '3.0.0'});
validator.onError({message: 'unsupported version'});
const s = validator.stats;
const e = {};
e[MessageTypes.START] = 1;
e[MessageTypes.ERROR] = 1;
t.deepEqual(s.messages, e, 'got all messages');
t.deepEqual(s.validationErrors, {}, 'all valid');
t.deepEqual(s.stateErrors, {}, 'valid transitions');
t.end();
});
test('sessionValidator#connect-metadata', t => {
// Creation == connect
const validator = new XVIZSessionValidator();
validator.onConnect();
validator.onStart({version: '2.0.0'});
validator.onMetadata({version: '2.0.0'});
validator.onTransformLog({
id: '9a71050b-4143-479e-8700-36ec2ed8670a'
});
validator.onStateUpdate(MINIMAL_STATE_UPDATE);
validator.onStateUpdate(MINIMAL_STATE_UPDATE);
validator.onTransformLogDone({
id: '9a71050b-4143-479e-8700-36ec2ed8670a'
});
const s = validator.stats;
const e = {};
test('sessionValidator#connect-metadata', t => {
// Creation == connect
const validator = new XVIZSessionValidator();
validator.onConnect();
validator.onMetadata({version: '2.0.0'});
const s = validator.stats;
const e = {};
e[MessageTypes.METADATA] = 1;
t.deepEqual(e, s.messages, 'got metadata');
t.deepEqual(s.validationErrors, {}, 'all valid');
t.equal(1, Object.keys(s.stateErrors).length, 'metadata before start');
t.end();
});
test('sessionValidator#connect-metadata-live-data', t => {
const validator = new XVIZSessionValidator();
validator.onConnect();
validator.onStart({
version: '2.0.0',
session_type: 'LIVE' // eslint-disable-line camelcase
});
validator.onMetadata({version: '2.0.0'});
validator.onStateUpdate(MINIMAL_STATE_UPDATE);
validator.onStateUpdate(MINIMAL_STATE_UPDATE);
const s = validator.stats;
const e = {};
e[MessageTypes.METADATA] = 1;
e[MessageTypes.START] = 1;
e[MessageTypes.STATE_UPDATE] = 2;
test('protosCorrect', t => {
const protoRoot = loadProtos();
// Test a basic primitive out
const examplesDir = path.join(getModuleDir(), 'examples');
const validator = new XVIZValidator();
// For each protobuf type
const protoTypes = getXVIZProtoTypes(protoRoot);
t.ok(protoTypes.length > 5, 'Have protos connected to schemas');
const protoEnumTypes = getProtoEnumTypes(protoRoot);
t.ok(Object.keys(protoEnumTypes).length > 5, 'Found enum types');
const tests = [];
for (let i = 0; i < protoTypes.length; i++) {