react / wstein / node_modules / jest-cli / node_modules / jsdom / node_modules / request / node_modules / hawk / test / utils.js
81146 views// Load modules12var Code = require('code');3var Hawk = require('../lib');4var Lab = require('lab');5var Package = require('../package.json');678// Declare internals910var internals = {};111213// Test shortcuts1415var lab = exports.lab = Lab.script();16var describe = lab.experiment;17var it = lab.test;18var expect = Code.expect;192021describe('Hawk', function () {2223describe('Utils', function () {2425describe('#parseHost', function () {2627it('returns port 80 for non tls node request', function (done) {2829var req = {30method: 'POST',31url: '/resource/4?filter=a',32headers: {33host: 'example.com',34'content-type': 'text/plain;x=y'35}36};3738expect(Hawk.utils.parseHost(req, 'Host').port).to.equal(80);39done();40});4142it('returns port 443 for non tls node request', function (done) {4344var req = {45method: 'POST',46url: '/resource/4?filter=a',47headers: {48host: 'example.com',49'content-type': 'text/plain;x=y'50},51connection: {52encrypted: true53}54};5556expect(Hawk.utils.parseHost(req, 'Host').port).to.equal(443);57done();58});5960it('returns port 443 for non tls node request (IPv6)', function (done) {6162var req = {63method: 'POST',64url: '/resource/4?filter=a',65headers: {66host: '[123:123:123]',67'content-type': 'text/plain;x=y'68},69connection: {70encrypted: true71}72};7374expect(Hawk.utils.parseHost(req, 'Host').port).to.equal(443);75done();76});7778it('parses IPv6 headers', function (done) {7980var req = {81method: 'POST',82url: '/resource/4?filter=a',83headers: {84host: '[123:123:123]:8000',85'content-type': 'text/plain;x=y'86},87connection: {88encrypted: true89}90};9192var host = Hawk.utils.parseHost(req, 'Host');93expect(host.port).to.equal('8000');94expect(host.name).to.equal('[123:123:123]');95done();96});97});9899describe('#version', function () {100101it('returns the correct package version number', function (done) {102103expect(Hawk.utils.version()).to.equal(Package.version);104done();105});106});107108describe('#unauthorized', function () {109110it('returns a hawk 401', function (done) {111112expect(Hawk.utils.unauthorized('kaboom').output.headers['WWW-Authenticate']).to.equal('Hawk error="kaboom"');113done();114});115});116});117});118119120121122