Skip to content

Commit 24e08cd

Browse files
authored
Merge pull request #259 from veghdev/manual_offline
Allows to run manual offline
2 parents f7466ca + 1f0026b commit 24e08cd

File tree

5 files changed

+61
-34
lines changed

5 files changed

+61
-34
lines changed

test/integration/modules/console/console.test.js

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -104,17 +104,9 @@ describe("new Console(logPrefix, logPath|undefined).cnsl.log()", () => {
104104

105105
afterEach(() => {
106106
if (path.basename(path.dirname(logFile)) === "logPath") {
107-
fs.rm(path.dirname(logFile), { force: true, recursive: true }, (err) => {
108-
if (err) {
109-
throw err;
110-
}
111-
});
107+
fs.rmSync(path.dirname(logFile), { force: true, recursive: true });
112108
} else {
113-
fs.rm(logFile, { force: true, recursive: true }, (err) => {
114-
if (err) {
115-
throw err;
116-
}
117-
});
109+
fs.rmSync(logFile, { force: true, recursive: true });
118110
}
119111
});
120112

test/integration/modules/integration-test/test-case/test-cases.test.js

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -489,9 +489,5 @@ describe("getTestCases()", () => {
489489
});
490490

491491
afterAll(() => {
492-
fs.rm(suites, { force: true, recursive: true }, (err) => {
493-
if (err) {
494-
throw err;
495-
}
496-
});
492+
fs.rmSync(suites, { force: true, recursive: true });
497493
});

test/integration/modules/manual/manual.js

Lines changed: 42 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -48,34 +48,56 @@ class Manual {
4848

4949
#setRouteGetLibList() {
5050
this.#workspaceHost.setRoute("/getLibList", (req, res) => {
51-
let libList = {
52-
localhost:
53-
"http://127.0.0.1:" + this.#workspaceHostServerPort + "/example/lib",
54-
};
55-
libList["HEAD"] = VizzuUrl.getRemoteStableBucket() + "/lib";
56-
this.#fetchLibList().then((vizzuList) => {
51+
let localUrl = "http://127.0.0.1:" + this.#workspaceHostServerPort + "/example/lib/vizzu.js";
52+
let localReady = VizzuVersion.isUrlAvailable(localUrl);
53+
localReady = localReady.then((available) => {
54+
let versions = {};
55+
if (available) {
56+
versions["localhost"] = localUrl;
57+
} else {
58+
console.error("failed to fetch localhost");
59+
}
60+
return versions;
61+
});
62+
let headUrl = VizzuUrl.getRemoteStableBucket() + "/lib/vizzu.js"
63+
let headReady = VizzuVersion.isUrlAvailable(headUrl);
64+
headReady = headReady.then((available) => {
65+
let versions = {};
66+
if (available) {
67+
versions["HEAD"] = headUrl;
68+
} else {
69+
console.error("failed to fetch head");
70+
}
71+
return versions;
72+
});
73+
let shaListReady = this.#fetchLibList();
74+
shaListReady = shaListReady.then((vizzuList) => {
75+
let versions = {};
5776
vizzuList
5877
.slice()
5978
.reverse()
6079
.forEach((vizzu) => {
61-
libList[
80+
versions[
6281
vizzu.time.substring(0, 10) +
6382
" " +
6483
vizzu.time.substring(11, 16) +
6584
" " +
6685
vizzu.sha
6786
] = VizzuUrl.getRemoteBucket() + "/" + vizzu.sha;
6887
});
69-
VizzuVersion.getPublicBetaList().then((versions) => {
70-
versions.forEach((version) => {
71-
libList[version.num] = version.url;
72-
});
73-
VizzuVersion.getPrivateBetaList().forEach((version) => {
74-
libList[version.num] = version.url;
75-
});
76-
res.send(libList);
88+
return versions;
89+
});
90+
let cdnListReady = VizzuVersion.getPublicBetaList();
91+
cdnListReady = cdnListReady.then((cdnList) => {
92+
let versions = {};
93+
cdnList.forEach((version) => {
94+
versions[version.num] = version.url;
7795
});
96+
return versions;
7897
});
98+
Promise.all([localReady, headReady, shaListReady, cdnListReady]).then((versions) => {
99+
res.send(Object.assign({}, versions[0], versions[1], versions[2], versions[3]))
100+
})
79101
});
80102
}
81103

@@ -90,8 +112,12 @@ class Manual {
90112
return resolve(vizzuList);
91113
})
92114
.catch((err) => {
93-
return resolve(this.#fetchLibList());
115+
console.error(err);
116+
return resolve([]);
94117
});
118+
}).catch((err) => {
119+
console.error("failed to fetch sha lib list");
120+
return resolve([]);
95121
});
96122
});
97123
}

test/integration/modules/vizzu/vizzu-url.test.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -303,15 +303,15 @@ describe("resolveVizzuUrl()", () => {
303303
return new Promise((resolve, reject) => {
304304
let local = "./test_report";
305305
let rmVizzuJsReady = new Promise((resolve, reject) => {
306-
fs.rm(local + VizzuUrl.getVizzuJs(), { force: true }, (err) => {
306+
fs.rm(local + VizzuUrl.getVizzuJs(), { force: true, recursive: true }, (err) => {
307307
if (err) {
308308
return reject(err);
309309
}
310310
return resolve();
311311
});
312312
});
313313
let rmVizzuMinJsReady = new Promise((resolve, reject) => {
314-
fs.rm(local + VizzuUrl.getVizzuMinJs(), { force: true }, (err) => {
314+
fs.rm(local + VizzuUrl.getVizzuMinJs(), { force: true, recursive: true }, (err) => {
315315
if (err) {
316316
return reject(err);
317317
}

test/integration/modules/vizzu/vizzu-version.js

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,20 @@ class VizzuVersion {
8080
});
8181
})
8282
.catch((err) => {
83-
return resolve(this.getPublicBetaList());
83+
console.error("failed to fetch cdn lib list");
84+
return resolve([]);
85+
});
86+
});
87+
}
88+
89+
static isUrlAvailable(url) {
90+
return new Promise((resolve, reject) => {
91+
fetch(url, { method: 'HEAD' })
92+
.then((response) => {
93+
resolve(response.status === 200);
94+
})
95+
.catch((error) => {
96+
resolve(false);
8497
});
8598
});
8699
}

0 commit comments

Comments
 (0)