authelia/test/suites/high-availability/scenarii/BasicAuthentication.ts
Clement Michaud 76fa325f08 [BREAKING] Create a suite for kubernetes tests.
Authelia client uses hash router instead of browser router in order to work
with Kubernetes nginx-ingress-controller. This is also better for users having
old browsers.

This commit is breaking because it requires to change the configuration of the
proxy to include the # in the URL of the login portal.
2019-03-16 00:13:27 +01:00

34 lines
1.1 KiB
TypeScript

import Request from 'request-promise';
async function GetSecret(username: string, password: string) {
return await Request('https://singlefactor.example.com:8080/secret.html', {
auth: {
username,
password
},
rejectUnauthorized: false,
});
}
export default function() {
it("should retrieve secret when Authorization header is provided", async function() {
const res = await GetSecret('john', 'password');
if (res.indexOf('This is a very important secret!') < 0) {
throw new Error('Cannot access secret.');
}
});
it("should not retrieve secret when providing bad password", async function() {
const res = await GetSecret('john', 'bad-password');
if (res.indexOf('This is a very important secret!') >= 0) {
throw new Error('Cannot access secret.');
}
});
it("should not retrieve secret when authenticating with unexisting user", async function() {
const res = await GetSecret('dontexist', 'password');
if (res.indexOf('This is a very important secret!') >= 0) {
throw new Error('Cannot access secret.');
}
});
}