From aa245ba7fff72d8a849a7475845bd362b9423ca4 Mon Sep 17 00:00:00 2001 From: Michael Robinson Date: Sun, 24 Jan 2016 22:47:54 +1300 Subject: [PATCH 01/14] Added travis config --- .travis.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..0439abd --- /dev/null +++ b/.travis.yml @@ -0,0 +1,13 @@ +language: node_js +node_js: + - "4.1" + - "4.0" + - "0.12" + - "0.11" + - "0.10" + - "0.8" + - "0.6" + - "iojs" +before_script: + - gem install fakes3 + - fakes3 -r /tmp/fakes3_root -p 4567 From 97a90cdaaf73c359ce4efb969a0f5b1166ddffd8 Mon Sep 17 00:00:00 2001 From: Michael Robinson Date: Sun, 24 Jan 2016 22:50:11 +1300 Subject: [PATCH 02/14] No SSL for tests --- test/test.js | 1 + 1 file changed, 1 insertion(+) diff --git a/test/test.js b/test/test.js index 4b60b52..895e86c 100644 --- a/test/test.js +++ b/test/test.js @@ -37,6 +37,7 @@ function createClient() { accessKeyId: process.env.S3_KEY, secretAccessKey: process.env.S3_SECRET, endpoint: process.env.S3_ENDPOINT, + sslEnabled: false }, }); } From e05ec8908a729429f474a2fdd074d34fb8dc23c9 Mon Sep 17 00:00:00 2001 From: Michael Robinson Date: Sun, 24 Jan 2016 22:53:02 +1300 Subject: [PATCH 03/14] INstall fakes3 properly --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 0439abd..6d6077f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,6 +8,6 @@ node_js: - "0.8" - "0.6" - "iojs" +install: gem install fakes3 before_script: - - gem install fakes3 - fakes3 -r /tmp/fakes3_root -p 4567 From cbe5679bb0ad75a8d8a65c484ad25ff6edb605cb Mon Sep 17 00:00:00 2001 From: Michael Robinson Date: Sun, 24 Jan 2016 22:53:58 +1300 Subject: [PATCH 04/14] Fork server --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 6d6077f..6284e6e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,4 +10,4 @@ node_js: - "iojs" install: gem install fakes3 before_script: - - fakes3 -r /tmp/fakes3_root -p 4567 + - fakes3 -r /tmp/fakes3_root -p 4567 & From bd215f13e4fbc5e0cb1045d6cd9b4d8dd283e7b5 Mon Sep 17 00:00:00 2001 From: Michael Robinson Date: Sun, 24 Jan 2016 23:01:37 +1300 Subject: [PATCH 05/14] Added npm-install to travis --- .travis.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 6284e6e..90585f5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,6 +8,8 @@ node_js: - "0.8" - "0.6" - "iojs" -install: gem install fakes3 +install: + - gem install fakes3 + - npm install before_script: - fakes3 -r /tmp/fakes3_root -p 4567 & From 1de71c547a6b1806bc98e0ecfb43112ea74651f3 Mon Sep 17 00:00:00 2001 From: Michael Robinson Date: Sun, 24 Jan 2016 23:03:51 +1300 Subject: [PATCH 06/14] Change fakes3 tmp to mnt --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 90585f5..99c4a24 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,4 +12,4 @@ install: - gem install fakes3 - npm install before_script: - - fakes3 -r /tmp/fakes3_root -p 4567 & + - fakes3 -r /mnt/fakes3_root -p 4567 & From 00366e5f85ef657cb788e1426a18323be7e18a8c Mon Sep 17 00:00:00 2001 From: Michael Robinson Date: Sun, 24 Jan 2016 23:36:51 +1300 Subject: [PATCH 07/14] Added create bucket --- lib/index.js | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/lib/index.js b/lib/index.js index e06e0fc..d0e071b 100644 --- a/lib/index.js +++ b/lib/index.js @@ -64,6 +64,12 @@ function Client(options) { } } +Client.prototype.createBucket = function createBucket(bucket, cb) { + this.s3.createBucket({ + Bucket: bucket + }, cb); +} + Client.prototype.deleteObjects = function(s3Params) { var self = this; var ee = new EventEmitter(); @@ -102,7 +108,7 @@ Client.prototype.deleteObjects = function(s3Params) { cb(); } }); - }); + }); function tryDeletingObjects(cb) { self.s3Pend.go(function(pendCb) { @@ -460,7 +466,7 @@ Client.prototype.downloadFile = function(params) { if (statusCode >= 300) { handleError(new Error("http status code " + statusCode)); return; - } + } if (headers['content-length'] == undefined) { var outStream = fs.createWriteStream(localFile); outStream.on('error', handleError); @@ -470,14 +476,14 @@ Client.prototype.downloadFile = function(params) { downloader.progressTotal += chunk.length; downloader.progressAmount += chunk.length; downloader.emit('progress'); - outStream.write(chunk); + outStream.write(chunk); }) - request.on('httpDone', function() { + request.on('httpDone', function() { if (errorOccurred) return; downloader.progressAmount += 1; downloader.emit('progress'); - outStream.end(); + outStream.end(); cb(); }) } else { From 2c088e212e136d2bce637201e6b31b1addf7ad46 Mon Sep 17 00:00:00 2001 From: Michael Robinson Date: Sun, 24 Jan 2016 23:36:59 +1300 Subject: [PATCH 08/14] Added hostnames to travis --- .travis.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 99c4a24..0399e13 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,8 +8,7 @@ node_js: - "0.8" - "0.6" - "iojs" -install: - - gem install fakes3 - - npm install -before_script: - - fakes3 -r /mnt/fakes3_root -p 4567 & +addons: + hosts: + - node-s3-test.localhost + - s3-bucket.localhost From ff7d5eb2ac48c06837ab351691baa1afcd0aefd8 Mon Sep 17 00:00:00 2001 From: Michael Robinson Date: Sun, 24 Jan 2016 23:38:22 +1300 Subject: [PATCH 09/14] Create test dir before tests --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index 0399e13..755a035 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,6 +8,8 @@ node_js: - "0.8" - "0.6" - "iojs" +before_script: + - mkdir -m 777 /tmp/s3rver_test_directory addons: hosts: - node-s3-test.localhost From ddd9ca51ffd145cadc8ad5d9469d1c7dd4452c53 Mon Sep 17 00:00:00 2001 From: Michael Robinson Date: Sun, 24 Jan 2016 23:39:37 +1300 Subject: [PATCH 10/14] Added s3ver, more complete than fakes3 --- test/test.js | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/test/test.js b/test/test.js index 895e86c..ab5ca9e 100644 --- a/test/test.js +++ b/test/test.js @@ -64,6 +64,30 @@ function createBigFile(size, cb) { }); } +var S3rver = require('s3rver'); +var client; + +before(function (done) { + client = new S3rver({ + port: 4567, + hostname: 'localhost', + silent: false, + directory: '/tmp/s3rver_test_directory' + }).run(function (err, host, port) { + if(err) { + return done(err); + } + var client = createClient() + client.createBucket(process.env.S3_BUCKET, function() { + client.createBucket(remoteRoot.replace(/\//, ''), done); + }); + }); +}); + +after(function (done) { + client.close(done); +}); + var file1Md5 = "b1946ac92492d2347c6235b4d2611184"; describe("MultipartETag", function() { it("returns unmodified digest", function(done) { From 7bb5450cfa38ec9a9ba8594dd4a101850c73852a Mon Sep 17 00:00:00 2001 From: Michael Robinson Date: Mon, 25 Jan 2016 13:18:42 +1300 Subject: [PATCH 11/14] Run s3ninja --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 755a035..b6f827e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,7 +9,8 @@ node_js: - "0.6" - "iojs" before_script: - - mkdir -m 777 /tmp/s3rver_test_directory + - docker run -p "9444:9444" 66pix/s3ninja:latest & + - sleep 10 addons: hosts: - node-s3-test.localhost From 1929a3c8ce509ee222b451f5e62f44ef4b9b3454 Mon Sep 17 00:00:00 2001 From: Michael Robinson Date: Mon, 25 Jan 2016 13:19:15 +1300 Subject: [PATCH 12/14] Don't use s3rver, use s3ninja --- test/test.js | 27 +-------------------------- 1 file changed, 1 insertion(+), 26 deletions(-) diff --git a/test/test.js b/test/test.js index ab5ca9e..142bb5c 100644 --- a/test/test.js +++ b/test/test.js @@ -64,30 +64,6 @@ function createBigFile(size, cb) { }); } -var S3rver = require('s3rver'); -var client; - -before(function (done) { - client = new S3rver({ - port: 4567, - hostname: 'localhost', - silent: false, - directory: '/tmp/s3rver_test_directory' - }).run(function (err, host, port) { - if(err) { - return done(err); - } - var client = createClient() - client.createBucket(process.env.S3_BUCKET, function() { - client.createBucket(remoteRoot.replace(/\//, ''), done); - }); - }); -}); - -after(function (done) { - client.close(done); -}); - var file1Md5 = "b1946ac92492d2347c6235b4d2611184"; describe("MultipartETag", function() { it("returns unmodified digest", function(done) { @@ -122,8 +98,7 @@ describe("s3", function () { Prefix: remoteRoot, Bucket: s3Bucket, }; - var deleter = client.deleteDir(s3Params); - deleter.on('end', function() { + client.createBucket(s3Bucket, function() { done(); }); }); From 2a057a02e5ef27969a75e9a0b4b70765ec35db95 Mon Sep 17 00:00:00 2001 From: Michael Robinson Date: Mon, 25 Jan 2016 17:01:08 +1300 Subject: [PATCH 13/14] Use docker in travis --- .travis.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.travis.yml b/.travis.yml index b6f827e..a3ff7c3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,3 +1,6 @@ +sudo: required +services: + - docker language: node_js node_js: - "4.1" From a374a3a27d6a6a9bb13b7616626f13d9ee20ac8b Mon Sep 17 00:00:00 2001 From: Michael Robinson Date: Mon, 25 Jan 2016 17:03:23 +1300 Subject: [PATCH 14/14] Update .travis.yml --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index a3ff7c3..fae0b97 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,6 +11,8 @@ node_js: - "0.8" - "0.6" - "iojs" +before_install: + - docker pull 66pix/s3ninja:latest before_script: - docker run -p "9444:9444" 66pix/s3ninja:latest & - sleep 10