UNPKG

@methodus/server

Version:
155 lines 6.53 kB
"use strict"; 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 }); const TestClass_1 = require("../classes/TestClass"); const index_1 = require("../../index"); const { spawn } = require('child_process'); const fs = require('fs'), path = require('path'); var childProcessDebug = require('child-process-debug'); // process.env.CONFIG_PATH = './tests/config'; // const redis_addr = '//192.168.99.100:32768'; const ports = []; for (let i = 0; i < 100; i++) { ports.push({ server: 8200 + i, client: 9200 + i }); } let portsCounter = 0; function PortHelper() { return ports[portsCounter++]; } exports.PortHelper = PortHelper; function Wait(timeout) { return __awaiter(this, void 0, void 0, function* () { return new Promise((resolve, reject) => { setTimeout(function () { resolve(); }, timeout); }); }); } exports.Wait = Wait; function ServerHelper(port, servers, methodType, serverFile = './src/tests/servers/dynamic.js', instanceCount = 1) { return __awaiter(this, void 0, void 0, function* () { const childArray = []; for (var i = 0; i < instanceCount; i++) { const child1 = childProcessDebug.spawn(process.argv[0], [serverFile], { detached: false, cwd: path.resolve('./'), execArgv: ['--debug-brk=6001'], env: { PORT: port, servers: servers, MethodType: methodType, NODE_LOG_NAME: `server${i}.log`, NODE_LOG_IDENTIFIER: `server ${i}.`, NODE_LOG_LEVEL: 'trace' } }); child1.stdout.on('data', (data) => __awaiter(this, void 0, void 0, function* () { console.error(`child stddata:\n${data}`); })); child1.stderr.on('data', (data) => { index_1.logger.error(`child stderr:\n${data}`); }); child1.on('uncaughtException', function (code, signal) { console.log('child process exited with ' + `code ${code} and signal ${signal}`); }); child1.on('SIGTERM', function (code, signal) { console.log('child process exited with ' + `code ${code} and signal ${signal}`); }); child1.on('exit', function (code, signal) { console.log('child process exited with ' + `code ${code} and signal ${signal}`); }); childArray.push(child1); } return childArray; }); } exports.ServerHelper = ServerHelper; function ServerClassHelper(name, port, servers, methodType) { return __awaiter(this, void 0, void 0, function* () { const child1 = childProcessDebug.spawn(process.argv[0], ['./src/tests/servers/perclass/' + name + '.js'], { detached: true, cwd: path.resolve('./'), env: { PORT: port, servers: servers, MethodType: methodType, NODE_LOG_NAME: 'server_log.log', NODE_LOG_LEVEL: 'trace' } }); child1.stdout.on('data', (data) => __awaiter(this, void 0, void 0, function* () { console.error(`child stddata:\n${data}`); })); child1.stderr.on('data', (data) => { console.error(`child stderr:\n${data}`); }); child1.on('exit', function (code, signal) { // console.log('child process exited with ' + // `code ${code} and signal ${signal}`); }); return child1; }); } exports.ServerClassHelper = ServerClassHelper; function ClientHelper(classType, port, servers, methodType, resolver) { return __awaiter(this, void 0, void 0, function* () { process.env.logName = 'client'; let config = new index_1.MethodusConfig(); if (servers) { servers.map(server => { config.run(server, { port: port, client: redis_addr, server: redis_addr, amqp: '127.0.0.1', userName: 'tmla', password: '1234' }); config.use(classType, methodType, server, resolver); }); } let server = yield new index_1.Server(port).configure(config).start(); return server; }); } exports.ClientHelper = ClientHelper; function CallHelper() { return __awaiter(this, void 0, void 0, function* () { let myClass = new TestClass_1.TestClass(); try { let value = yield myClass.action1(1654564654, 'roicccccc'); return value; } catch (error) { console.warn('call to action1 errored', error); } }); } exports.CallHelper = CallHelper; function EventHelper() { return __awaiter(this, void 0, void 0, function* () { let methodEvent = yield new index_1.MethodEvent('update::FirstClassEvent', 'asdasdads', "amqp" /* RabbitMQ */, 'event-bus'); return methodEvent; }); } exports.EventHelper = EventHelper; function EventLoop() { return __awaiter(this, void 0, void 0, function* () { return new Promise((resolve, reject) => { let eventCounter = 1; const interval = setInterval(() => __awaiter(this, void 0, void 0, function* () { if (eventCounter > 4) { clearInterval(interval); resolve(); } let methodEvent = yield new index_1.MethodEvent('update::FirstClassEvent', `this is message number ${eventCounter++}`, "amqp" /* RabbitMQ */, 'event-bus'); return methodEvent; }), 1000); }); }); } exports.EventLoop = EventLoop; //# sourceMappingURL=index.js.map