UNPKG

e1c-test-tools

Version:

Набор инструментов для тестирования (предварительная версия)

62 lines (61 loc) 2.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createExecuteExternalTaskRequest = exports.createManagementTaskRequest = exports.createExecuteTaskRequest = exports.createEvaluateTaskRequest = exports.performTask = exports.sleep = void 0; const socket_io_client_1 = require("socket.io-client"); const sleep = (ms) => new Promise((resolve) => { setTimeout(resolve, ms); }); exports.sleep = sleep; const performTask = (taskRequest) => { const brokerHost = process.env.BROKER_HOST || '127.0.0.1'; const brokerPort = process.env.BROKER_PORT || 3000; let taskId; return new Promise((resolve, reject) => { const socket = socket_io_client_1.io(`http://${brokerHost}:${brokerPort}`, { 'transports': ['websocket', 'polling'] }); socket.on('connect', () => { socket.emit('task-requests', taskRequest); }); socket.on('task-requests', (data) => { taskId = data.id; }); socket.on('task-statuses', (data) => { if (data.id === taskId) { if (data.status === 'Finished') { socket.emit('task-results', { 'id': taskId }); } } }); socket.on('task-results', (data) => { socket.disconnect(); resolve(data.result); }); socket.on('error', (error) => { reject(error); }); }); }; exports.performTask = performTask; const createEvaluateTaskRequest = (parameters, performOnServer = false) => ({ 'type': 'Evaluate', parameters, performOnServer, }); exports.createEvaluateTaskRequest = createEvaluateTaskRequest; const createExecuteTaskRequest = (parameters, performOnServer = false) => ({ 'type': 'Execute', parameters, performOnServer, }); exports.createExecuteTaskRequest = createExecuteTaskRequest; const createManagementTaskRequest = (parameters, performOnServer = false) => ({ 'type': 'Management', parameters, performOnServer, }); exports.createManagementTaskRequest = createManagementTaskRequest; const createExecuteExternalTaskRequest = (parameters, performOnServer = false) => ({ 'type': 'ExecuteExternal', parameters, performOnServer, }); exports.createExecuteExternalTaskRequest = createExecuteExternalTaskRequest;