authelia/test/suites/BypassAll/scenarii/CustomHeadersForwarded.ts
Clement Michaud a991379a74 Declare suites as Go structs and bootstrap e2e test framework in Go.
Some tests are not fully rewritten in Go, a typescript wrapper is called
instead until we remove the remaining TS tests and dependencies.

Also, dockerize every components (mainly Authelia backend, frontend and kind)
so that the project does not interfere with user host anymore (open ports for instance).
The only remaining intrusive change is the one done during bootstrap to add entries in /etc/hosts.
It will soon be avoided using authelia.com domain that I own.
2019-11-15 20:23:06 +01:00

52 lines
2.1 KiB
TypeScript

import Logout from "../../../helpers/Logout";
import { StartDriver, StopDriver } from "../../../helpers/context/WithDriver";
import VerifyForwardedHeaderIs from "../../../helpers/assertions/VerifyForwardedHeaderIs";
import LoginOneFactor from "../../../helpers/behaviors/LoginOneFactor";
import VisitPageAndWaitUrlIs from "../../../helpers/behaviors/VisitPageAndWaitUrlIs";
import VerifyButtonDoesNotExist from "../../../helpers/assertions/VerifyButtonDoesNotExist";
export default function() {
describe("Custom-Forwarded-User and Custom-Forwarded-Groups are correctly forwarded when available", function() {
this.timeout(100000);
describe("Headers are not forwarded for anonymous user", function() {
before(async function() {
this.driver = await StartDriver();
await VisitPageAndWaitUrlIs(this.driver, "https://public.example.com:8080/headers");
});
after(async function() {
await Logout(this.driver);
await StopDriver(this.driver);
});
it("should check header 'Custom-Forwarded-User' does not exist", async function() {
await VerifyButtonDoesNotExist(this.driver, 'Custom-Forwarded-User');
});
it("should check header 'Custom-Forwarded-Groups' does not exist", async function() {
await VerifyButtonDoesNotExist(this.driver, 'Custom-Forwarded-Groups');
});
});
describe("Headers are forwarded for authenticated user", function() {
before(async function() {
this.driver = await StartDriver();
await LoginOneFactor(this.driver, "john", "password", "https://public.example.com:8080/headers");
});
after(async function() {
await Logout(this.driver);
await StopDriver(this.driver);
});
it("should see header 'Custom-Forwarded-User' set to 'john'", async function() {
await VerifyForwardedHeaderIs(this.driver, 'Custom-Forwarded-User', 'john');
});
it("should see header 'Custom-Forwarded-Groups' set to 'admins,dev'", async function() {
await VerifyForwardedHeaderIs(this.driver, 'Custom-Forwarded-Groups', 'admins,dev');
});
});
});
}