Skip to content

Commit f097c22

Browse files
Merge pull request #404 from jgilbert01/no-publish-if-empty-object
Do not create publish request entity if event is an empty object
2 parents 8ef72df + e4c8cd5 commit f097c22

4 files changed

Lines changed: 25 additions & 4 deletions

File tree

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "aws-lambda-stream",
3-
"version": "1.0.31",
3+
"version": "1.0.32",
44
"description": "Create stream processors with AWS Lambda functions.",
55
"keywords": [
66
"aws",

src/sinks/eventbridge.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ export const publishToEventBridge = ({ // eslint-disable-line import/prefer-defa
3232

3333
const toPublishRequestEntry = (uow) => ({
3434
...uow,
35-
[publishRequestEntryField]: uow[eventField] ? {
35+
[publishRequestEntryField]: uow[eventField] && Object.keys(uow[eventField]).length > 0 ? {
3636
EventBusName: busName,
3737
Source: source,
3838
DetailType: uow[eventField].type,

test/unit/sinks/eventbridge.test.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,27 @@ describe('sinks/eventbridge.js', () => {
105105
.done(done);
106106
});
107107

108+
it('should not publish when emit field is empty object', (done) => {
109+
const uows = [{
110+
emit: {},
111+
}];
112+
113+
_(uows)
114+
.through(publish(
115+
{
116+
eventField: 'emit', busName: 'b1', debug: (msg, v) => console.log(msg, v), metricsEnabled: true,
117+
},
118+
))
119+
.collect()
120+
.tap((collected) => {
121+
// console.log(JSON.stringify(collected, null, 2));
122+
123+
expect(collected.length).to.equal(1);
124+
expect(collected[0].publishRequestEntry).to.be.undefined;
125+
})
126+
.done(done);
127+
});
128+
108129
it('should reject with a fault', (done) => {
109130
sinon.stub(Connector.prototype, 'putEvents').rejects('test error');
110131

0 commit comments

Comments
 (0)