25 lines
910 B
JavaScript
25 lines
910 B
JavaScript
import vm from "node:vm";
|
|
|
|
const baseUrl = process.env.WORKSHOP_TEST_URL;
|
|
if (!baseUrl) throw new Error("WORKSHOP_TEST_URL is required");
|
|
|
|
const response = await fetch(`${baseUrl}/workshop-runtime-config.js`);
|
|
if (!response.ok) throw new Error(`Runtime configuration returned ${response.status}`);
|
|
|
|
const context = { TextDecoder, Uint8Array, atob };
|
|
context.globalThis = context;
|
|
vm.runInNewContext(await response.text(), context);
|
|
|
|
const actual = JSON.parse(JSON.stringify(context.homarrRuntimeConfig));
|
|
const expected = {
|
|
homarrWebsiteUrl: process.env.EXPECTED_HOMARR_WEBSITE_URL,
|
|
workshopApiUrl: process.env.EXPECTED_WORKSHOP_API_URL,
|
|
workshopWebUrl: process.env.EXPECTED_WORKSHOP_WEB_URL,
|
|
};
|
|
|
|
if (JSON.stringify(actual) !== JSON.stringify(expected)) {
|
|
throw new Error(`Unexpected Workshop runtime configuration: ${JSON.stringify(actual)}`);
|
|
}
|
|
|
|
console.log("Workshop runtime configuration passed");
|