Merge pull request #1129 from bbassie/refactor/async-factory

Replace bootstrap methods with async factories
This commit is contained in:
Cooldude2606 authored and GitHub committed 2026-10-27 21:31:49 +00:00
commit e36a76acc5
18 files changed
+540 -281

No files matched your search

+1 -2
View File
@@ -12,8 +12,7 @@ describe("Integration of lib/factorio/export", function() {
requiresFactorio(this);
it("returns a nested Map with base game locale information", async function() {
let writePath = path.join("temp", "test", "server");
let testServer = new FactorioServer(factorioDir, writePath, {});
await testServer.init();
let testServer = await FactorioServer.fromOptions(factorioDir, writePath, {});
let locale = await _exportLocale(testServer, new Map(), new Map(), ["base"], "en");
+2 -1
View File
@@ -3,6 +3,7 @@ import assert from "node:assert/strict";
import * as lib from "@clusterio/lib";
import { Host, Instance, InstanceConnection } from "@clusterio/host";
import { ControlConnection, Controller, HostConnection, InstanceRecord } from "@clusterio/controller";
import { MockServer } from "../mock.js";
// Although there are no imports, the file has side-effects such as "before" which can effect tests
import "./index.js";
@@ -39,7 +40,7 @@ function connectInstance(controller, host, instanceId) {
instanceConfig.set("instance.assigned_host", host.config.get("host.id"));
host.assignedInstances.set(instanceId, { path: "invalid", config: instanceConfig });
controller.instances.records.set(new InstanceRecord(instanceConfig, "stopped"));
const instance = new Instance(host, instanceSide, "invalid", "invalid", instanceConfig);
const instance = new Instance(host, instanceSide, "invalid", instanceConfig, new MockServer());
const instanceConnection = new InstanceConnection(hostSide, host, instance);
host.instanceConnections.set(instanceId, instanceConnection);
return instance;
+5 -6
View File
@@ -40,12 +40,14 @@ describe("Integration of host/src/server", function() {
describe("class FactorioServer", function() {
let writePath = path.join("temp", "test", "integration");
let server = new FactorioServer(factorioDir, writePath, {});
// Let Factorio bind an OS-assigned UDP port instead of guessing a free one.
server.gamePort = 0;
let server;
let logFile;
before(async function() {
server = await FactorioServer.fromOptions(factorioDir, writePath, {});
// Let Factorio bind an OS-assigned UDP port instead of guessing a free one.
server.gamePort = 0;
// Delete result from previous run of these tests
await fs.rm(writePath, { force: true, recursive: true, maxRetries: 10 });
@@ -63,9 +65,6 @@ describe("Integration of host/src/server", function() {
}
logFile.write(`${JSON.stringify(output)}\n`);
});
// Initialize sever.
await server.init();
});
after(function() {