How to use @xviz/schema - 10 common examples

To help you get started, we’ve selected a few @xviz/schema examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github uber / xviz / test / modules / schema / validator.spec.js View on Github external
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();
});
github uber / xviz / test / modules / builder / builders / xviz-metadata-builder.spec.js View on Github external
//
//     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]])
github uber / xviz / test / modules / builder / builders / xviz-time-series-builder.spec.js View on Github external
//
//     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 */
});
github uber / xviz / test / modules / schema / session-validator.spec.js View on Github external
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();
});
github uber / xviz / test / modules / schema / session-validator.spec.js View on Github external
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();
});
github uber / xviz / test / modules / schema / session-validator.spec.js View on Github external
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();
});
github uber / xviz / test / modules / schema / session-validator.spec.js View on Github external
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 = {};
github uber / xviz / test / modules / schema / session-validator.spec.js View on Github external
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();
});
github uber / xviz / test / modules / schema / session-validator.spec.js View on Github external
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;
github uber / xviz / test / modules / schema / proto-validation.spec.js View on Github external
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++) {