core/node_modules/c9/cookie-signature-wrapper_test.js
Matthijs van Henten 3cae944004 adds a test
2016-11-09 12:46:32 +00:00

39 lines
1.3 KiB
JavaScript

"use strict";
"use server";
require("c9/inline-mocha")(module);
var assert = require("assert");
var wrapper = require("./cookie-signature-wrapper");
var cookieSignature = require("cookie-signature");
describe("c9/cookie-signature-wrapper", function() {
it("should sign a hash", function() {
var hash = Math.random().toString(16);
var secret = Math.random().toString(16);
assert.equal(wrapper.sign(hash, secret), cookieSignature.sign(hash, secret));
});
it("should sign a hash with the first secret from an array", function() {
var secrets = ["swordfish", "baseball", "foobar"];
var hash = Math.random().toString(16);
assert.equal(wrapper.sign(hash, secrets), cookieSignature.sign(hash, secrets[1]));
assert.ok(wrapper.sign(hash, secrets), cookieSignature.sign(hash, secrets[0]));
});
it("should unsign a hash signed with any of the known secrets", function() {
var secrets = ["swordfish", "baseball", "foobar"];
var hash = Math.random().toString(16);
secrets.forEach(function(secret) {
var signed = cookieSignature.sign(hash, secret);
assert.equal(wrapper.unsign(signed, secrets), hash);
assert.equal(wrapper.unsign(signed, secret), hash);
});
});
});