Adding Test

This commit is contained in:
Martin Karkowski 2022-01-03 19:19:30 +01:00
parent 06792b7e42
commit b309c08832

View File

@ -17,20 +17,20 @@ describe("NopeRpcManager", function () {
async () => "test",
"test"
);
beforeEach(() => {
// Create a new Observer
manager = new NopeRpcManager(
{
communicator: getLayer("event", "", false),
logger: false,
},
() => new NopeObservable(),
async () => "test",
"test"
);
});
describe("serviceHandeling", function () {
beforeEach(() => {
// Create a new Observer
manager = new NopeRpcManager(
{
communicator: getLayer("event", "", false),
logger: false,
},
() => new NopeObservable(),
async () => "test",
"test"
);
});
const helloWorld = async (greetings: string) => {
return "Hello " + greetings + "!";
};
@ -99,4 +99,113 @@ describe("NopeRpcManager", function () {
}
});
});
describe("RpcManager Communication", function () {
let caller = new NopeRpcManager(
{
communicator: getLayer("event", "", false),
logger: false,
},
() => new NopeObservable(),
async () => "test",
"test"
);
beforeEach(() => {
const communicator = getLayer("event", "", false);
// Create a new Observer
manager = new NopeRpcManager(
{
communicator,
logger: false,
},
() => new NopeObservable(),
async () => "test",
"test"
);
caller = new NopeRpcManager(
{
communicator,
logger: false,
},
() => new NopeObservable(),
async () => "test",
"test"
);
});
const helloWorld = async (greetings: string) => {
return "Hello " + greetings + "!";
};
const delay = async (greetings: string) => {
await sleep(1000);
return "Hello " + greetings + "!";
};
it("registering service", async () => {
await manager.ready.waitFor();
await caller.ready.waitFor();
const r = manager.registerService(helloWorld);
await manager.services.onChange.waitForUpdate();
});
it("call service", async () => {
await manager.ready.waitFor();
await caller.ready.waitFor();
const r = manager.registerService(helloWorld, {
id: "helloworld",
});
await sleep(10);
const result = await caller.performCall("helloworld", ["Mocha"]);
expect(result).to.equal("Hello Mocha!", "result is not matching");
});
it("call service via methodInterface", async () => {
await manager.ready.waitFor();
await caller.ready.waitFor();
const r = manager.registerService(helloWorld, {
id: "helloworld",
});
await sleep(10);
const result = await caller.methodInterface.helloworld("Mocha");
expect(result).to.equal("Hello Mocha!", "result is not matching");
});
it("call service with a timeout", async () => {
await manager.ready.waitFor();
await caller.ready.waitFor();
const r = manager.registerService(delay, {
id: "helloworld",
});
await sleep(10);
const err = Error("Error not thrown");
try {
const result = await caller.methodInterfaceWithOptions.helloworld(
{
timeout: 50,
},
"Mocha"
);
throw err;
} catch (e) {
if (e == err) {
throw err;
}
}
});
});
});