js-web-tools
Version:
Tools for Javascript develpers
90 lines (87 loc) • 2.54 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.JWT_REGEX = void 0;
var _jwt = require("../jwt");
var JWT_REGEX = /^Bearer%20[A-Za-z0-9-_=]+\.[A-Za-z0-9-_=]+\.?[A-Za-z0-9-_.+/=]*$/;
exports.JWT_REGEX = JWT_REGEX;
describe('jwt', function () {
it('should get a token using default config', function () {
var jwt = new _jwt.JWT();
var token = jwt.sign({
username: 'Erick',
role: 'admin'
});
expect(JWT_REGEX.test(token)).toEqual(true);
token = jwt.sign('{"username": "Erick", "role": "admin"}');
expect(JWT_REGEX.test(token)).toEqual(true);
});
it('should get a not expire token', function () {
var jwt = new _jwt.JWT();
var token = jwt.sign({
username: 'Erick'
});
expect(jwt.isExpire()).toEqual(true);
expect(jwt.isExpire(token)).toEqual(false);
expect(jwt.verify(token)).toEqual(true);
});
it('should get a expire token', function (done) {
var jwt = new _jwt.JWT(null, {
expiresIn: 1
});
var token = jwt.sign({
username: 'Erick'
});
setTimeout(function () {
expect(jwt.isExpire(token)).toEqual(true);
expect(jwt.verify(token)).toEqual(false);
done();
}, 2000);
});
it('should not get a token', function () {
var jwt = new _jwt.JWT();
var token = jwt.sign('{username: "Erick"}');
expect(token).toEqual('');
});
it('should get object values', function () {
var jwt = new _jwt.JWT();
var token = jwt.sign({
username: 'Erick',
role: 'admin',
id: 10001
});
expect(jwt.get('username', token)).toEqual('Erick');
expect(jwt.get('role', token)).toEqual('admin');
expect(jwt.get('id', token)).toEqual(10001);
expect(jwt.get(token)).toMatchObject({
username: 'Erick',
role: 'admin',
id: 10001
});
});
it('should get null if token is empty string', function () {
var jwt = new _jwt.JWT();
expect(jwt.get()).toEqual(null);
expect(jwt.get(undefined)).toEqual(null);
expect(jwt.get(null)).toEqual(null);
expect(jwt.get('')).toEqual(null);
});
it('should decode token and get payload', function (done) {
var jwt = new _jwt.JWT();
var token = jwt.sign({
username: 'Erick',
role: 'admin'
}, {
expiresIn: '120'
});
setTimeout(function () {
expect(jwt.isExpire(token)).toEqual(true);
expect(jwt.decode(token)).toMatchObject({
username: 'Erick',
role: 'admin'
});
done();
}, 300);
});
});