connect-vtexid
Version:
VTEX ID Authentication middleware for Connect
47 lines (35 loc) • 1.32 kB
text/coffeescript
###
Module dependencies.
###
should = require 'should'
parseCookies = require '../libs/cookie-parser'
describe 'Lib', ->
describe '#parseCookies()', ->
it 'should exist as a public function', (done) ->
parseCookies.should.be.a.Function
done()
it 'should return an object with all cookies from request', (done) ->
cookies = "cookie1=19ciFA90fAUDJoi==; cookie2=dJAS)(uAIJ23878(AhHDAHdiu19"
req =
headers:
cookie: cookies
cookieList = parseCookies req
cookieList.should.have.keys ['cookie1', 'cookie2']
cookieList.cookie1.should.be.equal '19ciFA90fAUDJoi=='
cookieList.cookie2.should.be.equal 'dJAS)(uAIJ23878(AhHDAHdiu19'
done()
it 'should ignore cookies that have bad encoding', (done) ->
cookies = "cookie1=19ciFA90fAUDJoi==; cookie2=dJAS)(uAIJ23878(AhHDAHdiu19; cookie3=dasye%'ff'"
req =
headers:
cookie: cookies
cookieList = parseCookies req
cookieList.should.have.keys ['cookie1', 'cookie2']
cookieList.cookie1.should.be.equal '19ciFA90fAUDJoi=='
cookieList.cookie2.should.be.equal 'dJAS)(uAIJ23878(AhHDAHdiu19'
done()
it 'should return an empty object if there are no cookies', (done) ->
cookieList = parseCookies headers: {}
cookieList.should.be.an.Object
cookieList.should.be.empty
done()