%PDF-
%PDF-
Mini Shell
Mini Shell
helpers = require('../helpers')
AWS = helpers.AWS
Buffer = AWS.util.Buffer
if AWS.util.isNode()
describe 'AWS.Glacier', ->
glacier = null
beforeEach ->
glacier = new AWS.Glacier()
describe 'building requests', ->
it 'sets accountId to "-" if not set', ->
req = glacier.listVaults()
req.emit('validate', [req])
req.emit('build', [req])
expect(req.httpRequest.path).toEqual('/-/vaults')
it 'will not override accountId if set', ->
req = glacier.listVaults(accountId: 'ABC123')
req.emit('validate', [req])
req.emit('build', [req])
expect(req.httpRequest.path).toEqual('/ABC123/vaults')
describe 'computeChecksums', ->
it 'returns correct linear and tree hash for buffer data', ->
# compute a 5.5 megabyte chunk of data filled with '0' string (0 byte)
# expected values taken from AWS SDK for Ruby
data = new Buffer(1024 * 1024 * 5.5)
data.fill('0')
expected =
linearHash: '68aff0c5a91aa0491752bfb96e3fef33eb74953804f6a2f7b708d5bcefa8ff6b',
treeHash: '154e26c78fd74d0c2c9b3cc4644191619dc4f2cd539ae2a74d5fd07957a3ee6a'
expect(glacier.computeChecksums(data)).toEqual(expected)
describe 'initiateJob', ->
it 'correctly builds the request', ->
helpers.mockHttpResponse 200, {}, ''
params =
vaultName: 'vault-name'
jobParameters:
Format: 'foo'
Type: 'bar'
glacier.initiateJob params, (err, data) ->
req = this.request.httpRequest
expect(req.path).toEqual('/-/vaults/vault-name/jobs')
expect(req.body).toEqual('{"Format":"foo","Type":"bar"}')
describe 'uploadArchive', ->
it 'passes the body along', ->
helpers.mockHttpResponse 200, {}, ''
params =
vaultName: 'vault-name'
body: 'abc'
glacier.uploadArchive params, (err, data) ->
req = this.request.httpRequest
expect(req.method).toEqual('POST')
expect(req.path).toEqual('/-/vaults/vault-name/archives')
expect(req.body).toEqual('abc')
Zerion Mini Shell 1.0