How to use the @xviz/schema.XVIZSessionValidator function in @xviz/schema

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 / 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 / modules / cli / src / cmds / validate.js View on Github external
export function command(args) {
  // Validate the message flow
  const options = {verbose: !args.condensed};

  if (!args.condensed) {
    options.invalidCallback = (t, e, m) => {
      printValidationError(t, e, m, args);
    };
  }

  const validator = new XVIZSessionValidator(options);

  let printed = false;
  const printSummary = () => {
    if (!printed) {
      printErrorSummary(validator.stats, args);
      printed = true;
    }
  };

  // Report validation as we go
  const reportValidation = {
    onMetadata: msg => {
      if (args.metadata) {
        printSummary();
      }
    },