forked from openiap/opencore
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathConfig.test.ts
More file actions
76 lines (70 loc) · 3.59 KB
/
Copy pathConfig.test.ts
File metadata and controls
76 lines (70 loc) · 3.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
const path = require("path");
const env = path.join(process.cwd(), 'config', '.env');
require("dotenv").config({ path: env }); // , debug: false
import { suite, test, timeout } from '@testdeck/mocha';
import { Config } from "../OpenFlow/src/Config";
import { DatabaseConnection } from '../OpenFlow/src/DatabaseConnection';
import assert = require('assert');
import { Logger } from '../OpenFlow/src/Logger';
import { NoderedUtil } from '@openiap/openflow-api';
import { Auth } from '../OpenFlow/src/Auth';
@suite class Config_test {
@timeout(10000)
async before() {
Config.workitem_queue_monitoring_enabled = false;
Config.disablelogging();
Logger.configure(true, false);
Config.db = new DatabaseConnection(Config.mongodb_url, Config.mongodb_db, false);
await Config.db.connect(null);
}
async after() {
await Logger.shutdown();
}
@test 'reload'() {
Config.reload();
}
@test 'baseurl'() {
assert.strictEqual(NoderedUtil.IsNullEmpty(Config.domain), false, "domain missing from baseurl");
var url = Config.baseurl();
assert.notStrictEqual(url.indexOf(Config.domain), -1, "domain missing from baseurl");
assert.notStrictEqual(url.startsWith("https://"), false, "baseurl is not using https");
var wsurl = Config.basewsurl();
assert.notStrictEqual(wsurl.indexOf(Config.domain), -1, "basewsurl missing from baseurl");
assert.notStrictEqual(wsurl.startsWith("wss://"), false, "basewsurl is not using https");
Config.tls_crt = "";
Config.tls_key = "";
var wsurl = Config.basewsurl();
assert.notStrictEqual(wsurl.startsWith("wss://"), false, "basewsurl is not using https");
Config.protocol = "http";
var url = Config.baseurl();
assert.notStrictEqual(url.indexOf(Config.domain), -1, "domain missing from baseurl");
assert.notStrictEqual(url.startsWith("http://"), false, "baseurl is not using http");
var wsurl = Config.basewsurl();
assert.notStrictEqual(wsurl.indexOf(Config.domain), -1, "domain missing from basewsurl");
assert.notStrictEqual(wsurl.startsWith("ws://"), false, "basewsurl is not using http");
Config.port = 12345;
var url = Config.baseurl();
assert.notStrictEqual(url.indexOf(":12345"), -1, "port missing from baseurl");
var wsurl = Config.basewsurl();
assert.notStrictEqual(wsurl.indexOf(":12345"), -1, "port missing from basewsurl");
}
@test 'parseBoolean'() {
assert.strictEqual(Config.parseBoolean(true), true)
assert.strictEqual(Config.parseBoolean(false), false)
assert.strictEqual(Config.parseBoolean("true"), true)
assert.strictEqual(Config.parseBoolean("false"), false)
assert.strictEqual(Config.parseBoolean("hullu-bullu"), true)
assert.strictEqual(Config.parseBoolean(1), true)
assert.strictEqual(Config.parseBoolean(0), false)
assert.throws(() => { Config.parseBoolean({}) }, Error, "parseBoolean did not fail on illegal arguement");
}
@test async 'parse_federation_metadata'() {
var metadata = await Config.parse_federation_metadata("https://login.microsoftonline.com/common/FederationMetadata/2007-06/FederationMetadata.xml");
assert.ok(!NoderedUtil.IsNullEmpty(metadata.identityProviderUrl))
assert.ok(!NoderedUtil.IsNullEmpty(metadata.entryPoint))
assert.ok(!NoderedUtil.IsNullEmpty(metadata.logoutUrl))
assert.ok(Array.isArray(metadata.cert));
assert.ok(metadata.cert.length > 0);
}
}
// cls | ./node_modules/.bin/_mocha 'test/**/Config.test.ts'