UNPKG

awssum-amazon-s3

Version:

AwsSum plugin for Amazon Simple Storage Service (S3).

72 lines (61 loc) 2.36 kB
// -------------------------------------------------------------------------------------------------------------------- // // integration/agent.js - integration tests for agent, using Amazon S3 // // Copyright (c) 2012 AppsAttic Ltd - http://www.appsattic.com/ // Written by Andrew Chilton <chilts@appsattic.com> // // License: http://opensource.org/licenses/MIT // // -------------------------------------------------------------------------------------------------------------------- // requires var https = require('https'); var fs = require('fs'); var test = require('tap').test; var amazonS3 = require('../../awssum-amazon-s3'); var S3 = amazonS3.S3; // -------------------------------------------------------------------------------------------------------------------- var env = process.env; var noAgent, withAgent, falseAgent; try { noAgent = new S3({ 'accessKeyId' : env.ACCESS_KEY_ID, 'secretAccessKey' : env.SECRET_ACCESS_KEY, 'region' : amazonS3.US_EAST_1, }); withAgent = new S3({ 'accessKeyId' : env.ACCESS_KEY_ID, 'secretAccessKey' : env.SECRET_ACCESS_KEY, 'region' : amazonS3.US_EAST_1, 'agent' : new https.Agent({ maxSockets: 1 }), }); falseAgent = new S3({ 'accessKeyId' : env.ACCESS_KEY_ID, 'secretAccessKey' : env.SECRET_ACCESS_KEY, 'region' : amazonS3.US_EAST_1, 'agent' : false, }); } catch(e) { // env vars aren't set, so skip these integration tests process.exit(); } // -------------------------------------------------------------------------------------------------------------------- // Amazon:S3 operations var bucket = 'pie-18'; var clients = { 'noAgent' : noAgent, 'withAgent' : withAgent, 'falseAgent' : falseAgent }; Object.keys(clients).forEach(function(name, i) { var client = clients[name]; test('S3:ListBuckets - ' + name, function(t) { client.ListBuckets(function(err, data) { t.equal(err, null, 'S3:ListBuckets - ' + name + ' : Error should be null'); t.ok(data, 'S3:ListBuckets - ' + name + ' : data ok'); t.end(); }); }); }); // --------------------------------------------------------------------------------------------------------------------