123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- /**
- * Created by bmf on 10/31/13.
- */
- "use strict";
- var assert = require('assert');
- var crypto = require('crypto');
- var sodium = require('../build/Release/sodium');
- describe('OneTimeAuth', function() {
- it('should validate', function(done) {
- var buf = crypto.randomBytes(256);
- var key = crypto.randomBytes(sodium.crypto_auth_KEYBYTES);
- var token = sodium.crypto_onetimeauth(buf, key);
- var r = sodium.crypto_onetimeauth_verify(token, buf, key);
- assert.equal(r, 0);
- done();
- });
- });
- describe('crypto_onetimeauth verify parameters', function() {
- var buf = crypto.randomBytes(256);
- var key = crypto.randomBytes(sodium.crypto_auth_KEYBYTES);
- it('bad param 1 string', function(done) {
- buf = "123";
- assert.throws(function() {
- var token = sodium.crypto_onetimeauth(buf, key);
- });
- done();
- });
- it('bad param 1 number', function(done) {
- buf = 123;
- assert.throws(function() {
- var token = sodium.crypto_onetimeauth(buf, key);
- });
- done();
- });
- it('bad param 2 string', function(done) {
- key = "123";
- assert.throws(function() {
- var token = sodium.crypto_onetimeauth(buf, key);
- });
- done();
- });
- it('bad param 2 buffer', function(done) {
- key = Buffer.allocUnsafe(2);
- assert.throws(function() {
- var token = sodium.crypto_onetimeauth(buf, key);
- });
- done();
- });
- it('bad param 2 number', function(done) {
- key = 123;
- assert.throws(function() {
- var token = sodium.crypto_onetimeauth(buf, key);
- });
- done();
- });
- });
- describe('crypto_onetimeauth_verify verify parameters', function() {
- var buf = crypto.randomBytes(256);
- var key = crypto.randomBytes(sodium.crypto_auth_KEYBYTES);
- var token = sodium.crypto_onetimeauth(buf, key);
- it('bad param 1 string', function(done) {
- token = "token";
- assert.throws(function() {
- var r = sodium.crypto_onetimeauth_verify(token, buf, key);
- });
- done();
- });
- it('bad param 1 small buffer', function(done) {
- token = Buffer.allocUnsafe(2);
- assert.throws(function() {
- var r = sodium.crypto_onetimeauth_verify(token, buf, key);
- });
- done();
- });
- it('bad param 1 small number', function(done) {
- token = 2;
- assert.throws(function() {
- var r = sodium.crypto_onetimeauth_verify(token, buf, key);
- });
- done();
- });
- it('bad param 2 string', function(done) {
- buf = "qweqw";
- assert.throws(function() {
- var r = sodium.crypto_onetimeauth_verify(token, buf, key);
- });
- done();
- });
- it('bad param 2 small number', function(done) {
- buf = 1;
- assert.throws(function() {
- var r = sodium.crypto_onetimeauth_verify(token, buf, key);
- });
- done();
- });
- it('bad param 3 string', function(done) {
- key = "qweqw";
- assert.throws(function() {
- var r = sodium.crypto_onetimeauth_verify(token, buf, key);
- });
- done();
- });
- it('bad param 3 buffer', function(done) {
- key = Buffer.allocUnsafe(2);
- assert.throws(function() {
- var r = sodium.crypto_onetimeauth_verify(token, buf, key);
- });
- done();
- });
- it('bad param 3 small number', function(done) {
- key = 1;
- assert.throws(function() {
- var r = sodium.crypto_onetimeauth_verify(token, buf, key);
- });
- done();
- });
- });
|