12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- //for browser compatibility
- if (!chai) var chai = require('chai');
- if (!fernet) var fernet = require('../fernet');
- var assert = chai.assert;
- var testData = {
- "token": "gAAAAAAdwJ6wAAECAwQFBgcICQoLDA0ODy021cpGVWKZ_eEwCGM4BLLF_5CV9dOPmrhuVUPgJobwOz7JcbmrR64jVmpU4IwqDA==",
- "now": "1985-10-26T01:20:00-07:00",
- "iv": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
- "src": "hello",
- "secret": "cw_0x689RpI-jtRR7oE8h_eQsKImvJapLeSbXpwF4e4="
- }
- suite('fernet.Token', function () {
- test('contains a version', function () {
- var token = new fernet.Token()
- assert.equal(128, token.version)
- })
- })
- suite('fernet.Token.prototype.encode', function () {
- var secret = new fernet.Secret(testData.secret);
- test("encode(message)", function () {
- var token = new fernet.Token({
- secret: secret,
- iv: testData.iv,
- time: testData.now
- })
- token.encode(testData.src);
- assert.equal(testData.token, token.toString());
- })
- test("token.encode() makes token.toString() return the token", function () {
- var token = new fernet.Token({
- secret: secret,
- iv: testData.iv,
- time: testData.now,
- message: testData.src
- })
- token.encode();
- assert.equal(testData.token, token.toString());
- })
- test("encode() returns the token as a String", function () {
- var token = new fernet.Token({
- secret: secret,
- iv: testData.iv,
- time: testData.now
- })
- assert.equal(token.encode(testData.src), testData.token);
- })
- test("randomly generates IV if one is not passed in", function () {
- var token = new fernet.Token({
- secret: secret,
- time: testData.now
- })
- var tokenString = token.encode(testData.src);
- assert.notEqual(tokenString, testData.token);
- var tokenString2 = token.encode(testData.src);
- assert.notEqual(tokenString, tokenString2);
- })
- test('time defaults to Date.now()', function () {
- var token = new fernet.Token({
- secret: secret
- })
- var cipherText = token.encode('foo');
- var recovered = token.decode(cipherText);
- assert.equal(recovered, 'foo');
- })
- })
|