%PDF- %PDF-
| Direktori : /home/opti/workflow/node_modules/aws-sdk/test/signers/ |
| Current File : /home/opti/workflow/node_modules/aws-sdk/test/signers/v2.spec.coffee |
AWS = require('../helpers').AWS
describe 'AWS.Signers.V2', ->
credentials = null
date = null
request = null
signer = null
buildRequest = ->
request = new AWS.HttpRequest(new AWS.Endpoint('localhost'))
request.params = {}
request
buildSigner = (request) ->
new AWS.Signers.V2(request)
signRequest = (request) ->
signer = new AWS.Signers.V2(request)
signer.addAuthorization(credentials, date)
beforeEach ->
credentials = { accessKeyId:'akid', secretAccessKey:'secret' }
date = new Date(1935346573456)
signRequest(buildRequest())
stringify = AWS.util.queryParamsToString
describe 'constructor', ->
it 'builds a signer for a request object', ->
expect(signer.request).toBe(request)
describe 'addAuthorization', ->
it 'adds a url encoded iso8601 timestamp param', ->
expect(stringify(request.params)).toMatch(/Timestamp=2031-04-30T20%3A16%3A13.456Z/)
it 'adds a SignatureVersion param', ->
expect(stringify(request.params)).toMatch(/SignatureVersion=2/)
it 'adds a SignatureMethod param', ->
expect(stringify(request.params)).toMatch(/SignatureMethod=HmacSHA256/)
it 'adds an AWSAccessKeyId param', ->
expect(stringify(request.params)).toMatch(/AWSAccessKeyId=akid/)
it 'omits SecurityToken when sessionToken has been omitted', ->
expect(stringify(request.params)).not.toMatch(/SecurityToken/)
it 'adds the SecurityToken when sessionToken is provided', ->
credentials.sessionToken = 'session'
signRequest(buildRequest())
expect(stringify(request.params)).toMatch(/SecurityToken=session/)
it 'populates the body', ->
expect(request.body).toEqual('AWSAccessKeyId=akid&Signature=%2FrumhWptMPvyb4aaeOv5iGpl6%2FLfs5uVHu8k1d3NNfc%3D&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2031-04-30T20%3A16%3A13.456Z')
it 'populates content-length header', ->
expect(request.headers['Content-Length']).toEqual(165)
it 'signs additional body params', ->
request = buildRequest()
request.params['Param.1'] = 'abc'
request.params['Param.2'] = 'xyz'
signRequest(request)
expect(request.body).toEqual('AWSAccessKeyId=akid&Param.1=abc&Param.2=xyz&Signature=3pcXIWw0eVd4wFmp%2Blo24L93UTMGcYSNE%2BFYNNqzDts%3D&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2031-04-30T20%3A16%3A13.456Z')