Skip to content

Commit 7950eaa

Browse files
committed
testing with EXHORT_BACKEND_URL
1 parent c81602c commit 7950eaa

File tree

3 files changed

+64
-57
lines changed

3 files changed

+64
-57
lines changed

.github/workflows/pr.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,8 @@ jobs:
104104
- name: Run integration tests cli
105105
working-directory: integration
106106
run: bash ./run_its.sh
107+
env:
108+
EXHORT_DEV_MODE: 'true'
107109

108110
- name: Upload coverage reports
109111
if: ${{ matrix.node == env.MAIN_NODE_VER }}

src/index.js

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,8 @@ function readAndPrintVersionFromPackageJson() {
8484
logOptionsAndEnvironmentsVariables("trustify-da-javascript-client analysis started, version: ", packageJson.version)
8585
}
8686

87+
export const exhortDevUrl = 'https://exhort.stage.devshift.net';
88+
8789
/**
8890
* This function is used to determine exhort theUrl backend according to the following logic:
8991
* If EXHORT_DEV_MODE = true, then take the value of the EXHORT BACKEND URL of dev/staging environment in such a way:
@@ -102,15 +104,20 @@ function selectExhortBackend(opts = {}) {
102104
readAndPrintVersionFromPackageJson();
103105
}
104106

105-
const result = getCustom('EXHORT_BACKEND_URL', undefined, opts);
107+
let url;
108+
if (getCustom('EXHORT_DEV_MODE', 'false', opts) === 'true') {
109+
url = getCustom('DEV_EXHORT_BACKEND_URL', exhortDevUrl, opts);
110+
} else {
111+
url = getCustom('EXHORT_BACKEND_URL', undefined, opts);
112+
}
106113

107-
if (!result) {
114+
if (!url) {
108115
throw new Error(`EXHORT_BACKEND_URL is unset`)
109116
}
110117

111-
logOptionsAndEnvironmentsVariables("Chosen exhort backend URL:", result)
118+
logOptionsAndEnvironmentsVariables("Chosen exhort backend URL:", url)
112119

113-
return result;
120+
return url;
114121
}
115122

116123
/**

test/get-exhort-url.test.js

Lines changed: 51 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,117 +1,115 @@
11
import { expect } from 'chai'
22

3-
import {exhortDefaultUrl, exhortDevDefaultUrl, testSelectExhortBackend} from "../src/index.js"
3+
import { exhortDevUrl, testSelectExhortBackend } from '../src/index.js'
4+
5+
const testProdUrl = 'https://exhort.example.com';
46

57
suite('testing Select Exhort Backend function when EXHORT_DEV_MODE environment variable is True', () => {
68

7-
test('When Dev Mode environment Variable= true, default DEV Exhort Backend Selected ', () => {
9+
test('When Dev Mode environment Variable= true, default DEV Exhort Backend Selected', () => {
810
let testOpts = {
9-
"EXHORT_DEV_MODE" : "true"
10-
11+
'EXHORT_DEV_MODE': 'true'
1112
}
1213
let selectedUrl = testSelectExhortBackend(testOpts);
13-
expect(selectedUrl).not.to.be.equals(exhortDefaultUrl)
14-
expect(selectedUrl).to.be.equals(exhortDevDefaultUrl)
14+
expect(selectedUrl).not.to.be.equals(testProdUrl)
15+
expect(selectedUrl).to.be.equals(exhortDevUrl)
1516
});
1617

17-
test('When Dev Mode environment Variable= true, and despite option Dev Mode = false , default DEV Exhort Backend Selected ', () => {
18+
test('When Dev Mode environment Variable= true, and despite option Dev Mode = false, default DEV Exhort Backend Selected', () => {
1819
let testOpts = {
19-
"EXHORT_DEV_MODE" : "false"
20+
'EXHORT_DEV_MODE': 'false'
2021
}
2122
let selectedUrl = testSelectExhortBackend(testOpts);
22-
expect(selectedUrl).not.to.be.equals(exhortDefaultUrl)
23-
expect(selectedUrl).to.be.equals(exhortDevDefaultUrl)
23+
expect(selectedUrl).not.to.be.equals(testProdUrl)
24+
expect(selectedUrl).to.be.equals(exhortDevUrl)
2425
});
2526

26-
test('When Dev Mode environment Variable= true, And option DEV_EXHORT_BACKEND_URL contains some url route that client set , default DEV Exhort Backend Not Selected ', () => {
27-
const dummyRoute = "http://dummy-exhort-route";
27+
test('When Dev Mode environment Variable= true, And option DEV_EXHORT_BACKEND_URL contains some url route that client set, default DEV Exhort Backend Not Selected', () => {
28+
const dummyRoute = 'http://dummy-exhort-route';
2829
let testOpts = {
29-
"DEV_EXHORT_BACKEND_URL" : dummyRoute
30+
'DEV_EXHORT_BACKEND_URL': dummyRoute
3031
}
3132
let selectedUrl = testSelectExhortBackend(testOpts);
32-
expect(selectedUrl).not.to.be.equals(exhortDevDefaultUrl)
33+
expect(selectedUrl).not.to.be.equals(exhortDevUrl)
3334
expect(selectedUrl).to.be.equals(dummyRoute)
3435
});
3536

36-
}).beforeAll(() => process.env["EXHORT_DEV_MODE"] = "true" ).afterAll(() => delete process.env['EXHORT_DEV_MODE']);
37+
}).beforeAll(() => { process.env['EXHORT_DEV_MODE'] = 'true'; process.env['EXHORT_BACKEND_URL'] = testProdUrl }).afterAll(() => delete process.env['EXHORT_DEV_MODE']);
3738

3839
suite('testing Select Exhort Backend function when EXHORT_DEV_MODE environment variable is false', () => {
3940

40-
test('When Dev Mode environment Variable= true, default DEV Exhort Backend Selected ', () => {
41+
test('When Dev Mode environment Variable= true, default DEV Exhort Backend Selected', () => {
4142

4243
let testOpts = {
43-
"EXHORT_DEV_MODE" : "false"
44+
'EXHORT_DEV_MODE': 'false'
4445
}
4546
let selectedUrl = testSelectExhortBackend(testOpts);
46-
expect(selectedUrl).not.to.be.equals(exhortDevDefaultUrl)
47-
expect(selectedUrl).to.be.equals(exhortDefaultUrl)
47+
expect(selectedUrl).not.to.be.equals(exhortDevUrl)
48+
expect(selectedUrl).to.be.equals(testProdUrl)
4849
});
4950

50-
test('When Dev Mode environment Variable= false, and despite option Dev Mode = true , default Exhort Backend Selected (production) ', () => {
51-
let dummyRoute = "http://dummy-dev-route-exhirt"
51+
test('When Dev Mode environment Variable= false, and despite option Dev Mode = true, default Exhort Backend Selected (production)', () => {
52+
let dummyRoute = 'http://dummy-dev-route-exhort'
5253
let testOpts = {
53-
"EXHORT_DEV_MODE" : "true",
54-
"DEV_EXHORT_BACKEND_URL" : dummyRoute
54+
'EXHORT_DEV_MODE': 'true',
55+
'DEV_EXHORT_BACKEND_URL': dummyRoute
5556
}
5657
let selectedUrl = testSelectExhortBackend(testOpts);
5758
expect(selectedUrl).not.to.be.equals(dummyRoute)
58-
expect(selectedUrl).to.be.equals(exhortDefaultUrl)
59+
expect(selectedUrl).to.be.equals(testProdUrl)
5960
});
6061

61-
test('When Dev Mode environment Variable= false, environment variable DEV_EXHORT_BACKEND_URL=dummy-url , option EXHORT_DEV_MODE=true , default Exhort Backend Selected anyway ', () => {
62-
const dummyRoute = "http://dummy-url"
63-
process.env["DEV_EXHORT_BACKEND_URL"] = dummyRoute
62+
test('When Dev Mode environment Variable= false, environment variable DEV_EXHORT_BACKEND_URL=dummy-url, option EXHORT_DEV_MODE=true, default Exhort Backend Selected anyway', () => {
63+
const dummyRoute = 'http://dummy-url'
64+
process.env['DEV_EXHORT_BACKEND_URL'] = dummyRoute
6465
let testOpts = {
65-
"EXHORT_DEV_MODE" : "true",
66-
"DEV_EXHORT_BACKEND_URL" : dummyRoute
66+
'EXHORT_DEV_MODE': 'true',
67+
'DEV_EXHORT_BACKEND_URL': dummyRoute
6768
}
6869
let selectedUrl = testSelectExhortBackend(testOpts);
69-
delete process.env["DEV_EXHORT_BACKEND_URL"]
70+
delete process.env['DEV_EXHORT_BACKEND_URL']
7071
expect(selectedUrl).not.to.be.equals(dummyRoute)
71-
expect(selectedUrl).to.be.equals(exhortDefaultUrl)
72+
expect(selectedUrl).to.be.equals(testProdUrl)
7273
});
7374

74-
}).beforeAll(() => process.env["EXHORT_DEV_MODE"] = "false" ).afterAll(() => delete process.env['EXHORT_DEV_MODE']);
75+
}).beforeAll(() => { process.env['EXHORT_DEV_MODE'] = 'false'; process.env['EXHORT_BACKEND_URL'] = testProdUrl }).afterAll(() => delete process.env['EXHORT_DEV_MODE']);
7576

7677
suite('testing Select Exhort Backend function when EXHORT_DEV_MODE environment variable is not set', () => {
7778

7879
test('When Dev Mode Option = false, default Exhort Backend Selected (production)', () => {
7980

8081
let testOpts = {
81-
"EXHORT_DEV_MODE" : "false"
82+
'EXHORT_DEV_MODE': 'false'
8283
}
8384
let selectedUrl = testSelectExhortBackend(testOpts);
84-
expect(selectedUrl).not.to.be.equals(exhortDevDefaultUrl)
85-
expect(selectedUrl).to.be.equals(exhortDefaultUrl)
85+
expect(selectedUrl).not.to.be.equals(exhortDevUrl)
86+
expect(selectedUrl).to.be.equals(testProdUrl)
8687
});
8788

88-
test('When Dev Mode Option Variable= true, default dev Exhort Backend Selected ', () => {
89+
test('When Dev Mode Option Variable= true, default dev Exhort Backend Selected', () => {
8990
let testOpts = {
90-
"EXHORT_DEV_MODE" : "true"
91+
'EXHORT_DEV_MODE': 'true'
9192
}
9293
let selectedUrl = testSelectExhortBackend(testOpts);
93-
expect(selectedUrl).not.to.be.equals(exhortDefaultUrl)
94-
expect(selectedUrl).to.be.equals(exhortDevDefaultUrl)
94+
expect(selectedUrl).not.to.be.equals(testProdUrl)
95+
expect(selectedUrl).to.be.equals(exhortDevUrl)
9596
});
9697

97-
test('When Dev Mode option = true, option DEV_EXHORT_BACKEND_URL=some dummy-url , then some dummy-url Selected ', () => {
98-
let dummyRoute = "http://dummy-dev-route-exhirt"
99-
process.env["DEV_EXHORT_BACKEND_URL"] = dummyRoute
98+
test('When Dev Mode option = true, option DEV_EXHORT_BACKEND_URL=some dummy-url, then some dummy-url Selected', () => {
99+
let dummyRoute = 'http://dummy-dev-route-exhort'
100+
process.env['DEV_EXHORT_BACKEND_URL'] = dummyRoute
100101
let testOpts = {
101-
"EXHORT_DEV_MODE" : "true",
102-
"DEV_EXHORT_BACKEND_URL" : dummyRoute
102+
'EXHORT_DEV_MODE': 'true',
103+
'DEV_EXHORT_BACKEND_URL': dummyRoute
103104
}
104105
let selectedUrl = testSelectExhortBackend(testOpts);
105-
expect(selectedUrl).not.to.be.equals(exhortDefaultUrl)
106+
expect(selectedUrl).not.to.be.equals(testProdUrl)
106107
expect(selectedUrl).to.be.equals(dummyRoute)
107-
delete process.env["DEV_EXHORT_BACKEND_URL"]
108+
delete process.env['DEV_EXHORT_BACKEND_URL']
108109
});
109110

110-
test('When Nothing set, Choose default backend (production) ', () => {
111+
test('When Nothing set, throw error', () => {
111112
let selectedUrl = testSelectExhortBackend({});
112-
expect(selectedUrl).to.be.equals(exhortDefaultUrl)
113-
});
114-
115-
116-
});
117-
113+
expect(selectedUrl).to.be.equals(testProdUrl)
114+
})
115+
}).beforeAll(() => process.env['EXHORT_BACKEND_URL'] = testProdUrl);

0 commit comments

Comments
 (0)