Socket
Socket
Sign inDemoInstall

btrz-pact-s3

Package Overview
Dependencies
156
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.4.2 to 0.4.3

94

index.js

@@ -160,8 +160,4 @@ "use strict";

function resolver(resolve, reject) {
s3Client.listObjects({Bucket: self.bucket}, (err, data) => {
if (err) {
return reject(err);
}
return s3Client.listObjects({Bucket: self.bucket}).promise()
.then((data) => {
let keysFromProvider = data.Contents.filter((content) => {

@@ -175,25 +171,71 @@ return (content.Key.indexOf(`${providerName.toLowerCase()}/`) === 0);

let pactFiles = [];
for (var i=0; i < keysFromProvider.length; i++) {
let filePath = `${__dirname}/pacts-to-verify/${path.basename(keysFromProvider[i])}`;
let file = fs.createWriteStream(filePath);
s3Client.getObject({Bucket: self.bucket, Key: keysFromProvider[i]}).createReadStream().pipe(file);
pactFiles.push(filePath);
}
var opts = {
return Promise.all(keysFromProvider.map((key) => {
return s3Client.getObject({Bucket: self.bucket, Key: key}).promise()
.then((data) => {
let filePath = `${__dirname}/pacts-to-verify/${path.basename(key)}`;
fs.createWriteStream(filePath).write(data);
return filePath;
});
})
);
})
.then((filePaths) => {
let opts = {
providerBaseUrl: providerBaseUrl,
pactUrls: pactFiles
pactUrls: filePaths
};
return pact.verifyPacts(opts);
})
.catch((err) => {
if (this.logger) {
this.logger.error(`Error on BtrzPactS3::verifyPacts()`, err);
}
throw err;
});
pact.verifyPacts(opts)
.then((result) => {
return resolve(result);
})
.catch((err) => {
return reject(err);
});
});
}
return new Promise(resolver);
// function resolver(resolve, reject) {
// s3Client.listObjects({Bucket: self.bucket}, (err, data) => {
// if (err) {
// if (self.logger) {
// self.logger.error(`Error on BtrzPactS3::verifyPacts()`, err);
// }
// return reject(err);
// }
// let keysFromProvider = data.Contents.filter((content) => {
// return (content.Key.indexOf(`${providerName.toLowerCase()}/`) === 0);
// }).map((content) => {return content.Key});
// if (keysFromProvider.length === 0) {
// return reject(new Error(`There are no pacts for the provider ${providerName}`));
// }
// let pactFiles = [];
// for (var i=0; i < keysFromProvider.length; i++) {
// let filePath = `${__dirname}/pacts-to-verify/${path.basename(keysFromProvider[i])}`;
// let file = fs.createWriteStream(filePath);
// //s3Client.getObject({Bucket: self.bucket, Key: keysFromProvider[i]}).createReadStream().pipe(file);
// s3Client.getObject({Bucket: self.bucket, Key: keysFromProvider[i]}).promise()
// .then((data) => {
// file.write(data);
// pactFiles.push(filePath);
// });
// }
// var opts = {
// providerBaseUrl: providerBaseUrl,
// pactUrls: pactFiles
// };
// pact.verifyPacts(opts)
// .then((result) => {
// return resolve(result);
// })
// .catch((err) => {
// return reject(err);
// });
// });
// }
// return new Promise(resolver);
}

@@ -200,0 +242,0 @@

{
"name": "btrz-pact-s3",
"version": "0.4.2",
"version": "0.4.3",
"description": "A consumer-driven Pact library for NodeJs to publish pacts to AWS S3 and verify them",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -164,19 +164,17 @@ "use strict";

sinon.stub(s3Client, "listObjects", (opts, cb) => {
sinon.stub(s3Client, "listObjects", (opts) => {
expect(opts.Bucket).to.be.eql(options.bucket);
s3Client.listObjects.restore();
cb(null,{ Contents: [{Key: "provider/consumer/pact-file.json"}]});
return {
promise: function () {return Promise.resolve({ Contents: [{Key: "provider/consumer/pact-file.json"}]});}
};
});
sinon.stub(s3Client, "getObject", (opts, cb) => {
sinon.stub(s3Client, "getObject", (opts) => {
expect(opts.Bucket).to.be.eql(options.bucket);
expect(opts.Key).to.be.eql("provider/consumer/pact-file.json");
s3Client.getObject.restore();
class S3MockObject {
static createReadStream() {
return require("fs").createReadStream("./");
}
}
return S3MockObject;
return {
promise: function () {return Promise.resolve("{testing:true}");}
};
});

@@ -208,6 +206,8 @@

sinon.stub(s3Client, "listObjects", (opts, cb) => {
sinon.stub(s3Client, "listObjects", (opts) => {
expect(opts.Bucket).to.be.eql(options.bucket);
s3Client.listObjects.restore();
cb(null,{ Contents: [{Key: "another_provider/consumer/pact-file.json"}]});
return {
promise: function () {return Promise.resolve({ Contents: [{Key: "another_provider/consumer/pact-file.json"}]});}
};
});

@@ -230,6 +230,8 @@

sinon.stub(s3Client, "listObjects", (opts, cb) => {
sinon.stub(s3Client, "listObjects", (opts) => {
expect(opts.Bucket).to.be.eql(options.bucket);
s3Client.listObjects.restore();
cb(new Error("error!"), {});
return {
promise: function () {return Promise.reject(new Error("error!"));}
};
});

@@ -236,0 +238,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc