UNPKG

imicros-acl

Version:

Moleculer service for access control

73 lines (60 loc) 1.96 kB
"use strict"; const { ServiceBroker } = require("moleculer"); const dbMixin = require("../lib/db.neo4j"); beforeAll( async () => { }); afterAll( async () => { }); const Test = { name: "test.db", mixins: [dbMixin], settings: { }, actions: { run(ctx) { return this.run(ctx.params) .then(res => { return res; }); } } }; describe("Test db.neo4j", () => { let broker, service; beforeAll(async () => { broker = new ServiceBroker({ logger: console, logLevel: "info" }); service = broker.createService(Test); await broker.start(); }); afterAll(async () => { await broker.stop(); }); it("service should be created", () => { expect(service).toBeDefined(); }); it("sample node should be added", async () => { expect.assertions(4); let res = await broker.call("test.db.run","CREATE (ee:Person { name: 'Horst', from: 'Germany' })"); expect(res).toBeDefined(); res = await broker.call("test.db.run","MATCH (ee:Person) WHERE ee.name = 'Horst' RETURN ee;"); expect(res).toBeDefined(); expect(res[0].ee).toBeDefined(); expect(res[0].ee.properties).toEqual(expect.objectContaining({ name: "Horst", from: "Germany" })); }); it("should log syntax error", async () => { expect.assertions(1); let res = await broker.call("test.db.run","WRONG STATEMENT"); expect(res).not.toBeDefined(); }); it("should create service with defaults", async () => { let withDefaults = { name: "test.db.defaults", mixins: [dbMixin] }; let defaults = await broker.createService(withDefaults); expect(defaults).toBeDefined(); }); });