bpmn-client 1.2.1 → 1.3.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Sample/package.json +44 -44
- package/cli.js +244 -0
- package/cli.ts +268 -0
- package/demo.env +4 -0
- package/local.env +4 -0
- package/monitor.js +91 -0
- package/monitor.ts +100 -0
- package/package.json +5 -8
- package/src/BPMNClient.js +26 -9
- package/src/BPMNClient.ts +26 -11
- package/test/.mocharc.json +12 -0
- package/test/feature/.env +1 -3
- package/test/feature/carServer.js +9 -4
- package/test.env +4 -0
- package/test.js +45 -2
- package/test.ts +56 -3
- package/test2.js +70 -249
- package/test3.js +42 -0
- package/test3.ts +40 -0
- package/test/mocha.opts +0 -5
- package/test/resources/Invoice.js +0 -91
- package/test/resources/car.js +0 -69
- package/test/resources/loop.js +0 -50
- package/test2.ts +0 -326
package/monitor.js
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const _1 = require("./");
|
|
13
|
+
console.log("Testing BPMNClient");
|
|
14
|
+
const dotenv = require('dotenv');
|
|
15
|
+
const res = dotenv.config();
|
|
16
|
+
console.log(res);
|
|
17
|
+
monitor();
|
|
18
|
+
function monitor() {
|
|
19
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
20
|
+
const server = new _1.BPMNClient(process.env.HOST, process.env.PORT, process.env.API_KEY);
|
|
21
|
+
console.log('running monitor');
|
|
22
|
+
for (var i = 0; i < 1000; i++) {
|
|
23
|
+
yield checkStatus(server);
|
|
24
|
+
yield delay(15000, 'test');
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
function checkStatus(server, reason = '') {
|
|
29
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
var list = yield server.engine.status();
|
|
31
|
+
var insT = 0, insR = 0, itmT = 0, itmR = 0, tokT = 0, tokR = 0;
|
|
32
|
+
for (var i = 0; i < list.length; i++) {
|
|
33
|
+
var exec = list[i];
|
|
34
|
+
var dInstance = null;
|
|
35
|
+
insT++;
|
|
36
|
+
tokT += exec.instance.tokens.length;
|
|
37
|
+
if (exec.instance.status == 'running')
|
|
38
|
+
insR++;
|
|
39
|
+
var started = dateDiff(exec.instance.startedAt);
|
|
40
|
+
var ended = dateDiff(exec.instance.endedAt);
|
|
41
|
+
var msg = ` Instance for '${exec.instance.name}' Status: ${exec.status} Started At ${started} Ended ${ended} items: ${exec.instance.items.length}`;
|
|
42
|
+
try {
|
|
43
|
+
dInstance = yield server.datastore.findInstances({ id: exec.instance.id }, {});
|
|
44
|
+
//console.log(reason+' logs:',exec.instance.logs.length, dInstance.logs.length,dInstance.data.caseId);
|
|
45
|
+
if (dInstance.length > 0)
|
|
46
|
+
msg += ' items:' + dInstance[0].items.length;
|
|
47
|
+
}
|
|
48
|
+
catch (exc) {
|
|
49
|
+
msg += ' no instance' + exc.toString();
|
|
50
|
+
}
|
|
51
|
+
console.log(msg);
|
|
52
|
+
}
|
|
53
|
+
console.log(`${reason} ->Instances: Total: ${insT} Running: ${insR}`); // Tokens: ${tokT} `);
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
function delay(time, result) {
|
|
57
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
+
return new Promise(function (resolve) {
|
|
59
|
+
setTimeout(function () {
|
|
60
|
+
resolve(result);
|
|
61
|
+
}, time);
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
function dateDiff(dateStr) {
|
|
66
|
+
var endDate = new Date();
|
|
67
|
+
var startTime = new Date(dateStr);
|
|
68
|
+
var time1 = endDate.getTime();
|
|
69
|
+
var time2 = startTime;
|
|
70
|
+
var seconds = Math.abs(time1 - time2) / 1000;
|
|
71
|
+
// get total seconds between the times
|
|
72
|
+
var delta = seconds; //Math.abs(date_future - date_now) / 1000;
|
|
73
|
+
// calculate (and subtract) whole days
|
|
74
|
+
var days = Math.floor(delta / 86400);
|
|
75
|
+
delta -= days * 86400;
|
|
76
|
+
// calculate (and subtract) whole hours
|
|
77
|
+
var hours = Math.floor(delta / 3600) % 24;
|
|
78
|
+
delta -= hours * 3600;
|
|
79
|
+
// calculate (and subtract) whole minutes
|
|
80
|
+
var minutes = Math.floor(delta / 60) % 60;
|
|
81
|
+
delta -= minutes * 60;
|
|
82
|
+
// what's left is seconds
|
|
83
|
+
var seconds = Math.floor(delta % 60); // in theory the modulus is not required
|
|
84
|
+
if (days > 0)
|
|
85
|
+
return (days + " days");
|
|
86
|
+
if (hours > 0)
|
|
87
|
+
return (hours + " hours");
|
|
88
|
+
if (minutes > 0)
|
|
89
|
+
return (minutes + " minutes");
|
|
90
|
+
return (seconds + " seconds");
|
|
91
|
+
}
|
package/monitor.ts
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { BPMNClient } from './';
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
console.log("Testing BPMNClient");
|
|
5
|
+
const dotenv = require('dotenv');
|
|
6
|
+
const res = dotenv.config();
|
|
7
|
+
|
|
8
|
+
console.log(res);
|
|
9
|
+
monitor();
|
|
10
|
+
|
|
11
|
+
async function monitor() {
|
|
12
|
+
|
|
13
|
+
const server = new BPMNClient(process.env.HOST, process.env.PORT, process.env.API_KEY);
|
|
14
|
+
|
|
15
|
+
console.log('running monitor');
|
|
16
|
+
for (var i = 0; i < 1000; i++) {
|
|
17
|
+
await checkStatus(server);
|
|
18
|
+
await delay(15000, 'test');
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
}
|
|
23
|
+
async function checkStatus(server, reason = '') {
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
var list = await server.engine.status();
|
|
27
|
+
|
|
28
|
+
var insT = 0, insR = 0, itmT = 0, itmR = 0, tokT = 0, tokR = 0;
|
|
29
|
+
for (var i = 0; i < list.length; i++) {
|
|
30
|
+
var exec = list[i];
|
|
31
|
+
var dInstance = null;
|
|
32
|
+
insT++;
|
|
33
|
+
tokT += exec.instance.tokens.length;
|
|
34
|
+
if (exec.instance.status == 'running') insR++;
|
|
35
|
+
var started = dateDiff(exec.instance.startedAt);
|
|
36
|
+
var ended = dateDiff(exec.instance.endedAt);
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
var msg = ` Instance for '${exec.instance.name}' Status: ${exec.status} Started At ${started} Ended ${ended} items: ${exec.instance.items.length}`;
|
|
40
|
+
try {
|
|
41
|
+
dInstance = await server.datastore.findInstances({ id: exec.instance.id }, {});
|
|
42
|
+
//console.log(reason+' logs:',exec.instance.logs.length, dInstance.logs.length,dInstance.data.caseId);
|
|
43
|
+
if (dInstance.length > 0)
|
|
44
|
+
msg += ' items:' + dInstance[0].items.length;
|
|
45
|
+
}
|
|
46
|
+
catch (exc) {
|
|
47
|
+
msg += ' no instance' + exc.toString();
|
|
48
|
+
}
|
|
49
|
+
console.log(msg);
|
|
50
|
+
|
|
51
|
+
}
|
|
52
|
+
console.log(`${reason} ->Instances: Total: ${insT} Running: ${insR}`);// Tokens: ${tokT} `);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
async function delay(time, result) {
|
|
56
|
+
return new Promise(function (resolve) {
|
|
57
|
+
setTimeout(function () {
|
|
58
|
+
resolve(result);
|
|
59
|
+
}, time);
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
function dateDiff(dateStr) {
|
|
67
|
+
|
|
68
|
+
var endDate = new Date();
|
|
69
|
+
var startTime = new Date(dateStr);
|
|
70
|
+
var time1 = endDate.getTime();
|
|
71
|
+
var time2 = startTime as unknown as number;
|
|
72
|
+
|
|
73
|
+
var seconds = Math.abs(time1 - time2) / 1000;
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
// get total seconds between the times
|
|
77
|
+
var delta = seconds; //Math.abs(date_future - date_now) / 1000;
|
|
78
|
+
|
|
79
|
+
// calculate (and subtract) whole days
|
|
80
|
+
var days = Math.floor(delta / 86400);
|
|
81
|
+
delta -= days * 86400;
|
|
82
|
+
|
|
83
|
+
// calculate (and subtract) whole hours
|
|
84
|
+
var hours = Math.floor(delta / 3600) % 24;
|
|
85
|
+
delta -= hours * 3600;
|
|
86
|
+
|
|
87
|
+
// calculate (and subtract) whole minutes
|
|
88
|
+
var minutes = Math.floor(delta / 60) % 60;
|
|
89
|
+
delta -= minutes * 60;
|
|
90
|
+
|
|
91
|
+
// what's left is seconds
|
|
92
|
+
var seconds = Math.floor(delta % 60); // in theory the modulus is not required
|
|
93
|
+
if (days > 0)
|
|
94
|
+
return (days + " days");
|
|
95
|
+
if (hours > 0)
|
|
96
|
+
return (hours + " hours");
|
|
97
|
+
if (minutes > 0)
|
|
98
|
+
return (minutes + " minutes");
|
|
99
|
+
return (seconds + " seconds");
|
|
100
|
+
}
|
package/package.json
CHANGED
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bpmn-client",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.8",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "tsc --build",
|
|
7
|
+
"compileRun": "tsc --build && node cli.js",
|
|
8
|
+
"dev": "nodemon -e ts --exec \"npm run compileRun\"",
|
|
7
9
|
"clean": "tsc --build --clean",
|
|
8
|
-
"start": "node
|
|
9
|
-
"test": "mocha -
|
|
10
|
-
"posttest": "eslint . --cache && npm run toc",
|
|
11
|
-
"wintest": "node_modules/.bin/mocha",
|
|
12
|
-
"start:watch": "tsc-watch --project . --onSuccess \"nodemon ./test.ts\"",
|
|
13
|
-
"toc": "node scripts/generate-api-toc ./docs/API.md,./docs/Examples.md",
|
|
14
|
-
"test-md": "node scripts/test-markdown.js ./docs/API.md && node scripts/test-markdown.js ./docs/Examples.md"
|
|
10
|
+
"start": "node cli.ts",
|
|
11
|
+
"test": "mocha -exit --config=test\\.mocharc.json"
|
|
15
12
|
},
|
|
16
13
|
"description": "Client API for BPMN-Server webservices",
|
|
17
14
|
"keywords": [
|
package/src/BPMNClient.js
CHANGED
|
@@ -19,7 +19,7 @@ class WebService {
|
|
|
19
19
|
return __awaiter(this, void 0, void 0, function* () {
|
|
20
20
|
var driver = http;
|
|
21
21
|
var body = JSON.stringify(params);
|
|
22
|
-
console.log(options, params);
|
|
22
|
+
// console.log(options, params);
|
|
23
23
|
if (options.port == 443)
|
|
24
24
|
driver = https;
|
|
25
25
|
let data = '';
|
|
@@ -27,7 +27,8 @@ class WebService {
|
|
|
27
27
|
return new Promise(function (resolve, reject) {
|
|
28
28
|
try {
|
|
29
29
|
driver.request(options, function (res) {
|
|
30
|
-
console.log('STATUS: ' + res.statusCode);
|
|
30
|
+
// console.log('STATUS: ' + res.statusCode);
|
|
31
|
+
this.response = res;
|
|
31
32
|
//console.log(res);
|
|
32
33
|
self.statusCode = res.statusCode;
|
|
33
34
|
res.setEncoding('utf8');
|
|
@@ -35,8 +36,14 @@ class WebService {
|
|
|
35
36
|
data += chunk;
|
|
36
37
|
});
|
|
37
38
|
res.on('end', () => {
|
|
38
|
-
|
|
39
|
-
|
|
39
|
+
try {
|
|
40
|
+
self.result = JSON.parse(data);
|
|
41
|
+
resolve(self.result);
|
|
42
|
+
}
|
|
43
|
+
catch (exc) {
|
|
44
|
+
console.log(data);
|
|
45
|
+
console.log(exc);
|
|
46
|
+
}
|
|
40
47
|
});
|
|
41
48
|
}).on("error", (err) => {
|
|
42
49
|
console.log("Error: " + err.message);
|
|
@@ -140,9 +147,9 @@ class ClientEngine {
|
|
|
140
147
|
return instance;
|
|
141
148
|
});
|
|
142
149
|
}
|
|
143
|
-
throwMessage(messageId, data) {
|
|
150
|
+
throwMessage(messageId, data = {}, messageMatchingKey = {}) {
|
|
144
151
|
return __awaiter(this, void 0, void 0, function* () {
|
|
145
|
-
const ret = yield this.client.
|
|
152
|
+
const ret = yield this.client.post('engine/throwMessage', { "messageId": messageId, "data": data, messageMatchingKey });
|
|
146
153
|
if (ret['errors']) {
|
|
147
154
|
console.log(ret['errors']);
|
|
148
155
|
throw new Error(ret['errors']);
|
|
@@ -150,9 +157,9 @@ class ClientEngine {
|
|
|
150
157
|
return ret;
|
|
151
158
|
});
|
|
152
159
|
}
|
|
153
|
-
throwSignal(signalId, data) {
|
|
160
|
+
throwSignal(signalId, data = {}, messageMatchingKey = {}) {
|
|
154
161
|
return __awaiter(this, void 0, void 0, function* () {
|
|
155
|
-
const ret = yield this.client.
|
|
162
|
+
const ret = yield this.client.post('engine/throwSignal', { "signalId": signalId, "data": data, messageMatchingKey });
|
|
156
163
|
if (ret['errors']) {
|
|
157
164
|
console.log(ret['errors']);
|
|
158
165
|
throw new Error(ret['errors']);
|
|
@@ -171,6 +178,16 @@ class ClientEngine {
|
|
|
171
178
|
return instance;
|
|
172
179
|
});
|
|
173
180
|
}
|
|
181
|
+
status() {
|
|
182
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
183
|
+
const ret = yield this.client.get('engine/status', {});
|
|
184
|
+
if (ret['errors']) {
|
|
185
|
+
console.log(ret['errors']);
|
|
186
|
+
throw new Error(ret['errors']);
|
|
187
|
+
}
|
|
188
|
+
return ret;
|
|
189
|
+
});
|
|
190
|
+
}
|
|
174
191
|
}
|
|
175
192
|
exports.ClientEngine = ClientEngine;
|
|
176
193
|
class ClientDatastore {
|
|
@@ -201,7 +218,7 @@ class ClientDatastore {
|
|
|
201
218
|
}
|
|
202
219
|
deleteInstances(query) {
|
|
203
220
|
return __awaiter(this, void 0, void 0, function* () {
|
|
204
|
-
return yield this.client.del('datastore/
|
|
221
|
+
return yield this.client.del('datastore/deleteInstances', query);
|
|
205
222
|
});
|
|
206
223
|
}
|
|
207
224
|
}
|
package/src/BPMNClient.ts
CHANGED
|
@@ -8,13 +8,14 @@ const http = require('http');
|
|
|
8
8
|
class WebService {
|
|
9
9
|
statusCode;
|
|
10
10
|
result;
|
|
11
|
+
response;
|
|
11
12
|
constructor() { }
|
|
12
13
|
async invoke(params, options) {
|
|
13
14
|
|
|
14
15
|
var driver = http;
|
|
15
16
|
var body = JSON.stringify(params);
|
|
16
17
|
|
|
17
|
-
console.log(options, params);
|
|
18
|
+
// console.log(options, params);
|
|
18
19
|
if (options.port == 443)
|
|
19
20
|
driver = https;
|
|
20
21
|
|
|
@@ -24,7 +25,8 @@ class WebService {
|
|
|
24
25
|
try {
|
|
25
26
|
|
|
26
27
|
driver.request(options, function (res) {
|
|
27
|
-
console.log('STATUS: ' + res.statusCode);
|
|
28
|
+
// console.log('STATUS: ' + res.statusCode);
|
|
29
|
+
this.response = res;
|
|
28
30
|
//console.log(res);
|
|
29
31
|
self.statusCode = res.statusCode;
|
|
30
32
|
res.setEncoding('utf8');
|
|
@@ -32,9 +34,14 @@ class WebService {
|
|
|
32
34
|
data += chunk;
|
|
33
35
|
});
|
|
34
36
|
res.on('end', () => {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
37
|
+
try {
|
|
38
|
+
self.result = JSON.parse(data);
|
|
39
|
+
resolve(self.result);
|
|
40
|
+
}
|
|
41
|
+
catch (exc) {
|
|
42
|
+
console.log(data);
|
|
43
|
+
console.log(exc);
|
|
44
|
+
}
|
|
38
45
|
});
|
|
39
46
|
|
|
40
47
|
|
|
@@ -130,7 +137,7 @@ class ClientEngine {
|
|
|
130
137
|
constructor(client) {
|
|
131
138
|
this.client = client;
|
|
132
139
|
}
|
|
133
|
-
async start(name, data = {}
|
|
140
|
+
async start(name, data = {}, startNodeId = null, options = {}): Promise<IInstanceData> {
|
|
134
141
|
const ret = await this.client.post('engine/start',
|
|
135
142
|
{ name, data, startNodeId, options });
|
|
136
143
|
if (ret['errors']) {
|
|
@@ -150,16 +157,16 @@ class ClientEngine {
|
|
|
150
157
|
return instance;
|
|
151
158
|
}
|
|
152
159
|
|
|
153
|
-
async throwMessage(messageId, data) {
|
|
154
|
-
const ret = await this.client.
|
|
160
|
+
async throwMessage(messageId, data = {} , messageMatchingKey = {}) {
|
|
161
|
+
const ret = await this.client.post('engine/throwMessage', { "messageId": messageId, "data": data, messageMatchingKey });
|
|
155
162
|
if (ret['errors']) {
|
|
156
163
|
console.log(ret['errors']);
|
|
157
164
|
throw new Error(ret['errors']);
|
|
158
165
|
}
|
|
159
166
|
return ret;
|
|
160
167
|
}
|
|
161
|
-
async throwSignal(signalId, data) {
|
|
162
|
-
const ret = await this.client.
|
|
168
|
+
async throwSignal(signalId, data = {} , messageMatchingKey = {}) {
|
|
169
|
+
const ret = await this.client.post('engine/throwSignal', { "signalId": signalId, "data": data, messageMatchingKey });
|
|
163
170
|
if (ret['errors']) {
|
|
164
171
|
console.log(ret['errors']);
|
|
165
172
|
throw new Error(ret['errors']);
|
|
@@ -176,6 +183,14 @@ class ClientEngine {
|
|
|
176
183
|
const instance = ret['instance'] as IInstanceData;
|
|
177
184
|
return instance;
|
|
178
185
|
}
|
|
186
|
+
async status() {
|
|
187
|
+
const ret = await this.client.get('engine/status', {});
|
|
188
|
+
if (ret['errors']) {
|
|
189
|
+
console.log(ret['errors']);
|
|
190
|
+
throw new Error(ret['errors']);
|
|
191
|
+
}
|
|
192
|
+
return ret;
|
|
193
|
+
}
|
|
179
194
|
}
|
|
180
195
|
class ClientDatastore {
|
|
181
196
|
private client: BPMNClient;
|
|
@@ -203,7 +218,7 @@ class ClientDatastore {
|
|
|
203
218
|
return instances;
|
|
204
219
|
}
|
|
205
220
|
async deleteInstances(query) {
|
|
206
|
-
return await this.client.del('datastore/
|
|
221
|
+
return await this.client.del('datastore/deleteInstances', query);
|
|
207
222
|
}
|
|
208
223
|
}
|
|
209
224
|
class ClientDefinitions {
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"diff": true,
|
|
3
|
+
"extension": [ "js" ],
|
|
4
|
+
"package": "package.json",
|
|
5
|
+
"reporter": "spec",
|
|
6
|
+
"slow": 1500,
|
|
7
|
+
"timeout": 50000,
|
|
8
|
+
"recursive": true,
|
|
9
|
+
"file": [ "test/helpers/setup.js" ],
|
|
10
|
+
"ui": "mocha-cakes-2",
|
|
11
|
+
"watch-files": [ "test/feature/*.js" ]
|
|
12
|
+
}
|
package/test/feature/.env
CHANGED
|
@@ -3,10 +3,10 @@ const { BPMNClient } = require("../../src/");
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
const API_KEY = '12345';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const HOST = 'test.omniworkflow.com';
|
|
9
|
-
const PORT = '443';
|
|
6
|
+
const HOST = 'localhost';
|
|
7
|
+
const PORT = '3000';
|
|
8
|
+
//const HOST = 'test.omniworkflow.com';
|
|
9
|
+
//const PORT = '443';
|
|
10
10
|
|
|
11
11
|
const BASE_URL = 'api';
|
|
12
12
|
|
|
@@ -89,6 +89,11 @@ Feature('Buy Used Car- clean and repair', () => {
|
|
|
89
89
|
|
|
90
90
|
});
|
|
91
91
|
|
|
92
|
+
and('find engine status', async () => {
|
|
93
|
+
|
|
94
|
+
var insts = await server.engine.status();
|
|
95
|
+
|
|
96
|
+
});
|
|
92
97
|
|
|
93
98
|
//
|
|
94
99
|
and('find instances', async () => {
|
package/test.env
ADDED
package/test.js
CHANGED
|
@@ -13,12 +13,42 @@ const _1 = require("./");
|
|
|
13
13
|
console.log("Testing BPMNClient");
|
|
14
14
|
const dotenv = require('dotenv');
|
|
15
15
|
const res = dotenv.config();
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
const server = new _1.BPMNClient(process.env.HOST, process.env.PORT, process.env.API_KEY);
|
|
17
|
+
testMessage();
|
|
18
|
+
function displayInstance(instanceId) {
|
|
19
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
20
|
+
let insts = yield server.datastore.findInstances({ id: instanceId });
|
|
21
|
+
for (var i = 0; i < insts.length; i++) {
|
|
22
|
+
let inst = insts[i];
|
|
23
|
+
var items = inst.items;
|
|
24
|
+
console.log(`name: ${inst.name} status: ${inst.status} instanceId: ${inst.id}
|
|
25
|
+
startedAt: ${inst.startedAt} endedAt ${inst.endedAt}`, 'data:', inst.data);
|
|
26
|
+
for (var j = 0; j < items.length; j++) {
|
|
27
|
+
let item = items[j];
|
|
28
|
+
console.log(`element: ${item.elementId} status: ${item.status} id: ${item.id}`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
function testMessage() {
|
|
34
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
35
|
+
const messageId = 'Message-104';
|
|
36
|
+
let messageData = {};
|
|
37
|
+
console.log('calling');
|
|
38
|
+
let response = yield server.engine.throwMessage(messageId, messageData);
|
|
39
|
+
if (response['id'])
|
|
40
|
+
return yield displayInstance(response['id']);
|
|
41
|
+
else
|
|
42
|
+
return null;
|
|
43
|
+
});
|
|
44
|
+
}
|
|
18
45
|
function test() {
|
|
19
46
|
return __awaiter(this, void 0, void 0, function* () {
|
|
20
47
|
const server = new _1.BPMNClient(process.env.HOST, process.env.PORT, process.env.API_KEY);
|
|
21
48
|
const caseId = 3040;
|
|
49
|
+
var delResp = yield server.datastore.deleteInstances({ name: 'Buy Used Car' });
|
|
50
|
+
//console.log(delResp);
|
|
51
|
+
//return;
|
|
22
52
|
var defs = yield server.definitions.list();
|
|
23
53
|
console.log(defs);
|
|
24
54
|
var def = yield server.definitions.load('Buy Used Car');
|
|
@@ -39,6 +69,10 @@ function test() {
|
|
|
39
69
|
catch (exc) {
|
|
40
70
|
console.log(exc);
|
|
41
71
|
}
|
|
72
|
+
var items = yield server.datastore.findItems({ "items.status": "end", "items.elementId": "task_Buy" });
|
|
73
|
+
items.forEach(item => {
|
|
74
|
+
console.log('item: id==>' + item.elementId, item.type, item.name, 'status==>', item.status);
|
|
75
|
+
});
|
|
42
76
|
var insts = yield server.datastore.findInstances({ data: { caseId: caseId } });
|
|
43
77
|
insts.forEach(inst => {
|
|
44
78
|
console.log('Inst for CaseId id==>' + inst.id, inst.name, inst.data.caseId, 'status==>', inst.status);
|
|
@@ -62,3 +96,12 @@ function test() {
|
|
|
62
96
|
});
|
|
63
97
|
});
|
|
64
98
|
}
|
|
99
|
+
function delay(time, result) {
|
|
100
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
101
|
+
return new Promise(function (resolve) {
|
|
102
|
+
setTimeout(function () {
|
|
103
|
+
resolve(result);
|
|
104
|
+
}, time);
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
}
|
package/test.ts
CHANGED
|
@@ -5,15 +5,51 @@ console.log("Testing BPMNClient");
|
|
|
5
5
|
const dotenv = require('dotenv');
|
|
6
6
|
const res = dotenv.config();
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
const server = new BPMNClient(process.env.HOST, process.env.PORT, process.env.API_KEY);
|
|
9
|
+
|
|
10
|
+
testMessage();
|
|
11
|
+
|
|
12
|
+
async function displayInstance(instanceId) {
|
|
13
|
+
|
|
14
|
+
let insts = await server.datastore.findInstances({ id: instanceId })
|
|
15
|
+
|
|
16
|
+
for (var i = 0; i < insts.length; i++) {
|
|
17
|
+
let inst = insts[i];
|
|
18
|
+
var items = inst.items;
|
|
19
|
+
console.log(`name: ${inst.name} status: ${inst.status} instanceId: ${inst.id}
|
|
20
|
+
startedAt: ${inst.startedAt} endedAt ${inst.endedAt}`, 'data:', inst.data);
|
|
21
|
+
for (var j = 0; j < items.length; j++) {
|
|
22
|
+
let item = items[j];
|
|
23
|
+
console.log(`element: ${item.elementId} status: ${item.status} id: ${item.id}`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
async function testMessage() {
|
|
30
|
+
const messageId = 'Message-104';
|
|
31
|
+
|
|
32
|
+
let messageData = {};
|
|
33
|
+
|
|
34
|
+
console.log('calling');
|
|
35
|
+
let response = await server.engine.throwMessage(messageId, messageData);
|
|
36
|
+
if (response['id'])
|
|
37
|
+
return await displayInstance(response['id']);
|
|
38
|
+
else
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
|
|
10
42
|
|
|
11
43
|
async function test() {
|
|
12
44
|
|
|
13
|
-
const server= new BPMNClient(process.env.HOST, process.env.PORT, process.env.API_KEY);
|
|
45
|
+
const server = new BPMNClient(process.env.HOST, process.env.PORT, process.env.API_KEY);
|
|
14
46
|
|
|
15
47
|
const caseId = 3040;
|
|
16
48
|
|
|
49
|
+
|
|
50
|
+
var delResp = await server.datastore.deleteInstances({ name: 'Buy Used Car' });
|
|
51
|
+
//console.log(delResp);
|
|
52
|
+
//return;
|
|
17
53
|
var defs = await server.definitions.list();
|
|
18
54
|
|
|
19
55
|
console.log(defs);
|
|
@@ -61,6 +97,16 @@ async function test() {
|
|
|
61
97
|
|
|
62
98
|
|
|
63
99
|
|
|
100
|
+
|
|
101
|
+
var items = await server.datastore.findItems({ "items.status": "end", "items.elementId": "task_Buy" });
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
items.forEach(item => {
|
|
105
|
+
console.log('item: id==>' + item.elementId, item.type, item.name, 'status==>', item.status);
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
|
|
64
110
|
var insts = await server.datastore.findInstances({ data: { caseId: caseId } });
|
|
65
111
|
|
|
66
112
|
insts.forEach(inst => {
|
|
@@ -94,7 +140,14 @@ async function test() {
|
|
|
94
140
|
items.forEach(item => {
|
|
95
141
|
console.log('item: id==>' + item.elementId, item.type, item.name, 'status==>', item.status);
|
|
96
142
|
});
|
|
143
|
+
}
|
|
97
144
|
|
|
145
|
+
async function delay(time, result) {
|
|
146
|
+
return new Promise(function (resolve) {
|
|
147
|
+
setTimeout(function () {
|
|
148
|
+
resolve(result);
|
|
149
|
+
}, time);
|
|
150
|
+
});
|
|
98
151
|
}
|
|
99
152
|
|
|
100
153
|
|