Skip to content

Commit 49e61fd

Browse files
committed
initial test of workitem queue
1 parent ec209ae commit 49e61fd

2 files changed

Lines changed: 61 additions & 1 deletion

File tree

OpenFlowNodeRED/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@openiap/nodered",
3-
"version": "1.3.107",
3+
"version": "1.3.108",
44
"description": "Simple wrapper around NodeRed, RabbitMQ and MongoDB to support a more scaleable NodeRed implementation.\r Also the \"backend\" for [OpenRPA](https://github.com/skadefro/OpenRPA)",
55
"main": "index.js",
66
"scripts": {
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
const path = require("path");
2+
const env = path.join(process.cwd(), 'config', '.env');
3+
require("dotenv").config({ path: env }); // , debug: false
4+
import { Message } from "../OpenFlow/src/Messages/Message";
5+
import { suite, test, timeout } from '@testdeck/mocha';
6+
import { Config } from "../OpenFlow/src/Config";
7+
import { DatabaseConnection } from '../OpenFlow/src/DatabaseConnection';
8+
import assert = require('assert');
9+
import { Logger } from '../OpenFlow/src/Logger';
10+
import { NoderedUtil, User, SelectCustomerMessage } from '@openiap/openflow-api';
11+
import { Auth } from '../OpenFlow/src/Auth';
12+
import { Crypt } from '../OpenFlow/src/Crypt';
13+
import { DBHelper } from '../OpenFlow/src/DBHelper';
14+
15+
@suite class OpenFlowConfigTests {
16+
private rootToken: string;
17+
private testUser: User;
18+
private userToken: string;
19+
async before() {
20+
Logger.configure(true, true);
21+
Config.db = new DatabaseConnection(Config.mongodb_url, Config.mongodb_db, false);
22+
await Config.db.connect(null);
23+
this.rootToken = Crypt.rootToken();
24+
this.testUser = await DBHelper.FindByUsername("testuser", this.rootToken, null)
25+
assert.ok(!NoderedUtil.IsNullUndefinded(this.testUser), "Test user missing, was user deleted ?");
26+
this.userToken = Crypt.createToken(this.testUser, Config.shorttoken_expires_in);
27+
}
28+
async after() {
29+
try {
30+
var q: any = new SelectCustomerMessage();
31+
var msg = new Message(); msg.jwt = this.userToken;
32+
q.name = "test queue"
33+
msg.data = JSON.stringify(q);
34+
Config.log_errors = false;
35+
await msg.DeleteWorkItemQueue(null);
36+
Config.log_errors = true;
37+
} catch (error) {
38+
39+
}
40+
await Config.db.shutdown();
41+
Logger.otel.shutdown();
42+
Auth.shutdown();
43+
}
44+
@timeout(50000)
45+
@test async 'Create test work item queue'() {
46+
var q: any = new SelectCustomerMessage();
47+
var msg = new Message(); msg.jwt = this.userToken;
48+
q.name = "test queue"
49+
msg.data = JSON.stringify(q);
50+
Config.log_errors = false;
51+
await msg.AddWorkItemQueue(null, null);
52+
Config.log_errors = true;
53+
q = JSON.parse(msg.data);
54+
assert.ok(!NoderedUtil.IsNullUndefinded(q), "msg data missing");
55+
assert.ok(NoderedUtil.IsNullUndefinded(q.error), q.error);
56+
57+
}
58+
59+
}
60+
// cls | ./node_modules/.bin/_mocha 'test/**/workitemqueue-messages.test.ts'

0 commit comments

Comments
 (0)