50 lines
2.0 KiB
JavaScript
50 lines
2.0 KiB
JavaScript
'use strict';
|
|
|
|
describe('jwt', function() {
|
|
|
|
beforeEach(function() {
|
|
module('angular-jwt.jwt');
|
|
});
|
|
|
|
describe('no expiration tokens', function() {
|
|
var infiniteToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOjEyMzQ1Njc4OTAsIm5hbWUiOiJKb2huIERvZSIsImFkbWluIjp0cnVlfQ.eoaDVGTClRdfxUZXiPs3f8FmJDkDE_VCQFXqKxpLsts';
|
|
it('should correctly decode it', inject(function (jwtHelper) {
|
|
var token = jwtHelper.decodeToken(infiniteToken);
|
|
|
|
expect(token.name).to.equal('John Doe');
|
|
}));
|
|
|
|
var multipleUrlCharactersToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOjEyMzQ1Njc4OTAsIm5hbWUiOiJKb2huIERvZWxsbO-jv2xsbO-jvyIsImFkbWluIjp0cnVlfQ.NCPM3vNwuvJGMIjR0csEFQDrSLcjm5P7ORumVq4ezmo';
|
|
it('should correctly decode tokens with multiple URL-safe characters', inject(function (jwtHelper) {
|
|
var token = jwtHelper.decodeToken(multipleUrlCharactersToken);
|
|
|
|
expect(token.name).to.equal('John Doellllll');
|
|
}));
|
|
|
|
it('should return no expiration', inject(function (jwtHelper) {
|
|
var date = jwtHelper.getTokenExpirationDate(infiniteToken);
|
|
|
|
expect(date).not.to.exist;
|
|
}));
|
|
|
|
it('should return not expired', inject(function (jwtHelper) {
|
|
expect(jwtHelper.isTokenExpired(infiniteToken)).to.be.false;
|
|
}));
|
|
});
|
|
|
|
describe('tokens with expiration', function() {
|
|
var expToken = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3NhbXBsZXMuYXV0aDAuY29tLyIsInN1YiI6ImZhY2Vib29rfDEwMTU0Mjg3MDI3NTEwMzAyIiwiYXVkIjoiQlVJSlNXOXg2MHNJSEJ3OEtkOUVtQ2JqOGVESUZ4REMiLCJleHAiOjE0MTIyMzQ3MzAsImlhdCI6MTQxMjE5ODczMH0.7M5sAV50fF1-_h9qVbdSgqAnXVF7mz3I6RjS6JiH0H8';
|
|
it('should correctly decode it', inject(function (jwtHelper) {
|
|
var token = jwtHelper.decodeToken(expToken);
|
|
|
|
expect(token.sub).to.equal('facebook|10154287027510302');
|
|
}));
|
|
|
|
it('should return an expiration', inject(function (jwtHelper) {
|
|
var date = jwtHelper.getTokenExpirationDate(expToken);
|
|
|
|
expect(date).to.eql(new Date(1412234730000));
|
|
}));
|
|
});
|
|
});
|