c9-core/node_modules/c9/cookie-signature-wrapper_te...

39 wiersze
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);
});
});
});