2019-08-08 14:38:31 +01:00
|
|
|
import { expect } from "chai";
|
|
|
|
import { createMessageQueue } from "../src/MessageQueue/MessageQueue";
|
|
|
|
|
2024-03-19 16:45:52 +00:00
|
|
|
const mq = createMessageQueue();
|
2019-08-08 14:38:31 +01:00
|
|
|
|
|
|
|
describe("MessageQueueTest", () => {
|
|
|
|
describe("LocalMq", () => {
|
2023-12-28 15:04:03 +00:00
|
|
|
it("should be able to push an event, and listen for it", (done) => {
|
2019-08-08 14:38:31 +01:00
|
|
|
mq.subscribe("fakeevent");
|
|
|
|
mq.on("fakeevent", (msg) => {
|
|
|
|
expect(msg).to.deep.equal({
|
|
|
|
sender: "foo",
|
|
|
|
eventName: "fakeevent",
|
|
|
|
messageId: "foooo",
|
|
|
|
data: 51,
|
|
|
|
});
|
|
|
|
done();
|
|
|
|
});
|
2023-12-28 15:04:03 +00:00
|
|
|
mq.push<number>({
|
2019-08-08 14:38:31 +01:00
|
|
|
sender: "foo",
|
|
|
|
eventName: "fakeevent",
|
|
|
|
messageId: "foooo",
|
|
|
|
data: 51,
|
|
|
|
});
|
|
|
|
});
|
|
|
|
it("should be able to push an event, and respond to it", async () => {
|
|
|
|
mq.subscribe("fakeevent2");
|
|
|
|
mq.subscribe("response.fakeevent2");
|
2020-02-25 13:25:21 +00:00
|
|
|
mq.on("fakeevent2", async (msg) => {
|
2019-08-08 14:38:31 +01:00
|
|
|
expect(msg).to.deep.equal({
|
|
|
|
sender: "foo",
|
|
|
|
eventName: "fakeevent2",
|
|
|
|
messageId: "foooo",
|
|
|
|
data: 49,
|
|
|
|
});
|
2020-02-25 13:25:21 +00:00
|
|
|
await mq.push<string>({
|
2019-08-08 14:38:31 +01:00
|
|
|
sender: "foo",
|
|
|
|
eventName: "response.fakeevent2",
|
|
|
|
messageId: "foooo",
|
|
|
|
data: "worked",
|
|
|
|
});
|
|
|
|
});
|
|
|
|
const response = await mq.pushWait<number, string>({
|
|
|
|
sender: "foo",
|
|
|
|
eventName: "fakeevent2",
|
|
|
|
messageId: "foooo",
|
|
|
|
data: 49,
|
|
|
|
});
|
|
|
|
expect(response).to.equal("worked");
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|