mirror of
https://github.com/zadam/trilium.git
synced 2025-11-08 15:39:02 +01:00
74 lines
2.3 KiB
TypeScript
74 lines
2.3 KiB
TypeScript
import supertest from "supertest";
|
|
import options from "./options";
|
|
import cls from "./cls";
|
|
import { Application } from "express";
|
|
import config from "./config";
|
|
import { refreshAuth } from "./auth";
|
|
|
|
let app: Application;
|
|
|
|
describe("Auth", () => {
|
|
beforeAll(async () => {
|
|
const buildApp = (await (import("../../src/app.js"))).default;
|
|
app = await buildApp();
|
|
});
|
|
|
|
describe("Auth", () => {
|
|
beforeAll(() => {
|
|
config.General.noAuthentication = false;
|
|
refreshAuth();
|
|
});
|
|
|
|
it("goes to login and asks for TOTP if enabled", async () => {
|
|
cls.init(() => {
|
|
options.setOption("mfaEnabled", "true");
|
|
options.setOption("mfaMethod", "totp");
|
|
options.setOption("totpVerificationHash", "hi");
|
|
});
|
|
const response = await supertest(app)
|
|
.get("/")
|
|
.redirects(1)
|
|
.expect(200);
|
|
expect(response.text).toContain(`id="totpToken"`);
|
|
});
|
|
|
|
it("goes to login and doesn't ask for TOTP is disabled", async () => {
|
|
cls.init(() => {
|
|
options.setOption("mfaEnabled", "false");
|
|
});
|
|
const response = await supertest(app)
|
|
.get("/")
|
|
.redirects(1)
|
|
.expect(200)
|
|
expect(response.text).not.toContain(`id="totpToken"`);
|
|
});
|
|
});
|
|
|
|
describe("No auth", () => {
|
|
beforeAll(() => {
|
|
config.General.noAuthentication = true;
|
|
refreshAuth();
|
|
});
|
|
|
|
it("doesn't ask for authentication when disabled, even if TOTP is enabled", async () => {
|
|
cls.init(() => {
|
|
options.setOption("mfaEnabled", "true");
|
|
options.setOption("mfaMethod", "totp");
|
|
options.setOption("totpVerificationHash", "hi");
|
|
});
|
|
await supertest(app)
|
|
.get("/")
|
|
.expect(200);
|
|
});
|
|
|
|
it("doesn't ask for authentication when disabled, with TOTP disabled", async () => {
|
|
cls.init(() => {
|
|
options.setOption("mfaEnabled", "false");
|
|
});
|
|
await supertest(app)
|
|
.get("/")
|
|
.expect(200);
|
|
});
|
|
});
|
|
}, 60_000);
|