authelia/test/helpers/GetIdentityLink.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
1011 B
TypeScript

import Bluebird = require("bluebird");
import Fs = require("fs");
import Request = require("request-promise");
export async function GetLinkFromFile() {
const data = await Bluebird.promisify(Fs.readFile)("/tmp/authelia/notification.txt")
const regexp = new RegExp(/Link: (.+)/);
const match = regexp.exec(data.toLocaleString());
if (match == null) {
throw new Error('No match');
}
return match[1];
};
export async function GetLinkFromEmail() {
const data = await Request({
method: "GET",
uri: "https://mail.example.com:8080/messages",
json: true,
rejectUnauthorized: false,
});
const messageId = data[data.length - 1].id;
const data2 = await Request({
method: "GET",
rejectUnauthorized: false,
uri: `https://mail.example.com:8080/messages/${messageId}.html`
});
const regexp = new RegExp(/<a href="(.+)" class="button">Continue<\/a>/);
const match = regexp.exec(data2);
if (match == null) {
throw new Error('No match');
}
return match[1];
};