25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.

token.js 1.3 KiB

8 yıl önce
8 yıl önce
8 yıl önce
12345678910111213141516171819202122232425262728
  1. import test from 'ava';
  2. import Token from '../src/api/token';
  3. test('token is near the end', t => {
  4. const token = new Token('eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmb28iOiJiYXIiLCJpYXQiOjE0MzcwMTg1ODIsImV4cCI6MTQzNzAxODU4M30.NmMv7sXjM1dW0eALNXud8LoXknZ0mH14GtnFclwJv0s');
  5. t.true(token.expiresInMinutes(15, new Date(1437018283 * 1000)));
  6. t.false(token.expiresInMinutes(5, new Date(1437018283 * 1000)));
  7. });
  8. test('token still valid', t => {
  9. const token = new Token('eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmb28iOiJiYXIiLCJpYXQiOjE0MzcwMTg1ODIsImV4cCI6MTc1NzkyODQzNH0.KzEBhVgm3xa51jsBklB0Ib9DDwAkvynOnkwLLJoD5AU');
  10. t.true(token.stillValid());
  11. });
  12. test('token still valid check payload date', t => {
  13. const token = new Token('eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmb28iOiJiYXIiLCJpYXQiOjE0MzcwMTg1ODIsImV4cCI6MTQzNzAxODU4M30.NmMv7sXjM1dW0eALNXud8LoXknZ0mH14GtnFclwJv0s');
  14. t.true(token.stillValid(new Date(1437018283 * 1000)));
  15. });
  16. test('token expired', t => {
  17. const token = new Token('eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmb28iOiJiYXIiLCJpYXQiOjE0MzcwMTg1ODIsImV4cCI6MTQzNzAxODU4M30.NmMv7sXjM1dW0eALNXud8LoXknZ0mH14GtnFclwJv0s');
  18. t.false(token.stillValid());
  19. });
  20. test('token invalid does not raise an error', t => {
  21. const token = new Token('eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9');
  22. t.false(token.stillValid());
  23. });