Event receiver for structure version
Signed-off-by: Fabio José <fabiojose@gmail.com>
This commit is contained in:
parent
854d4e38cb
commit
1a88690da6
|
@ -169,7 +169,7 @@ var config = {
|
||||||
|
|
||||||
// The binding instance
|
// The binding instance
|
||||||
var binding = Cloudevent
|
var binding = Cloudevent
|
||||||
.bindings["http-structured0.2"](config);
|
.bindings["http-structured0.2"](config);
|
||||||
|
|
||||||
binding.receive()
|
binding.receive()
|
||||||
.then(cloudevent => {
|
.then(cloudevent => {
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
var expect = require("chai").expect;
|
var expect = require("chai").expect;
|
||||||
var Cloudevent = require("../index.js");
|
var Cloudevent = require("../index.js");
|
||||||
var nock = require("nock");
|
var nock = require("nock");
|
||||||
var ReceiverBinary01 = require("../lib/bindings/http/receiver_binary_0_2.js");
|
var ReceiverStructured01 =
|
||||||
|
require("../lib/bindings/http/receiver_structured_0_2.js");
|
||||||
var http = require("http");
|
var http = require("http");
|
||||||
var request = require("request");
|
var request = require("request");
|
||||||
var Spec02 = require("../lib/specs/spec_0_2.js");
|
var Spec02 = require("../lib/specs/spec_0_2.js");
|
||||||
|
@ -78,89 +79,12 @@ describe("HTTP Transport Binding - Version 0.2", () => {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
|
||||||
|
|
||||||
describe("Binary", () => {
|
|
||||||
describe("JSON Format", () => {
|
|
||||||
it("requires '" + cloudevent.getContenttype() + "' Content-Type in the header", () => {
|
|
||||||
return httpbinary02.emit(cloudevent)
|
|
||||||
.then((response) => {
|
|
||||||
expect(response.config.headers["Content-Type"])
|
|
||||||
.to.equal(cloudevent.getContenttype());
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
it("the request payload should be correct", () => {
|
|
||||||
return httpbinary02.emit(cloudevent)
|
|
||||||
.then((response) => {
|
|
||||||
expect(JSON.parse(response.config.data))
|
|
||||||
.to.deep.equal(cloudevent.getData());
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
it("HTTP Header contains 'ce-type'", () => {
|
|
||||||
return httpbinary02.emit(cloudevent)
|
|
||||||
.then((response) => {
|
|
||||||
expect(response.config.headers)
|
|
||||||
.to.have.property("ce-type");
|
|
||||||
});
|
|
||||||
});
|
|
||||||
it("HTTP Header contains 'ce-specversion'", () => {
|
|
||||||
return httpbinary02.emit(cloudevent)
|
|
||||||
.then((response) => {
|
|
||||||
expect(response.config.headers)
|
|
||||||
.to.have.property("ce-specversion");
|
|
||||||
});
|
|
||||||
});
|
|
||||||
it("HTTP Header contains 'ce-source'", () => {
|
|
||||||
return httpbinary02.emit(cloudevent)
|
|
||||||
.then((response) => {
|
|
||||||
expect(response.config.headers)
|
|
||||||
.to.have.property("ce-source");
|
|
||||||
});
|
|
||||||
});
|
|
||||||
it("HTTP Header contains 'ce-id'", () => {
|
|
||||||
return httpbinary02.emit(cloudevent)
|
|
||||||
.then((response) => {
|
|
||||||
expect(response.config.headers)
|
|
||||||
.to.have.property("ce-id");
|
|
||||||
});
|
|
||||||
});
|
|
||||||
it("HTTP Header contains 'ce-time'", () => {
|
|
||||||
return httpbinary02.emit(cloudevent)
|
|
||||||
.then((response) => {
|
|
||||||
expect(response.config.headers)
|
|
||||||
.to.have.property("ce-time");
|
|
||||||
});
|
|
||||||
});
|
|
||||||
it("HTTP Header contains 'ce-schemaurl'", () => {
|
|
||||||
return httpbinary02.emit(cloudevent)
|
|
||||||
.then((response) => {
|
|
||||||
expect(response.config.headers)
|
|
||||||
.to.have.property("ce-schemaurl");
|
|
||||||
});
|
|
||||||
});
|
|
||||||
it("HTTP Header contains 'ce-" + ext1Name + "'", () => {
|
|
||||||
return httpbinary02.emit(cloudevent)
|
|
||||||
.then((response) => {
|
|
||||||
expect(response.config.headers)
|
|
||||||
.to.have.property("ce-" + ext1Name);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
it("HTTP Header contains 'ce-" + ext2Name + "'", () => {
|
|
||||||
return httpbinary02.emit(cloudevent)
|
|
||||||
.then((response) => {
|
|
||||||
expect(response.config.headers)
|
|
||||||
.to.have.property("ce-" + ext2Name);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
describe("Receiver", () => {
|
describe("Receiver", () => {
|
||||||
var receiver;
|
var receiver;
|
||||||
before(() => {
|
before(() => {
|
||||||
// setup
|
// setup
|
||||||
receiver = new ReceiverBinary01(receiverConfig);
|
receiver = new ReceiverStructured01(receiverConfig);
|
||||||
receiver.receive()
|
receiver.receive()
|
||||||
.then(response => {
|
.then(response => {
|
||||||
console.log(response);
|
console.log(response);
|
||||||
|
@ -249,4 +173,81 @@ describe("HTTP Transport Binding - Version 0.2", () => {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe("Binary", () => {
|
||||||
|
describe("JSON Format", () => {
|
||||||
|
it("requires '" + cloudevent.getContenttype() + "' Content-Type in the header", () => {
|
||||||
|
return httpbinary02.emit(cloudevent)
|
||||||
|
.then((response) => {
|
||||||
|
expect(response.config.headers["Content-Type"])
|
||||||
|
.to.equal(cloudevent.getContenttype());
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it("the request payload should be correct", () => {
|
||||||
|
return httpbinary02.emit(cloudevent)
|
||||||
|
.then((response) => {
|
||||||
|
expect(JSON.parse(response.config.data))
|
||||||
|
.to.deep.equal(cloudevent.getData());
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it("HTTP Header contains 'ce-type'", () => {
|
||||||
|
return httpbinary02.emit(cloudevent)
|
||||||
|
.then((response) => {
|
||||||
|
expect(response.config.headers)
|
||||||
|
.to.have.property("ce-type");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
it("HTTP Header contains 'ce-specversion'", () => {
|
||||||
|
return httpbinary02.emit(cloudevent)
|
||||||
|
.then((response) => {
|
||||||
|
expect(response.config.headers)
|
||||||
|
.to.have.property("ce-specversion");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
it("HTTP Header contains 'ce-source'", () => {
|
||||||
|
return httpbinary02.emit(cloudevent)
|
||||||
|
.then((response) => {
|
||||||
|
expect(response.config.headers)
|
||||||
|
.to.have.property("ce-source");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
it("HTTP Header contains 'ce-id'", () => {
|
||||||
|
return httpbinary02.emit(cloudevent)
|
||||||
|
.then((response) => {
|
||||||
|
expect(response.config.headers)
|
||||||
|
.to.have.property("ce-id");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
it("HTTP Header contains 'ce-time'", () => {
|
||||||
|
return httpbinary02.emit(cloudevent)
|
||||||
|
.then((response) => {
|
||||||
|
expect(response.config.headers)
|
||||||
|
.to.have.property("ce-time");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
it("HTTP Header contains 'ce-schemaurl'", () => {
|
||||||
|
return httpbinary02.emit(cloudevent)
|
||||||
|
.then((response) => {
|
||||||
|
expect(response.config.headers)
|
||||||
|
.to.have.property("ce-schemaurl");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
it("HTTP Header contains 'ce-" + ext1Name + "'", () => {
|
||||||
|
return httpbinary02.emit(cloudevent)
|
||||||
|
.then((response) => {
|
||||||
|
expect(response.config.headers)
|
||||||
|
.to.have.property("ce-" + ext1Name);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
it("HTTP Header contains 'ce-" + ext2Name + "'", () => {
|
||||||
|
return httpbinary02.emit(cloudevent)
|
||||||
|
.then((response) => {
|
||||||
|
expect(response.config.headers)
|
||||||
|
.to.have.property("ce-" + ext2Name);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue