Skip to content

Commit

Permalink
Merge pull request #426 from sirensolutions/issue-419-sync-to-master
Browse files Browse the repository at this point in the history
SYNC to master. Close headless browser if selector search failed.
  • Loading branch information
sergibondarenko committed May 10, 2018
2 parents 4665d8b + 96c9987 commit 674ed10
Showing 1 changed file with 8 additions and 5 deletions.
13 changes: 8 additions & 5 deletions server/lib/actions/actions/report.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import uuid from 'uuid/v4';
import Log from '../../log';

class Authenticator {
static async kibana(page, user, pass, appName = 'xpack', timeout = 5000) {
static async kibana(page, browser, user, pass, appName = 'xpack', timeout = 5000) {
try {
await page.type('#username', user, {delay: timeout / 50});
await page.type('#password', pass, {delay: timeout / 50});
Expand All @@ -28,28 +28,31 @@ class Authenticator {
await page.click('.global-nav-link--close');
await delay(timeout);
} catch (err) {
await browser.close();
throw new Error(`fail to authenticate via Search Guard, user: ${user}: ${err.message}`);
}
}

static async custom(page, user, pass, userSelector, passSelector, loginBtnSelector, timeout = 5000) {
static async custom(page, browser, user, pass, userSelector, passSelector, loginBtnSelector, timeout = 5000) {
try {
await page.type(userSelector, user, {delay: timeout / 50});
await page.type(passSelector, pass, {delay: timeout / 50});
await page.click(loginBtnSelector);
await delay(timeout);
} catch (err) {
await browser.close();
throw new Error(`fail to authenticate via custom auth, user: ${user}: ${err.message}`);
}
}

static async basic(page, user, pass, encoding = 'base64') {
static async basic(page, browser, user, pass, encoding = 'base64') {
try {
const headers = new Map();
headers.set('Authorization', `Basic ${new Buffer(`${user}:${pass}`).toString(encoding)}`);
await page.setExtraHTTPHeaders(headers);
return page;
} catch (err) {
await browser.close();
throw new Error(`fail to set basic auth headers, user: ${user}, ${err.message}`);
}
}
Expand Down Expand Up @@ -116,11 +119,11 @@ class Reporter {

async authenticate(mode, user, pass, timeout) {
if (mode.searchguard) {
await Authenticator.kibana(this.page, user, pass, 'searchguard', timeout);
await Authenticator.kibana(this.page, this.browser, user, pass, 'searchguard', timeout);
}

if (mode.xpack) {
await Authenticator.kibana(this.page, user, pass, 'xpack', timeout);
await Authenticator.kibana(this.page, this.browser, user, pass, 'xpack', timeout);
}

if (mode.custom) {
Expand Down

0 comments on commit 674ed10

Please sign in to comment.