@twilio/flex-plugin-e2e-tests 6.3.4-alpha.202405081240 → 6.3.4-alpha.202405090906
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/parameters.d.ts +4 -1
- package/dist/core/parameters.js.map +1 -1
- package/dist/utils/index.d.ts +0 -1
- package/dist/utils/index.js +0 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/pages/view/twilio-console.d.ts +0 -3
- package/dist/utils/pages/view/twilio-console.js +36 -21
- package/dist/utils/pages/view/twilio-console.js.map +1 -1
- package/package.json +5 -5
- package/dist/utils/console-api.d.ts +0 -43
- package/dist/utils/console-api.js +0 -155
- package/dist/utils/console-api.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../src/core/parameters.ts"],"names":[],"mappings":";;;;;;AAAA,6BAA4B;AAC5B,yBAA8B;AAE9B,kDAA4B;
|
|
1
|
+
{"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../src/core/parameters.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -3,7 +3,6 @@ export { default as assertion } from './assertion';
|
|
|
3
3
|
export { writeFileSync } from 'fs';
|
|
4
4
|
export { default as api } from './plugins-api';
|
|
5
5
|
export { default as pluginHelper } from './plugin-helper';
|
|
6
|
-
export * from './console-api';
|
|
7
6
|
export * from './browser';
|
|
8
7
|
export * from './timers';
|
|
9
8
|
export { join as joinPath } from 'path';
|
package/dist/utils/index.js
CHANGED
|
@@ -27,7 +27,6 @@ var plugins_api_1 = require("./plugins-api");
|
|
|
27
27
|
Object.defineProperty(exports, "api", { enumerable: true, get: function () { return __importDefault(plugins_api_1).default; } });
|
|
28
28
|
var plugin_helper_1 = require("./plugin-helper");
|
|
29
29
|
Object.defineProperty(exports, "pluginHelper", { enumerable: true, get: function () { return __importDefault(plugin_helper_1).default; } });
|
|
30
|
-
__exportStar(require("./console-api"), exports);
|
|
31
30
|
__exportStar(require("./browser"), exports);
|
|
32
31
|
__exportStar(require("./timers"), exports);
|
|
33
32
|
var path_1 = require("path");
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";AAAA,6CAA6C;;;;;;;;;;;;;;;;AAE7C,iCAAiF;AAAxE,8FAAA,gBAAgB,OAAS;AAAE,kGAAA,SAAS,OAAA;AAAE,yGAAA,gBAAgB,OAAA;AAC/D,yCAAmD;AAA1C,uHAAA,OAAO,OAAa;AAC7B,yBAAmC;AAA1B,mGAAA,aAAa,OAAA;AACtB,6CAA+C;AAAtC,mHAAA,OAAO,OAAO;AACvB,iDAA0D;AAAjD,8HAAA,OAAO,OAAgB;AAChC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";AAAA,6CAA6C;;;;;;;;;;;;;;;;AAE7C,iCAAiF;AAAxE,8FAAA,gBAAgB,OAAS;AAAE,kGAAA,SAAS,OAAA;AAAE,yGAAA,gBAAgB,OAAA;AAC/D,yCAAmD;AAA1C,uHAAA,OAAO,OAAa;AAC7B,yBAAmC;AAA1B,mGAAA,aAAa,OAAA;AACtB,6CAA+C;AAAtC,mHAAA,OAAO,OAAO;AACvB,iDAA0D;AAAjD,8HAAA,OAAO,OAAgB;AAChC,4CAA0B;AAC1B,2CAAyB;AACzB,6BAAwC;AAA/B,gGAAA,IAAI,OAAY"}
|
|
@@ -2,9 +2,6 @@ import { Page } from 'puppeteer';
|
|
|
2
2
|
import { Base } from './base';
|
|
3
3
|
export declare class TwilioConsole extends Base {
|
|
4
4
|
private static _loginForm;
|
|
5
|
-
private static _password;
|
|
6
|
-
private static _nextBtn;
|
|
7
|
-
private static _loginBtn;
|
|
8
5
|
assert: {};
|
|
9
6
|
private readonly _baseUrl;
|
|
10
7
|
private readonly _flexBaseUrl;
|
|
@@ -74,7 +74,7 @@ var TwilioConsole = /** @class */ (function (_super) {
|
|
|
74
74
|
TwilioConsole.prototype.login = function (flexPath, accountSid, localhostPort, firstLoad) {
|
|
75
75
|
if (firstLoad === void 0) { firstLoad = true; }
|
|
76
76
|
return __awaiter(this, void 0, void 0, function () {
|
|
77
|
-
var redirectUrl, path;
|
|
77
|
+
var redirectUrl, path, csrfToken, loginURL;
|
|
78
78
|
return __generator(this, function (_a) {
|
|
79
79
|
switch (_a.label) {
|
|
80
80
|
case 0:
|
|
@@ -85,38 +85,53 @@ var TwilioConsole = /** @class */ (function (_super) {
|
|
|
85
85
|
return [4 /*yield*/, this.goto({ baseUrl: this._baseUrl, path: path })];
|
|
86
86
|
case 1:
|
|
87
87
|
_a.sent();
|
|
88
|
-
if (!firstLoad) return [3 /*break*/,
|
|
89
|
-
return [4 /*yield*/, this.
|
|
88
|
+
if (!firstLoad) return [3 /*break*/, 7];
|
|
89
|
+
return [4 /*yield*/, this.page.evaluate(function () {
|
|
90
|
+
var _a;
|
|
91
|
+
return (_a = document.head.querySelector('meta[name="csrfToken"]')) === null || _a === void 0 ? void 0 : _a.getAttribute('content');
|
|
92
|
+
})];
|
|
90
93
|
case 2:
|
|
91
|
-
_a.sent();
|
|
92
|
-
return [
|
|
94
|
+
csrfToken = _a.sent();
|
|
95
|
+
if (!csrfToken) return [3 /*break*/, 6];
|
|
96
|
+
loginURL = this._baseUrl + "/userauth/submitLoginPassword";
|
|
97
|
+
return [4 /*yield*/, this.page.evaluate(
|
|
98
|
+
// eslint-disable-next-line @typescript-eslint/promise-function-async
|
|
99
|
+
function (data) {
|
|
100
|
+
return fetch(data.url, {
|
|
101
|
+
headers: {
|
|
102
|
+
'x-twilio-csrf': data.csrfToken,
|
|
103
|
+
'Content-Type': 'application/json',
|
|
104
|
+
},
|
|
105
|
+
body: JSON.stringify({
|
|
106
|
+
email: data.email,
|
|
107
|
+
password: data.password,
|
|
108
|
+
}),
|
|
109
|
+
method: 'POST',
|
|
110
|
+
});
|
|
111
|
+
}, {
|
|
112
|
+
url: loginURL,
|
|
113
|
+
email: core_1.testParams.secrets.console.email,
|
|
114
|
+
password: core_1.testParams.secrets.console.password,
|
|
115
|
+
csrfToken: csrfToken,
|
|
116
|
+
})];
|
|
93
117
|
case 3:
|
|
94
118
|
_a.sent();
|
|
95
|
-
|
|
119
|
+
// Log in Flex via service login
|
|
120
|
+
return [4 /*yield*/, this.goto({ baseUrl: this._baseUrl, path: path })];
|
|
96
121
|
case 4:
|
|
122
|
+
// Log in Flex via service login
|
|
97
123
|
_a.sent();
|
|
98
|
-
return [4 /*yield*/,
|
|
124
|
+
return [4 /*yield*/, timers_1.sleep(30000)];
|
|
99
125
|
case 5:
|
|
100
126
|
_a.sent();
|
|
101
|
-
return [
|
|
102
|
-
case 6:
|
|
103
|
-
|
|
104
|
-
return [4 /*yield*/, this.page.waitForNavigation()];
|
|
105
|
-
case 7:
|
|
106
|
-
_a.sent();
|
|
107
|
-
_a.label = 8;
|
|
108
|
-
case 8: return [4 /*yield*/, timers_1.sleep(30000)];
|
|
109
|
-
case 9:
|
|
110
|
-
_a.sent();
|
|
111
|
-
return [2 /*return*/];
|
|
127
|
+
return [3 /*break*/, 7];
|
|
128
|
+
case 6: throw new Error('Unable to fetch CSRF token to login to Twilio Console');
|
|
129
|
+
case 7: return [2 /*return*/];
|
|
112
130
|
}
|
|
113
131
|
});
|
|
114
132
|
});
|
|
115
133
|
};
|
|
116
134
|
TwilioConsole._loginForm = '#email';
|
|
117
|
-
TwilioConsole._password = '#password';
|
|
118
|
-
TwilioConsole._nextBtn = '#email-next';
|
|
119
|
-
TwilioConsole._loginBtn = 'button[type=submit]';
|
|
120
135
|
/**
|
|
121
136
|
* Creates a localhost url
|
|
122
137
|
* @param port
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"twilio-console.js","sourceRoot":"","sources":["../../../../src/utils/pages/view/twilio-console.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,+BAA8B;AAC9B,sCAA2C;AAC3C,uCAAqC;AAErC;IAAmC,iCAAI;
|
|
1
|
+
{"version":3,"file":"twilio-console.js","sourceRoot":"","sources":["../../../../src/utils/pages/view/twilio-console.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,+BAA8B;AAC9B,sCAA2C;AAC3C,uCAAqC;AAErC;IAAmC,iCAAI;IASrC,uBAAY,IAAU,EAAE,EAAgE;YAA9D,IAAI,UAAA,EAAE,aAAa,mBAAA;QAA7C,YACE,kBAAM,IAAI,CAAC,SAGZ;QAVD,YAAM,GAAG,EAAE,CAAC;QAQV,KAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;QAC9B,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;;IAC3B,CAAC;IAQD;;;;;OAKG;IACG,6BAAK,GAAX,UAAY,QAAgB,EAAE,UAAkB,EAAE,aAAqB,EAAE,SAAyB;QAAzB,0BAAA,EAAA,gBAAyB;;;;;;wBAC1F,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC;4BACzD,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,aAAa,CAAC;4BAClD,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;wBAChB,IAAI,GAAG,gCAA8B,UAAU,gBAAW,QAAQ,iBAAY,WAAa,CAAC;wBAElG,qBAAM,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,MAAA,EAAE,CAAC,EAAA;;wBAAjD,SAAiD,CAAC;6BAE9C,SAAS,EAAT,wBAAS;wBACO,qBAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;;gCACzC,OAAO,MAAA,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,0CAAE,YAAY,CAAC,SAAS,CAAC,CAAC;4BACxF,CAAC,CAAC,EAAA;;wBAFI,SAAS,GAAG,SAEhB;6BAEE,SAAS,EAAT,wBAAS;wBACL,QAAQ,GAAM,IAAI,CAAC,QAAQ,kCAA+B,CAAC;wBACjE,qBAAM,IAAI,CAAC,IAAI,CAAC,QAAQ;4BACtB,qEAAqE;4BACrE,UAAC,IAA4B;gCAC3B,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;oCACrB,OAAO,EAAE;wCACP,eAAe,EAAE,IAAI,CAAC,SAAS;wCAC/B,cAAc,EAAE,kBAAkB;qCACnC;oCACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wCACnB,KAAK,EAAE,IAAI,CAAC,KAAK;wCACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;qCACxB,CAAC;oCACF,MAAM,EAAE,MAAM;iCACf,CAAC,CAAC;4BACL,CAAC,EACD;gCACE,GAAG,EAAE,QAAQ;gCACb,KAAK,EAAE,iBAAU,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK;gCACvC,QAAQ,EAAE,iBAAU,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ;gCAC7C,SAAS,WAAA;6BACV,CACF,EAAA;;wBArBD,SAqBC,CAAC;wBAEF,gCAAgC;wBAChC,qBAAM,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,MAAA,EAAE,CAAC,EAAA;;wBADjD,gCAAgC;wBAChC,SAAiD,CAAC;wBAClD,qBAAM,cAAK,CAAC,KAAK,CAAC,EAAA;;wBAAlB,SAAkB,CAAC;;4BAEnB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;;;;;KAG9E;IAvEc,wBAAU,GAAG,QAAQ,CAAC;IAcrC;;;OAGG;IACY,iCAAmB,GAAG,UAAC,IAAY,IAAK,OAAA,sBAAoB,IAAI,mBAAc,IAAM,EAA5C,CAA4C,CAAC;IAsDtG,oBAAC;CAAA,AAzED,CAAmC,WAAI,GAyEtC;AAzEY,sCAAa"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@twilio/flex-plugin-e2e-tests",
|
|
3
|
-
"version": "6.3.4-alpha.
|
|
3
|
+
"version": "6.3.4-alpha.202405090906",
|
|
4
4
|
"description": "Flex Plugin E2E Tests framework",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"flex",
|
|
@@ -34,12 +34,12 @@
|
|
|
34
34
|
"test": "exit 0"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@twilio/flex-dev-utils": "6.3.4-alpha.
|
|
38
|
-
"@twilio/flex-plugins-api-client": "6.3.4-alpha.
|
|
37
|
+
"@twilio/flex-dev-utils": "6.3.4-alpha.202405090906",
|
|
38
|
+
"@twilio/flex-plugins-api-client": "6.3.4-alpha.202405090906",
|
|
39
39
|
"axios": "^0.24.0",
|
|
40
40
|
"lodash": "4.17.21",
|
|
41
41
|
"package-json": "^7.0.0",
|
|
42
|
-
"puppeteer": "^
|
|
42
|
+
"puppeteer": "^21.3.7",
|
|
43
43
|
"replace-in-file": "^6.3.2",
|
|
44
44
|
"semver": "^7.3.5"
|
|
45
45
|
},
|
|
@@ -53,5 +53,5 @@
|
|
|
53
53
|
"publishConfig": {
|
|
54
54
|
"access": "public"
|
|
55
55
|
},
|
|
56
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "a0627e049b36dce803cbda4b24bdaca006fa27ee"
|
|
57
57
|
}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
export interface ConsoleAuthOptions {
|
|
2
|
-
email: string;
|
|
3
|
-
password: string;
|
|
4
|
-
}
|
|
5
|
-
export declare enum Cookie {
|
|
6
|
-
visitor = "tw-visitor",
|
|
7
|
-
sIdentity = "server-identity",
|
|
8
|
-
identity = "identity"
|
|
9
|
-
}
|
|
10
|
-
export interface Cookies {
|
|
11
|
-
[Cookie.identity]: string | undefined;
|
|
12
|
-
[Cookie.sIdentity]: string;
|
|
13
|
-
[Cookie.visitor]: string;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Defines interactions with Console API
|
|
17
|
-
*/
|
|
18
|
-
export declare class ConsoleAPI {
|
|
19
|
-
private readonly baseUrl;
|
|
20
|
-
private readonly consoleAuthOptions;
|
|
21
|
-
/**
|
|
22
|
-
* Initialises console base url and verifies console credentials
|
|
23
|
-
* @param consoleBaseUrl base url of Twilio console
|
|
24
|
-
* @param auth the {@link ConsoleAuthOptions}
|
|
25
|
-
*/
|
|
26
|
-
constructor(consoleBaseUrl: string, auth: ConsoleAuthOptions);
|
|
27
|
-
/**
|
|
28
|
-
* Extracts value from response header using regex
|
|
29
|
-
* @param regex regex to apply
|
|
30
|
-
* @param response response to be searched
|
|
31
|
-
* @param matchName name of the entity being looked for
|
|
32
|
-
*/
|
|
33
|
-
private static getValueFromResponse;
|
|
34
|
-
/**
|
|
35
|
-
* Fetch response from the Twilio console endpoint
|
|
36
|
-
* @param config request config to send
|
|
37
|
-
*/
|
|
38
|
-
private static getResponse;
|
|
39
|
-
/**
|
|
40
|
-
* Get required cookies (tw-visitor, identity, server-identity) to authenticate
|
|
41
|
-
*/
|
|
42
|
-
getCookies(): Promise<Cookies>;
|
|
43
|
-
}
|
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (_) try {
|
|
18
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
-
};
|
|
41
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
-
exports.ConsoleAPI = exports.Cookie = void 0;
|
|
43
|
-
var axios_1 = __importDefault(require("axios"));
|
|
44
|
-
var flex_dev_utils_1 = require("@twilio/flex-dev-utils");
|
|
45
|
-
var csrfTokenRegex = new RegExp(/name="csrfToken"\scontent="(.*?)"/m);
|
|
46
|
-
var twVisitorCookieRegex = new RegExp(/tw-visitor=(.*?);/m);
|
|
47
|
-
var identityCookieRegex = new RegExp(/identity=(.*?);/m);
|
|
48
|
-
var serverIdentityCookieRegex = new RegExp(/server-identity=(.*?);/m);
|
|
49
|
-
var SET_COOKIE = 'set-cookie';
|
|
50
|
-
var Cookie;
|
|
51
|
-
(function (Cookie) {
|
|
52
|
-
Cookie["visitor"] = "tw-visitor";
|
|
53
|
-
Cookie["sIdentity"] = "server-identity";
|
|
54
|
-
Cookie["identity"] = "identity";
|
|
55
|
-
})(Cookie = exports.Cookie || (exports.Cookie = {}));
|
|
56
|
-
/**
|
|
57
|
-
* Defines interactions with Console API
|
|
58
|
-
*/
|
|
59
|
-
var ConsoleAPI = /** @class */ (function () {
|
|
60
|
-
/**
|
|
61
|
-
* Initialises console base url and verifies console credentials
|
|
62
|
-
* @param consoleBaseUrl base url of Twilio console
|
|
63
|
-
* @param auth the {@link ConsoleAuthOptions}
|
|
64
|
-
*/
|
|
65
|
-
function ConsoleAPI(consoleBaseUrl, auth) {
|
|
66
|
-
this.baseUrl = consoleBaseUrl;
|
|
67
|
-
this.consoleAuthOptions = auth;
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Extracts value from response header using regex
|
|
71
|
-
* @param regex regex to apply
|
|
72
|
-
* @param response response to be searched
|
|
73
|
-
* @param matchName name of the entity being looked for
|
|
74
|
-
*/
|
|
75
|
-
ConsoleAPI.getValueFromResponse = function (regex, response, matchName) {
|
|
76
|
-
var match = response.match(regex);
|
|
77
|
-
if (!match || !match[1]) {
|
|
78
|
-
flex_dev_utils_1.logger.error(response);
|
|
79
|
-
throw new Error("Response does not contain " + matchName);
|
|
80
|
-
}
|
|
81
|
-
return match[1];
|
|
82
|
-
};
|
|
83
|
-
/**
|
|
84
|
-
* Fetch response from the Twilio console endpoint
|
|
85
|
-
* @param config request config to send
|
|
86
|
-
*/
|
|
87
|
-
ConsoleAPI.getResponse = function (config) {
|
|
88
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
89
|
-
return __generator(this, function (_a) {
|
|
90
|
-
try {
|
|
91
|
-
return [2 /*return*/, axios_1.default(config)];
|
|
92
|
-
}
|
|
93
|
-
catch (e) {
|
|
94
|
-
flex_dev_utils_1.logger.error(config.method + ": " + config.url + " returned code " + e.status + ".");
|
|
95
|
-
throw new Error(e.message);
|
|
96
|
-
}
|
|
97
|
-
return [2 /*return*/];
|
|
98
|
-
});
|
|
99
|
-
});
|
|
100
|
-
};
|
|
101
|
-
/**
|
|
102
|
-
* Get required cookies (tw-visitor, identity, server-identity) to authenticate
|
|
103
|
-
*/
|
|
104
|
-
ConsoleAPI.prototype.getCookies = function () {
|
|
105
|
-
var _a, _b, _c, _d;
|
|
106
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
107
|
-
var loginResponse, csrfToken, twVisitorCookie, loginPasswordResponse, loginPasswordCookies, serverIdentityCookie, identityCookie;
|
|
108
|
-
var _e;
|
|
109
|
-
return __generator(this, function (_f) {
|
|
110
|
-
switch (_f.label) {
|
|
111
|
-
case 0: return [4 /*yield*/, ConsoleAPI.getResponse({ method: 'GET', url: this.baseUrl + "/login" })];
|
|
112
|
-
case 1:
|
|
113
|
-
loginResponse = _f.sent();
|
|
114
|
-
csrfToken = ConsoleAPI.getValueFromResponse(new RegExp(csrfTokenRegex), loginResponse.data, 'CSRF Token');
|
|
115
|
-
twVisitorCookie = ConsoleAPI.getValueFromResponse(new RegExp(twVisitorCookieRegex), ((_b = (_a = loginResponse.headers) === null || _a === void 0 ? void 0 : _a[SET_COOKIE]) === null || _b === void 0 ? void 0 : _b.join()) || '', Cookie.visitor + " cookie");
|
|
116
|
-
return [4 /*yield*/, ConsoleAPI.getResponse({
|
|
117
|
-
method: 'POST',
|
|
118
|
-
url: this.baseUrl + "/userauth/submitLoginPassword",
|
|
119
|
-
withCredentials: true,
|
|
120
|
-
maxRedirects: 0,
|
|
121
|
-
headers: {
|
|
122
|
-
'x-twilio-csrf': csrfToken,
|
|
123
|
-
cookie: "tw-visitor=" + twVisitorCookie,
|
|
124
|
-
'Content-Type': 'application/json',
|
|
125
|
-
Accept: 'application/json',
|
|
126
|
-
},
|
|
127
|
-
validateStatus: function (status) { return status === 200; },
|
|
128
|
-
data: JSON.stringify({
|
|
129
|
-
email: this.consoleAuthOptions.email,
|
|
130
|
-
password: this.consoleAuthOptions.password,
|
|
131
|
-
}),
|
|
132
|
-
})];
|
|
133
|
-
case 2:
|
|
134
|
-
loginPasswordResponse = _f.sent();
|
|
135
|
-
loginPasswordCookies = ((_d = (_c = loginPasswordResponse.headers) === null || _c === void 0 ? void 0 : _c[SET_COOKIE]) === null || _d === void 0 ? void 0 : _d.join()) || '';
|
|
136
|
-
serverIdentityCookie = ConsoleAPI.getValueFromResponse(new RegExp(serverIdentityCookieRegex), loginPasswordCookies, Cookie.sIdentity + " cookie");
|
|
137
|
-
try {
|
|
138
|
-
identityCookie = ConsoleAPI.getValueFromResponse(new RegExp(identityCookieRegex), loginPasswordCookies, Cookie.identity + " cookie");
|
|
139
|
-
}
|
|
140
|
-
catch (e) {
|
|
141
|
-
identityCookie = undefined;
|
|
142
|
-
}
|
|
143
|
-
return [2 /*return*/, (_e = {},
|
|
144
|
-
_e[Cookie.identity] = identityCookie,
|
|
145
|
-
_e[Cookie.sIdentity] = serverIdentityCookie,
|
|
146
|
-
_e[Cookie.visitor] = twVisitorCookie,
|
|
147
|
-
_e)];
|
|
148
|
-
}
|
|
149
|
-
});
|
|
150
|
-
});
|
|
151
|
-
};
|
|
152
|
-
return ConsoleAPI;
|
|
153
|
-
}());
|
|
154
|
-
exports.ConsoleAPI = ConsoleAPI;
|
|
155
|
-
//# sourceMappingURL=console-api.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"console-api.js","sourceRoot":"","sources":["../../src/utils/console-api.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAiE;AACjE,yDAAgD;AAEhD,IAAM,cAAc,GAAG,IAAI,MAAM,CAAC,oCAAoC,CAAC,CAAC;AACxE,IAAM,oBAAoB,GAAG,IAAI,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAC9D,IAAM,mBAAmB,GAAG,IAAI,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAC3D,IAAM,yBAAyB,GAAG,IAAI,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAOxE,IAAM,UAAU,GAAG,YAAY,CAAC;AAEhC,IAAY,MAIX;AAJD,WAAY,MAAM;IAChB,gCAAsB,CAAA;IACtB,uCAA6B,CAAA;IAC7B,+BAAqB,CAAA;AACvB,CAAC,EAJW,MAAM,GAAN,cAAM,KAAN,cAAM,QAIjB;AAQD;;GAEG;AACH;IAKE;;;;OAIG;IACH,oBAAY,cAAsB,EAAE,IAAwB;QAC1D,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC;QAC9B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACY,+BAAoB,GAAnC,UAAoC,KAAa,EAAE,QAAgB,EAAE,SAAiB;QACpF,IAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEpC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACvB,uBAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,+BAA6B,SAAW,CAAC,CAAC;SAC3D;QAED,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED;;;OAGG;IACkB,sBAAW,GAAhC,UAAiC,MAA0B;;;gBACzD,IAAI;oBACF,sBAAO,eAAK,CAAC,MAAM,CAAC,EAAC;iBACtB;gBAAC,OAAO,CAAM,EAAE;oBACf,uBAAM,CAAC,KAAK,CAAI,MAAM,CAAC,MAAM,UAAK,MAAM,CAAC,GAAG,uBAAkB,CAAC,CAAC,MAAM,MAAG,CAAC,CAAC;oBAC3E,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;iBAC5B;;;;KACF;IAED;;OAEG;IACG,+BAAU,GAAhB;;;;;;;4BACwB,qBAAM,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAK,IAAI,CAAC,OAAO,WAAQ,EAAE,CAAC,EAAA;;wBAA7F,aAAa,GAAG,SAA6E;wBAE7F,SAAS,GAAG,UAAU,CAAC,oBAAoB,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;wBAE1G,eAAe,GAAG,UAAU,CAAC,oBAAoB,CACrD,IAAI,MAAM,CAAC,oBAAoB,CAAC,EAChC,CAAA,MAAA,MAAA,aAAa,CAAC,OAAO,0CAAG,UAAU,CAAC,0CAAE,IAAI,EAAE,KAAI,EAAE,EAC9C,MAAM,CAAC,OAAO,YAAS,CAC3B,CAAC;wBAE4B,qBAAM,UAAU,CAAC,WAAW,CAAC;gCACzD,MAAM,EAAE,MAAM;gCACd,GAAG,EAAK,IAAI,CAAC,OAAO,kCAA+B;gCACnD,eAAe,EAAE,IAAI;gCACrB,YAAY,EAAE,CAAC;gCACf,OAAO,EAAE;oCACP,eAAe,EAAE,SAAS;oCAC1B,MAAM,EAAE,gBAAc,eAAiB;oCACvC,cAAc,EAAE,kBAAkB;oCAClC,MAAM,EAAE,kBAAkB;iCAC3B;gCACD,cAAc,EAAE,UAAC,MAAc,IAAc,OAAA,MAAM,KAAK,GAAG,EAAd,CAAc;gCAC3D,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oCACnB,KAAK,EAAE,IAAI,CAAC,kBAAkB,CAAC,KAAK;oCACpC,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ;iCAC3C,CAAC;6BACH,CAAC,EAAA;;wBAhBI,qBAAqB,GAAG,SAgB5B;wBAEI,oBAAoB,GAAG,CAAA,MAAA,MAAA,qBAAqB,CAAC,OAAO,0CAAG,UAAU,CAAC,0CAAE,IAAI,EAAE,KAAI,EAAE,CAAC;wBAEjF,oBAAoB,GAAG,UAAU,CAAC,oBAAoB,CAC1D,IAAI,MAAM,CAAC,yBAAyB,CAAC,EACrC,oBAAoB,EACjB,MAAM,CAAC,SAAS,YAAS,CAC7B,CAAC;wBAIF,IAAI;4BACF,cAAc,GAAG,UAAU,CAAC,oBAAoB,CAC9C,IAAI,MAAM,CAAC,mBAAmB,CAAC,EAC/B,oBAAoB,EACjB,MAAM,CAAC,QAAQ,YAAS,CAC5B,CAAC;yBACH;wBAAC,OAAO,CAAC,EAAE;4BACV,cAAc,GAAG,SAAS,CAAC;yBAC5B;wBAED;gCACE,GAAC,MAAM,CAAC,QAAQ,IAAG,cAAc;gCACjC,GAAC,MAAM,CAAC,SAAS,IAAG,oBAAoB;gCACxC,GAAC,MAAM,CAAC,OAAO,IAAG,eAAe;qCACjC;;;;KACH;IACH,iBAAC;AAAD,CAAC,AAvGD,IAuGC;AAvGY,gCAAU"}
|