You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					39 lines
				
				1.5 KiB
			
		
		
			
		
	
	
					39 lines
				
				1.5 KiB
			| 
											3 years ago
										 | var jwt = require('../index'); | ||
|  | var expect = require('chai').expect; | ||
|  | 
 | ||
|  | describe('expires option', function() { | ||
|  | 
 | ||
|  |   it('should work with a number of seconds', function () { | ||
|  |     var token = jwt.sign({foo: 123}, '123', { expiresIn: 10 }); | ||
|  |     var result = jwt.verify(token, '123'); | ||
|  |     expect(result.exp).to.be.closeTo(Math.floor(Date.now() / 1000) + 10, 0.2); | ||
|  |   }); | ||
|  | 
 | ||
|  |   it('should work with a string', function () { | ||
|  |     var token = jwt.sign({foo: 123}, '123', { expiresIn: '2d' }); | ||
|  |     var result = jwt.verify(token, '123'); | ||
|  |     var two_days_in_secs = 2 * 24 * 60 * 60; | ||
|  |     expect(result.exp).to.be.closeTo(Math.floor(Date.now() / 1000) + two_days_in_secs, 0.2); | ||
|  |   }); | ||
|  | 
 | ||
|  |   it('should work with a string second example', function () { | ||
|  |     var token = jwt.sign({foo: 123}, '123', { expiresIn: '36h' }); | ||
|  |     var result = jwt.verify(token, '123'); | ||
|  |     var day_and_a_half_in_secs = 1.5 * 24 * 60 * 60; | ||
|  |     expect(result.exp).to.be.closeTo(Math.floor(Date.now() / 1000) + day_and_a_half_in_secs, 0.2); | ||
|  |   }); | ||
|  | 
 | ||
|  | 
 | ||
|  |   it('should throw if expires has a bad string format', function () { | ||
|  |     expect(function () { | ||
|  |       jwt.sign({foo: 123}, '123', { expiresIn: '1 monkey' }); | ||
|  |     }).to.throw(/bad "expiresIn" format: 1 monkey/); | ||
|  |   }); | ||
|  | 
 | ||
|  |   it('should throw if expires is not an string or number', function () { | ||
|  |     expect(function () { | ||
|  |       jwt.sign({foo: 123}, '123', { expiresIn: { crazy : 213 } }); | ||
|  |     }).to.throw(/"expiresIn" should be a number of seconds or string representing a timespan/); | ||
|  |   }); | ||
|  | 
 | ||
|  | }); |