realm-object-server-enterprise
Version:
Realm Object Server Enterprise
67 lines • 2.75 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
require("mocha");
const chai_1 = require("chai");
const chai = require("chai");
const chaiAsPromised = require("chai-as-promised");
chai.use(chaiAsPromised);
const sinon = require("sinon");
sinon.assert.expose(chai.assert, { prefix: "" });
const axon = require("axon");
const realm_object_server_1 = require("realm-object-server");
const RemoteLogService_1 = require("./RemoteLogService");
class MockLogger extends realm_object_server_1.Logger {
constructor() {
super();
}
log(level, msg, ctx) {
this.emit("message", level, msg, ctx);
}
}
describe("RemoteLogService", () => {
let logger;
let receiver;
let sender;
beforeEach(() => __awaiter(this, void 0, void 0, function* () {
logger = new MockLogger();
receiver = new RemoteLogService_1.RemoteLogService({ host: "127.0.0.1", port: 9000 });
receiver.setLogger(logger);
yield receiver.start();
yield new Promise((resolve, reject) => {
sender = new axon.socket("push");
sender.connect("tcp://127.0.0.1:9000");
sender.once("connect", () => {
resolve();
});
});
}));
afterEach(() => __awaiter(this, void 0, void 0, function* () {
sender.close();
yield receiver.stop();
logger.close();
}));
it("should accept logs from the sender", () => __awaiter(this, void 0, void 0, function* () {
const promise = new Promise((resolve, reject) => {
const callback = (level, msg, ctx) => {
if (level === "error" && msg === "my message") {
chai_1.assert.equal(ctx.via, "remotelog");
chai_1.assert.equal(ctx.my_key, "my_value");
logger.removeListener("message", callback);
resolve();
}
};
logger.on("message", callback);
});
sender.send("error", "my message", { my_key: "my_value" });
yield promise;
}));
});
//# sourceMappingURL=RemoteLogService.spec.js.map