Files
radicle-explorer/httpd-client/tests/support/globalSetup.ts
T
Thomas Scholtes 72fd099ecd Stop confirming removal of test tmp files
We stop asking for confirmation to remove the folders containing the
static generated fixtures. All the data is programatically generated so
it’s not a big deal if it is lost. In any case the data is retained
after a test run and only deleted before the next test run.

Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
2023-11-23 16:47:14 +01:00

60 lines
1.7 KiB
TypeScript

import * as FsSync from "node:fs";
import * as Path from "node:path";
import {
assertRadInstalled,
removeWorkspace,
tmpDir,
} from "@tests/support/support.js";
import { createPeerManager } from "@tests/support/peerManager";
import {
createCobsFixture,
createSourceBrowsingFixture,
defaultHttpdPort,
gitOptions,
startPalmHttpd,
} from "@tests/support/fixtures";
import { killAllProcesses } from "@tests/support/process";
export default async function globalSetup(): Promise<() => void> {
try {
await assertRadInstalled();
} catch (error) {
console.error(error);
console.log("");
console.log("To download the required test binaries, run:");
console.log(" 👉 ./scripts/install-binaries");
console.log("");
process.exit(1);
}
if (!process.env.SKIP_FIXTURE_CREATION) {
console.log("Setting up global test environment");
await removeWorkspace();
const peerManager = await createPeerManager({
dataDir: Path.resolve(Path.join(tmpDir, "peers")),
outputLog: FsSync.createWriteStream(
Path.join(tmpDir, "peerManager.log"),
).setMaxListeners(16),
});
const palm = await peerManager.startPeer({
name: "palm",
gitOptions: gitOptions["alice"],
});
await palm.startHttpd(defaultHttpdPort);
await palm.startNode({ policy: "track", scope: "all" });
console.log("Creating source-browsing fixture");
await createSourceBrowsingFixture(peerManager, palm);
console.log("Creating cobs fixture");
await createCobsFixture(palm);
console.log("Running tests");
await palm.stopNode();
} else {
await startPalmHttpd(defaultHttpdPort);
}
return () => killAllProcesses();
}