51 lines
2.0 KiB
TypeScript
51 lines
2.0 KiB
TypeScript
import Logout from "../../../helpers/Logout";
|
|
import { StartDriver, StopDriver } from "../../../helpers/context/WithDriver";
|
|
import RegisterAndLoginWith2FA from "../../../helpers/behaviors/RegisterAndLoginTwoFactor";
|
|
import VerifyForwardedHeaderIs from "../../../helpers/assertions/VerifyForwardedHeaderIs";
|
|
import LoginOneFactor from "../../../helpers/behaviors/LoginOneFactor";
|
|
|
|
export default function() {
|
|
describe("Custom-Forwarded-User and Custom-Forwarded-Groups are correctly forwarded to protected backend", function() {
|
|
this.timeout(10000);
|
|
|
|
describe("With single factor", function() {
|
|
before(async function() {
|
|
this.driver = await StartDriver();
|
|
await LoginOneFactor(this.driver, "john", "password", "https://single_factor.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 'dev,admin'", async function() {
|
|
await VerifyForwardedHeaderIs(this.driver, 'Custom-Forwarded-Groups', 'dev,admin');
|
|
});
|
|
});
|
|
|
|
describe("With two factors", function() {
|
|
before(async function() {
|
|
this.driver = await StartDriver();
|
|
await RegisterAndLoginWith2FA(this.driver, "john", "password", true, "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 'dev,admin'", async function() {
|
|
await VerifyForwardedHeaderIs(this.driver, 'Custom-Forwarded-Groups', 'dev,admin');
|
|
});
|
|
});
|
|
});
|
|
} |