Files
Draupnir/test/integration/utilsTest.ts
Gnuxie 337a6a3b76 Add reuse.software (#486)
We have a lot of verbose headers, and i think now is the best opportunity we have to become reuse compliant given that we just did two other similar maintenance changes (prettier, typescirpt5 & eslint9 & typescript-eslint).

* synapse_antispam resuse headers.

* delete old unused tslint.json.

* Add REUSE to pre-commit config.

* reuse info for config directory.
2024-07-25 10:58:40 +01:00

65 lines
2.2 KiB
TypeScript

// Copyright 2022 - 2024 Gnuxie <Gnuxie@protonmail.com>
// Copyright 2021 - 2022 The Matrix.org Foundation C.I.C.
//
// SPDX-License-Identifier: AFL-3.0 AND Apache-2.0
//
// SPDX-FileAttributionText: <text>
// This modified file incorporates work from mjolnir
// https://github.com/matrix-org/mjolnir
// </text>
import { strict as assert } from "assert";
import { LogLevel } from "matrix-bot-sdk";
import { DraupnirTestContext, draupnirClient } from "./mjolnirSetupUtils";
import {
NoticeMessageContent,
RoomEvent,
Value,
} from "matrix-protection-suite";
describe("Test: utils", function () {
it(
"replaceRoomIdsWithPills correctly turns a room ID in to a pill",
async function (this: DraupnirTestContext) {
const managementRoomAlias = this.config.managementRoom;
const draupnir = this.draupnir;
const draupnirMatrixClient = draupnirClient();
if (draupnir === undefined || draupnirMatrixClient === null) {
throw new TypeError(`Setup code is broken`);
}
const managementRoomOutput = draupnir.managementRoomOutput;
await draupnir.client.sendStateEvent(
draupnir.managementRoomID,
"m.room.canonical_alias",
"",
{ alias: managementRoomAlias }
);
const message: RoomEvent = await new Promise((resolve) => {
draupnirMatrixClient.on("room.message", (roomId, event) => {
if (roomId === draupnir.managementRoomID) {
if (event.content?.body?.startsWith("it's")) {
resolve(event);
}
}
});
void managementRoomOutput.logMessage(
LogLevel.INFO,
"replaceRoomIdsWithPills test",
`it's fun here in ${draupnir.managementRoomID}`,
[draupnir.managementRoomID, "!myfaketestid:example.com"]
);
});
if (!Value.Check(NoticeMessageContent, message.content)) {
throw new TypeError(
`This test is written with the expectation logMessage will send a notice`
);
}
assert.equal(
message.content.formatted_body,
`it&#39;s fun here in <a href="https://matrix.to/#/${encodeURIComponent(managementRoomAlias)}">${managementRoomAlias}</a>`
);
} as unknown as Mocha.AsyncFunc
);
});