Skip to content

Commit cc3af32

Browse files
committed
integration test: -v--version return vizzu version
1 parent bfc655d commit cc3af32

File tree

5 files changed

+95
-6
lines changed

5 files changed

+95
-6
lines changed

test/integration/integration.test.js

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
const path = require("path");
22
const yargs = require("yargs");
33

4+
const VizzuVersion = require("./modules/integration-test/version/vizzu-version");
45
const TestSuite = require("./modules/integration-test/test-suite.js");
56

67

@@ -32,8 +33,10 @@ try {
3233
.help("h")
3334
.alias("h", "help")
3435

35-
.version("0.1.0")
36+
.version(false)
37+
.boolean("version")
3638
.alias("v", "version")
39+
.describe("v", "Show version number of Vizzu")
3740

3841
.array("c")
3942
.alias("c", "configs")
@@ -135,7 +138,13 @@ try {
135138

136139
.argv;
137140

138-
if (!argv.delete) {
141+
if (argv.version) {
142+
VizzuVersion.get(argv.vizzu).then(vizzuVersion => {
143+
console.log(vizzuVersion);
144+
});
145+
} else if (argv.delete) {
146+
TestSuite.del();
147+
} else {
139148
let testSuite = new TestSuite(
140149
argv.configs,
141150
argv._,
@@ -151,8 +160,6 @@ try {
151160
testSuite.test().catch(err => {
152161
catchError(err);
153162
});
154-
} else {
155-
TestSuite.del();
156163
}
157164
} catch (err) {
158165
catchError(err);

test/integration/modules/integration-test/test-suite.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ class TestSuite {
5454
noLogs,
5555
browsersNum,
5656
browserGui,
57-
cfgVizzuUrl,
57+
vizzuUrl,
5858
createImages,
5959
createHashes
6060
) {
@@ -65,7 +65,7 @@ class TestSuite {
6565
this.#cnsl.getTestSuiteLogPath(),
6666
this.#cnsl.getTimeStamp());
6767

68-
this.#vizzuUrl = cfgVizzuUrl;
68+
this.#vizzuUrl = vizzuUrl;
6969

7070
this.#createImages = createImages;
7171
this.#createHashes = createHashes;
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<title>Loading...</title>
5+
<meta charset="utf-8"/>
6+
<meta name="viewport" content="width=device-width, initial-scale=1">
7+
</head>
8+
<body>
9+
<canvas id="vizzuCanvas" style="width:640px; height:360px;"></canvas>
10+
<script id="vizzuVersion" type="module" src="index.js"></script>
11+
</body>
12+
</html>
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
function catchError(err) {
2+
console.error(err)
3+
let errMsg = err.toString();
4+
if (err.stack !== undefined) {
5+
errMsg = err.stack;
6+
}
7+
window.vizzuVersion = errMsg;
8+
document.title = "Finished";
9+
}
10+
11+
12+
try {
13+
let queryString = window.location.search;
14+
let urlParams = new URLSearchParams(queryString);
15+
let vizzuUrl = urlParams.get("vizzuUrl");
16+
17+
import(vizzuUrl).then(vizzuModule => {
18+
let Vizzu = vizzuModule.default;
19+
let chart = new Vizzu("vizzuCanvas");
20+
return chart.initializing;
21+
}).then(chart => {
22+
window.vizzuVersion = chart.version();
23+
document.title = "Finished";
24+
return;
25+
}).catch((err) => { catchError(err); });
26+
} catch (err) {
27+
catchError(err);
28+
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
const path = require("path");
2+
3+
const WorkspaceHost = require("../../../modules/workspace/workspace-host.js");
4+
const BrowserChrome = require("../../../modules/browser/chrome.js");
5+
const VizzuUrl = require("../../../modules/integration-test/vizzu-url.js");
6+
const TestEnv = require("../../../modules/integration-test/test-env.js");
7+
8+
9+
class VizzuVersion {
10+
11+
static get(vizzuUrl) {
12+
return new Promise((resolve, reject) => {
13+
let vizzuUrlReady = VizzuUrl.resolveVizzuUrl(vizzuUrl, TestEnv.getWorkspacePath(), TestEnv.getTestSuitePath());
14+
vizzuUrlReady.then(vizzuUrl => {
15+
let workspaceHost = new WorkspaceHost(TestEnv.getWorkspacePath());
16+
let workspaceHostReady = workspaceHost.serverPortReady();
17+
let browserChrome = new BrowserChrome();
18+
let browserChromeReady = browserChrome.initializing;
19+
Promise.all([workspaceHostReady, browserChromeReady]).then(([workspaceHostServerPort]) => {
20+
if (vizzuUrl.startsWith("/")) {
21+
vizzuUrl = "/" + path.relative(TestEnv.getWorkspacePath(), vizzuUrl);
22+
}
23+
browserChrome.getUrl("http://127.0.0.1:" + String(workspaceHostServerPort)
24+
+ "/test/integration/modules/integration-test/version/index.html"
25+
+ "?vizzuUrl=" + vizzuUrl)
26+
.then(() => {
27+
browserChrome.waitUntilTitleIs("Finished", 1000000).then(() => {
28+
browserChrome.executeScript("return vizzuVersion").then(VizzuVersion => {
29+
browserChrome.closeBrowser();
30+
workspaceHost.closeServer();
31+
return resolve(VizzuVersion);
32+
})
33+
});
34+
});
35+
});
36+
});
37+
});
38+
}
39+
}
40+
41+
42+
module.exports = VizzuVersion;

0 commit comments

Comments
 (0)