Exemplo n.º 1
0
define(function (require, exports, module) {
  'use strict';

  var Validate = require('lib/validate');
  var Vat = require('vat');

  Vat.register('base64jwt', Vat.string().test(Validate.isBase64JwtValid));
  Vat.register('hex', Vat.string().test(Validate.isHexValid));
  Vat.register('uri', Vat.string().test(Validate.isUriValid));
  Vat.register('url', Vat.string().test(Validate.isUrlValid));
  Vat.register('urn', Vat.string().test(Validate.isUrnValid));

  return Vat;
});
Exemplo n.º 2
0
    describe('importSearchParamsUsingSchema', function () {
      var schema = {
        optional: Vat.string().optional(),
        required: Vat.string().valid('value').required()
      };

      describe('passes validation', function () {
        beforeEach(function () {
          windowMock.location.search =
            TestHelpers.toSearchString({ ignored: true, required: 'value' });
          model.importSearchParamsUsingSchema(schema, AuthErrors);
        });

        it('imports fields in the schema that have values', function () {
          assert.equal(model.get('required'), 'value');
        });

        it('does not import optional fields in the schema w/o values', function () {
          assert.isFalse(model.has('optional'));
        });

        it('ignores fields not in the schema', function () {
          assert.isFalse(model.has('ignored'));
        });
      });

      describe('does not pass validation', function () {
        var err;

        describe('missing data', function () {
          beforeEach(function () {
            windowMock.location.search = TestHelpers.toSearchString({});
            try {
              model.importSearchParamsUsingSchema(schema, AuthErrors);
            } catch (e) {
              err = e;
            }
          });

          it('throws a MISSING_PARAMETER error', function () {
            assert.isTrue(AuthErrors.is(err, 'MISSING_PARAMETER'));
            assert.equal(err.param, 'required');
          });
        });

        describe('invalid data', function () {
          beforeEach(function () {
            windowMock.location.search = TestHelpers.toSearchString({
              required: 'invalid'
            });

            try {
              model.importSearchParamsUsingSchema(schema, AuthErrors);
            } catch (e) {
              err = e;
            }
          });

          it('throws a INVALID_PARAMETER', function () {
            assert.isTrue(AuthErrors.is(err, 'INVALID_PARAMETER'));
            assert.equal(err.param, 'required');
          });
        });
      });
    });
Exemplo n.º 3
0
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

// Do some validation.

import Validate from './validate';
import Vat from 'vat';

Vat.register('accessType', Vat.string().test(Validate.isAccessTypeValid));
Vat.register('action', Vat.string().valid('signin', 'signup', 'email', 'force_auth'));
Vat.register('base32', Vat.string().test(Validate.isBase32Valid));
Vat.register('channelId', Vat.string().test(Validate.isBase64Url));
Vat.register('channelKey', Vat.string().test(Validate.isBase64Url));
Vat.register('codeChallenge', Vat.string().min(43).max(128));
Vat.register('codeChallengeMethod', Vat.string().valid('S256'));
Vat.register('email', Vat.string().test(Validate.isEmailValid));
Vat.register('hex', Vat.string().test(Validate.isHexValid));
Vat.register('keyFetchToken', Vat.string());
Vat.register('keysJwk', Vat.string().test(Validate.isBase64Url));
Vat.register('oauthCode', Vat.string().test(Validate.isOAuthCodeValid));
Vat.register('password', Vat.string().test(Validate.isPasswordValid));
Vat.register('prompt', Vat.string().test(Validate.isPromptValid));
Vat.register('recoveryCode', Vat.string().test(Validate.isRecoveryCodeValid));
Vat.register('sessionToken', Vat.string());
Vat.register('token', Vat.string().test(Validate.isTokenValid));
Vat.register('totpCode', Vat.string().test(Validate.isTotpCodeValid));
Vat.register('uid', Vat.string().test(Validate.isUidValid));
Vat.register('unblockCode', Vat.string().test(Validate.isUnblockCodeValid));
Vat.register('unwrapBKey', Vat.string());
Vat.register('url', Vat.string().test(Validate.isUrlValid));