import {When, Then} from "cucumber"; import seleniumWebdriver = require("selenium-webdriver"); import Request = require("request-promise"); import BluebirdPromise = require("bluebird"); import Util = require("util"); When("I request {string} with username {string}" + " and password {string} using basic authentication", function (url: string, username: string, password: string) { const that = this; return Request(url, { auth: { username: username, password: password }, resolveWithFullResponse: true }) .then(function (response: any) { that.response = response; }); }); Then("I receive the secret page", function () { if (this.response.body.match("This is a very important secret!")) return BluebirdPromise.resolve(); return BluebirdPromise.reject(new Error("Secret page not received.")); }); Then("I received header {string} set to {string}", function (expectedHeaderName: string, expectedValue: string) { const expectedLine = Util.format("\"%s\": \"%s\"", expectedHeaderName, expectedValue); if (this.response.body.indexOf(expectedLine) > 0) return BluebirdPromise.resolve(); return BluebirdPromise.reject(new Error( Util.format("No such header or with unexpected value."))); });