|
|
|
|
|
var Lab = require('lab'); |
|
var Hawk = require('../lib'); |
|
|
|
|
|
|
|
|
|
var internals = {}; |
|
|
|
|
|
|
|
|
|
var expect = Lab.expect; |
|
var before = Lab.before; |
|
var after = Lab.after; |
|
var describe = Lab.experiment; |
|
var it = Lab.test; |
|
|
|
|
|
describe('Hawk', function () { |
|
|
|
describe('Crypto', function () { |
|
|
|
describe('#generateNormalizedString', function () { |
|
|
|
it('should return a valid normalized string', function (done) { |
|
|
|
expect(Hawk.crypto.generateNormalizedString('header', { |
|
credentials: { |
|
key: 'dasdfasdf', |
|
algorithm: 'sha256' |
|
}, |
|
ts: 1357747017, |
|
nonce: 'k3k4j5', |
|
method: 'GET', |
|
resource: '/resource/something', |
|
host: 'example.com', |
|
port: 8080 |
|
})).to.equal('hawk.1.header\n1357747017\nk3k4j5\nGET\n/resource/something\nexample.com\n8080\n\n\n'); |
|
|
|
done(); |
|
}); |
|
|
|
it('should return a valid normalized string (ext)', function (done) { |
|
|
|
expect(Hawk.crypto.generateNormalizedString('header', { |
|
credentials: { |
|
key: 'dasdfasdf', |
|
algorithm: 'sha256' |
|
}, |
|
ts: 1357747017, |
|
nonce: 'k3k4j5', |
|
method: 'GET', |
|
resource: '/resource/something', |
|
host: 'example.com', |
|
port: 8080, |
|
ext: 'this is some app data' |
|
})).to.equal('hawk.1.header\n1357747017\nk3k4j5\nGET\n/resource/something\nexample.com\n8080\n\nthis is some app data\n'); |
|
|
|
done(); |
|
}); |
|
|
|
it('should return a valid normalized string (payload + ext)', function (done) { |
|
|
|
expect(Hawk.crypto.generateNormalizedString('header', { |
|
credentials: { |
|
key: 'dasdfasdf', |
|
algorithm: 'sha256' |
|
}, |
|
ts: 1357747017, |
|
nonce: 'k3k4j5', |
|
method: 'GET', |
|
resource: '/resource/something', |
|
host: 'example.com', |
|
port: 8080, |
|
hash: 'U4MKKSmiVxk37JCCrAVIjV/OhB3y+NdwoCr6RShbVkE=', |
|
ext: 'this is some app data' |
|
})).to.equal('hawk.1.header\n1357747017\nk3k4j5\nGET\n/resource/something\nexample.com\n8080\nU4MKKSmiVxk37JCCrAVIjV/OhB3y+NdwoCr6RShbVkE=\nthis is some app data\n'); |
|
|
|
done(); |
|
}); |
|
}); |
|
}); |
|
}); |
|
|
|
|