mirror of
https://github.com/the-draupnir-project/Draupnir.git
synced 2026-10-16 06:09:57 +00:00
43 lines
1.5 KiB
TypeScript
43 lines
1.5 KiB
TypeScript
// SPDX-FileCopyrightText: 2026 Catalan Lover <catalanlover@protonmail.com>
|
|
//
|
|
// SPDX-License-Identifier: AFL-3.0
|
|
|
|
import { StringUserID } from "@the-draupnir-project/matrix-basic-types";
|
|
import { readTestConfig, setupHarnessWithConfig } from "../utils/harness";
|
|
import { newTestUser } from "../../integration/clientHelper";
|
|
import { MjolnirAppService } from "../../../src/appservice/AppService";
|
|
|
|
describe("Managed room bootstrap startup integration", function (this: Mocha.Suite) {
|
|
it("appservice mode reaches started stage with managed admin room enabled", async function (this: Mocha.Context) {
|
|
this.timeout(120000);
|
|
const config = readTestConfig();
|
|
const initialManager = await newTestUser(config.homeserver.url, {
|
|
name: { contains: "managed-admin" },
|
|
});
|
|
const testConfigRecord = {
|
|
...(config as unknown as Record<string, unknown>),
|
|
};
|
|
testConfigRecord.adminRoom = undefined;
|
|
testConfigRecord.initialManager =
|
|
(await initialManager.getUserId()) as StringUserID;
|
|
const testConfig = testConfigRecord as typeof config;
|
|
|
|
let appservice: MjolnirAppService | undefined;
|
|
try {
|
|
appservice = await setupHarnessWithConfig(testConfig, {
|
|
ensureAdminRoomAlias: false,
|
|
});
|
|
if (appservice.accessControlRoomID.length === 0) {
|
|
throw new TypeError(
|
|
"Managed appservice bootstrap did not produce an admin room"
|
|
);
|
|
}
|
|
} finally {
|
|
initialManager.stop();
|
|
if (appservice) {
|
|
await appservice.close();
|
|
}
|
|
}
|
|
});
|
|
});
|