sodium
Version:
Lib Sodium port for node.js
134 lines (116 loc) • 4.28 kB
JavaScript
/**
* Created by bmf on 10/31/13.
*/
;
var assert = require('assert');
var sodium = require('../build/Release/sodium');
describe('String Comparison', function() {
it('crypto_verify_16 throw with strings smaller than 16 bytes', function(done) {
var string1 = Buffer.from("1234", "ascii");
var string2 = Buffer.from("1234", "ascii");
assert.throws(function() {
var r = sodium.crypto_verify_16(string1, string2);
});
done();
});
it('crypto_verify_16 should return 0 when strings are equal', function(done) {
var string1 = Buffer.from("0123456789ABCDEF", "ascii");
var string2 = Buffer.from("0123456789ABCDEF", "ascii");
var r = sodium.crypto_verify_16(string1, string2);
assert.equal(r, 0);
done();
});
it('crypto_verify_16 should return -1 when strings are different', function(done) {
var string1 = Buffer.from("0123456789ABCDEF", "ascii");
var string2 = Buffer.from("0023456789ABCDEF", "ascii");
var r = sodium.crypto_verify_16(string1, string2);
assert.equal(r, -1);
done();
});
it('crypto_verify_32 throw with strings smaller than 32 bytes', function(done) {
var string1 = Buffer.from("1234", "ascii");
var string2 = Buffer.from("1234", "ascii");
assert.throws(function() {
var r = sodium.crypto_verify_32(string1, string2);
});
done();
});
it('crypto_verify_32 should return 0 when strings are equal', function(done) {
var string1 = Buffer.from("0123456789ABCDEF0123456789ABCDEF", "ascii");
var string2 = Buffer.from("0123456789ABCDEF0123456789ABCDEF", "ascii");
var r = sodium.crypto_verify_32(string1, string2);
assert.equal(r, 0);
done();
});
it('crypto_verify_32 return -1 when strings are different', function(done) {
var string1 = Buffer.from("0123456789ABCDEF0123456789ABCDEF", "ascii");
var string2 = Buffer.from("0023456789ABCDEF0123456789ABCDEF", "ascii");
var r = sodium.crypto_verify_32(string1, string2);
assert.equal(r, -1);
done();
});
});
describe("crypto_verify_32 verify parameters", function () {
var string1 = Buffer.from("0123456789ABCDEF0123456789ABCDEF", "ascii");
var string2 = Buffer.from("0123456789ABCDEF0123456789ABCDEF", "ascii");
it('bad param 1 string', function(done) {
string1 = "123";
assert.throws(function() {
var r = sodium.crypto_verify_32(string1, string2);
});
done();
});
it('bad param 1 number', function(done) {
string1 = 123;
assert.throws(function() {
var r = sodium.crypto_verify_32(string1, string2);
});
done();
});
it('bad param 2 string', function(done) {
string2 = "123";
assert.throws(function() {
var r = sodium.crypto_verify_32(string1, string2);
});
done();
});
it('bad param 2 number', function(done) {
string2 = 123;
assert.throws(function() {
var r = sodium.crypto_verify_32(string1, string2);
});
done();
});
});
describe("crypto_verify_16 verify parameters", function () {
var string1 = Buffer.from("0123456789ABCDEF0123456789ABCDEF", "ascii");
var string2 = Buffer.from("0123456789ABCDEF0123456789ABCDEF", "ascii");
it('bad param 1 string', function(done) {
string1 = "123";
assert.throws(function() {
var r = sodium.crypto_verify_16(string1, string2);
});
done();
});
it('bad param 1 number', function(done) {
string1 = 123;
assert.throws(function() {
var r = sodium.crypto_verify_16(string1, string2);
});
done();
});
it('bad param 2 string', function(done) {
string2 = "123";
assert.throws(function() {
var r = sodium.crypto_verify_16(string1, string2);
});
done();
});
it('bad param 2 number', function(done) {
string2 = 123;
assert.throws(function() {
var r = sodium.crypto_verify_16(string1, string2);
});
done();
});
});