@twilio/flex-plugin-e2e-tests 5.0.1-beta.0
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/LICENSE +21 -0
- package/README.md +52 -0
- package/dist/core/index.d.ts +3 -0
- package/dist/core/index.js +16 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/parameters.d.ts +54 -0
- package/dist/core/parameters.js +95 -0
- package/dist/core/parameters.js.map +1 -0
- package/dist/core/runner.d.ts +8 -0
- package/dist/core/runner.js +313 -0
- package/dist/core/runner.js.map +1 -0
- package/dist/core/suites.d.ts +11 -0
- package/dist/core/suites.js +17 -0
- package/dist/core/suites.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -0
- package/dist/tests/step001.d.ts +3 -0
- package/dist/tests/step001.js +65 -0
- package/dist/tests/step001.js.map +1 -0
- package/dist/tests/step002.d.ts +3 -0
- package/dist/tests/step002.js +133 -0
- package/dist/tests/step002.js.map +1 -0
- package/dist/tests/step003.d.ts +3 -0
- package/dist/tests/step003.js +63 -0
- package/dist/tests/step003.js.map +1 -0
- package/dist/tests/step004.d.ts +3 -0
- package/dist/tests/step004.js +65 -0
- package/dist/tests/step004.js.map +1 -0
- package/dist/tests/step005.d.ts +3 -0
- package/dist/tests/step005.js +86 -0
- package/dist/tests/step005.js.map +1 -0
- package/dist/tests/step006.d.ts +3 -0
- package/dist/tests/step006.js +122 -0
- package/dist/tests/step006.js.map +1 -0
- package/dist/tests/step007.d.ts +3 -0
- package/dist/tests/step007.js +122 -0
- package/dist/tests/step007.js.map +1 -0
- package/dist/tests/step008.d.ts +3 -0
- package/dist/tests/step008.js +103 -0
- package/dist/tests/step008.js.map +1 -0
- package/dist/tests/step009.d.ts +3 -0
- package/dist/tests/step009.js +119 -0
- package/dist/tests/step009.js.map +1 -0
- package/dist/tests/step010.d.ts +3 -0
- package/dist/tests/step010.js +168 -0
- package/dist/tests/step010.js.map +1 -0
- package/dist/tests/step011.d.ts +3 -0
- package/dist/tests/step011.js +164 -0
- package/dist/tests/step011.js.map +1 -0
- package/dist/tests/step012.d.ts +3 -0
- package/dist/tests/step012.js +177 -0
- package/dist/tests/step012.js.map +1 -0
- package/dist/utils/assertion.d.ts +39 -0
- package/dist/utils/assertion.js +151 -0
- package/dist/utils/assertion.js.map +1 -0
- package/dist/utils/browser.d.ts +20 -0
- package/dist/utils/browser.js +142 -0
- package/dist/utils/browser.js.map +1 -0
- package/dist/utils/console-api.d.ts +43 -0
- package/dist/utils/console-api.js +154 -0
- package/dist/utils/console-api.js.map +1 -0
- package/dist/utils/index.d.ts +9 -0
- package/dist/utils/index.js +35 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/pages/app.d.ts +37 -0
- package/dist/utils/pages/app.js +133 -0
- package/dist/utils/pages/app.js.map +1 -0
- package/dist/utils/pages/index.d.ts +1 -0
- package/dist/utils/pages/index.js +14 -0
- package/dist/utils/pages/index.js.map +1 -0
- package/dist/utils/pages/view/admin-dashboard.d.ts +17 -0
- package/dist/utils/pages/view/admin-dashboard.js +91 -0
- package/dist/utils/pages/view/admin-dashboard.js.map +1 -0
- package/dist/utils/pages/view/agent-desktop.d.ts +17 -0
- package/dist/utils/pages/view/agent-desktop.js +91 -0
- package/dist/utils/pages/view/agent-desktop.js.map +1 -0
- package/dist/utils/pages/view/base.d.ts +29 -0
- package/dist/utils/pages/view/base.js +124 -0
- package/dist/utils/pages/view/base.js.map +1 -0
- package/dist/utils/pages/view/plugins.d.ts +31 -0
- package/dist/utils/pages/view/plugins.js +112 -0
- package/dist/utils/pages/view/plugins.js.map +1 -0
- package/dist/utils/pages/view/twilio-console.d.ts +26 -0
- package/dist/utils/pages/view/twilio-console.js +143 -0
- package/dist/utils/pages/view/twilio-console.js.map +1 -0
- package/dist/utils/plugin-helper.d.ts +6 -0
- package/dist/utils/plugin-helper.js +131 -0
- package/dist/utils/plugin-helper.js.map +1 -0
- package/dist/utils/plugins-api.d.ts +11 -0
- package/dist/utils/plugins-api.js +195 -0
- package/dist/utils/plugins-api.js.map +1 -0
- package/dist/utils/serverless-api.d.ts +7 -0
- package/dist/utils/serverless-api.js +117 -0
- package/dist/utils/serverless-api.js.map +1 -0
- package/dist/utils/spawn.d.ts +26 -0
- package/dist/utils/spawn.js +169 -0
- package/dist/utils/spawn.js.map +1 -0
- package/dist/utils/timers.d.ts +5 -0
- package/dist/utils/timers.js +48 -0
- package/dist/utils/timers.js.map +1 -0
- package/package.json +54 -0
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
18
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
19
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
20
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
21
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
22
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
23
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
27
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
28
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
29
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
30
|
+
function step(op) {
|
|
31
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
32
|
+
while (_) try {
|
|
33
|
+
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;
|
|
34
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
35
|
+
switch (op[0]) {
|
|
36
|
+
case 0: case 1: t = op; break;
|
|
37
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
38
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
39
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
40
|
+
default:
|
|
41
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
42
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
43
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
44
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
45
|
+
if (t[2]) _.ops.pop();
|
|
46
|
+
_.trys.pop(); continue;
|
|
47
|
+
}
|
|
48
|
+
op = body.call(thisArg, _);
|
|
49
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
50
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
54
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
55
|
+
if (!m) return o;
|
|
56
|
+
var i = m.call(o), r, ar = [], e;
|
|
57
|
+
try {
|
|
58
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
59
|
+
}
|
|
60
|
+
catch (error) { e = { error: error }; }
|
|
61
|
+
finally {
|
|
62
|
+
try {
|
|
63
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
64
|
+
}
|
|
65
|
+
finally { if (e) throw e.error; }
|
|
66
|
+
}
|
|
67
|
+
return ar;
|
|
68
|
+
};
|
|
69
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
70
|
+
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
|
|
71
|
+
to[j] = from[i];
|
|
72
|
+
return to;
|
|
73
|
+
};
|
|
74
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
75
|
+
exports.TwilioConsole = void 0;
|
|
76
|
+
var base_1 = require("./base");
|
|
77
|
+
var console_api_1 = require("../../console-api");
|
|
78
|
+
var TwilioConsole = /** @class */ (function (_super) {
|
|
79
|
+
__extends(TwilioConsole, _super);
|
|
80
|
+
function TwilioConsole(page, _a) {
|
|
81
|
+
var flex = _a.flex, twilioConsole = _a.twilioConsole;
|
|
82
|
+
var _this = _super.call(this, page) || this;
|
|
83
|
+
_this.assert = {};
|
|
84
|
+
_this._baseUrl = twilioConsole;
|
|
85
|
+
_this._flexBaseUrl = flex;
|
|
86
|
+
return _this;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Logs user in through service-login
|
|
90
|
+
* @param cookies
|
|
91
|
+
* @param flexBaseUrl
|
|
92
|
+
* @param flexPath
|
|
93
|
+
* @param accountSid
|
|
94
|
+
*/
|
|
95
|
+
TwilioConsole.prototype.login = function (cookies, flexPath, accountSid, localhostPort) {
|
|
96
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
97
|
+
var redirectUrl, path, requiredCookies;
|
|
98
|
+
var _a;
|
|
99
|
+
return __generator(this, function (_b) {
|
|
100
|
+
switch (_b.label) {
|
|
101
|
+
case 0:
|
|
102
|
+
redirectUrl = this._flexBaseUrl.includes('localhost')
|
|
103
|
+
? TwilioConsole._createLocalhostUrl(localhostPort)
|
|
104
|
+
: this._flexBaseUrl;
|
|
105
|
+
path = "console/flex/service-login/" + accountSid + "/?path=/" + flexPath + "&referer=" + redirectUrl;
|
|
106
|
+
return [4 /*yield*/, this.goto({ baseUrl: this._baseUrl, path: path })];
|
|
107
|
+
case 1:
|
|
108
|
+
_b.sent();
|
|
109
|
+
return [4 /*yield*/, this.elementVisible(TwilioConsole._loginForm, "Twilio Console's Login form")];
|
|
110
|
+
case 2:
|
|
111
|
+
_b.sent();
|
|
112
|
+
requiredCookies = [
|
|
113
|
+
{ name: console_api_1.Cookie.visitor, value: cookies[console_api_1.Cookie.visitor] },
|
|
114
|
+
{ name: console_api_1.Cookie.sIdentity, value: cookies[console_api_1.Cookie.sIdentity] },
|
|
115
|
+
];
|
|
116
|
+
if (cookies.identity) {
|
|
117
|
+
requiredCookies.push({ name: console_api_1.Cookie.identity, value: cookies[console_api_1.Cookie.identity] });
|
|
118
|
+
}
|
|
119
|
+
// Set console cookies
|
|
120
|
+
return [4 /*yield*/, (_a = this.page).setCookie.apply(_a, __spreadArray([], __read(requiredCookies)))];
|
|
121
|
+
case 3:
|
|
122
|
+
// Set console cookies
|
|
123
|
+
_b.sent();
|
|
124
|
+
// Log in Flex via service login
|
|
125
|
+
return [4 /*yield*/, this.goto({ baseUrl: this._baseUrl, path: path })];
|
|
126
|
+
case 4:
|
|
127
|
+
// Log in Flex via service login
|
|
128
|
+
_b.sent();
|
|
129
|
+
return [2 /*return*/];
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
});
|
|
133
|
+
};
|
|
134
|
+
TwilioConsole._loginForm = 'form[method="post"';
|
|
135
|
+
/**
|
|
136
|
+
* Creates a localhost url
|
|
137
|
+
* @param port
|
|
138
|
+
*/
|
|
139
|
+
TwilioConsole._createLocalhostUrl = function (port) { return "http://localhost:" + port + "&localPort=" + port; };
|
|
140
|
+
return TwilioConsole;
|
|
141
|
+
}(base_1.Base));
|
|
142
|
+
exports.TwilioConsole = TwilioConsole;
|
|
143
|
+
//# sourceMappingURL=twilio-console.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"twilio-console.js","sourceRoot":"","sources":["../../../../src/utils/pages/view/twilio-console.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,+BAA8B;AAC9B,iDAAoD;AAEpD;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;;;;;;OAMG;IACG,6BAAK,GAAX,UAAY,OAAgB,EAAE,QAAgB,EAAE,UAAkB,EAAE,aAAqB;;;;;;;wBACjF,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;wBAClD,qBAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,EAAE,6BAA6B,CAAC,EAAA;;wBAAlF,SAAkF,CAAC;wBAE7E,eAAe,GAAG;4BACtB,EAAE,IAAI,EAAE,oBAAM,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,oBAAM,CAAC,OAAO,CAAC,EAAE;4BACxD,EAAE,IAAI,EAAE,oBAAM,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,oBAAM,CAAC,SAAS,CAAC,EAAE;yBAC7D,CAAC;wBAEF,IAAI,OAAO,CAAC,QAAQ,EAAE;4BACpB,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,oBAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,oBAAM,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;yBAC5F;wBAED,sBAAsB;wBACtB,qBAAM,CAAA,KAAA,IAAI,CAAC,IAAI,CAAA,CAAC,SAAS,oCAAI,eAAe,KAAC;;wBAD7C,sBAAsB;wBACtB,SAA6C,CAAC;wBAE9C,gCAAgC;wBAChC,qBAAM,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,MAAA,EAAE,CAAC,EAAA;;wBADjD,gCAAgC;wBAChC,SAAiD,CAAC;;;;;KACnD;IAlDc,wBAAU,GAAG,oBAAoB,CAAC;IAcjD;;;OAGG;IACY,iCAAmB,GAAG,UAAC,IAAY,IAAK,OAAA,sBAAoB,IAAI,mBAAc,IAAM,EAA5C,CAA4C,CAAC;IAiCtG,oBAAC;CAAA,AApDD,CAAmC,WAAI,GAoDtC;AApDY,sCAAa"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ConfiguredPluginResource } from '@twilio/flex-plugins-api-client';
|
|
2
|
+
declare const _default: {
|
|
3
|
+
waitForPluginToStart: (url: string, timeout: number, pollInterval: number) => Promise<void>;
|
|
4
|
+
waitForPluginToRelease: (releasedPlugin: ConfiguredPluginResource, timeout: number, pollInterval: number) => Promise<void>;
|
|
5
|
+
};
|
|
6
|
+
export default _default;
|
|
@@ -0,0 +1,131 @@
|
|
|
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
|
+
var axios_1 = __importDefault(require("axios"));
|
|
43
|
+
var flex_dev_utils_1 = require("@twilio/flex-dev-utils");
|
|
44
|
+
var browser_1 = require("./browser");
|
|
45
|
+
var timers_1 = require("./timers");
|
|
46
|
+
/**
|
|
47
|
+
* Waits for plugin to start at the given url
|
|
48
|
+
* @param url plugin url to poll for a successful response
|
|
49
|
+
* @param timeout maximum amount of time to wait until failing
|
|
50
|
+
* @param pollInterval time to wait between each polling attempt
|
|
51
|
+
*/
|
|
52
|
+
var waitForPluginToStart = function (url, timeout, pollInterval) { return __awaiter(void 0, void 0, void 0, function () {
|
|
53
|
+
var counter, e_1;
|
|
54
|
+
return __generator(this, function (_a) {
|
|
55
|
+
switch (_a.label) {
|
|
56
|
+
case 0:
|
|
57
|
+
counter = 0;
|
|
58
|
+
_a.label = 1;
|
|
59
|
+
case 1:
|
|
60
|
+
if (!true) return [3 /*break*/, 7];
|
|
61
|
+
_a.label = 2;
|
|
62
|
+
case 2:
|
|
63
|
+
_a.trys.push([2, 4, , 5]);
|
|
64
|
+
return [4 /*yield*/, axios_1.default.get(url)];
|
|
65
|
+
case 3:
|
|
66
|
+
_a.sent();
|
|
67
|
+
return [3 /*break*/, 7];
|
|
68
|
+
case 4:
|
|
69
|
+
e_1 = _a.sent();
|
|
70
|
+
if (counter === timeout) {
|
|
71
|
+
flex_dev_utils_1.logger.error(e_1);
|
|
72
|
+
throw new Error('Plugin did not start');
|
|
73
|
+
}
|
|
74
|
+
return [3 /*break*/, 5];
|
|
75
|
+
case 5: return [4 /*yield*/, timers_1.sleep(pollInterval)];
|
|
76
|
+
case 6:
|
|
77
|
+
_a.sent();
|
|
78
|
+
counter += pollInterval;
|
|
79
|
+
return [3 /*break*/, 1];
|
|
80
|
+
case 7: return [2 /*return*/];
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
}); };
|
|
84
|
+
/**
|
|
85
|
+
* Waits for /plugins to contain the released plugin
|
|
86
|
+
* @param flexBaseUrl Flex base URL
|
|
87
|
+
* @param releasedPlugin plugin which was released
|
|
88
|
+
* @param timeout maximum amount of time to wait until failing
|
|
89
|
+
* @param pollInterval time to wait between each polling attempt
|
|
90
|
+
*/
|
|
91
|
+
var waitForPluginToRelease = function (releasedPlugin, timeout, pollInterval) { return __awaiter(void 0, void 0, void 0, function () {
|
|
92
|
+
var counter, plugins, plugin, e_2;
|
|
93
|
+
return __generator(this, function (_a) {
|
|
94
|
+
switch (_a.label) {
|
|
95
|
+
case 0:
|
|
96
|
+
counter = 0;
|
|
97
|
+
_a.label = 1;
|
|
98
|
+
case 1:
|
|
99
|
+
if (!true) return [3 /*break*/, 7];
|
|
100
|
+
_a.label = 2;
|
|
101
|
+
case 2:
|
|
102
|
+
_a.trys.push([2, 4, , 5]);
|
|
103
|
+
return [4 /*yield*/, browser_1.Browser.app.plugins.list()];
|
|
104
|
+
case 3:
|
|
105
|
+
plugins = _a.sent();
|
|
106
|
+
plugin = plugins.find(function (plugin) { return plugin.name === releasedPlugin.unique_name; });
|
|
107
|
+
if (!plugin) {
|
|
108
|
+
throw new Error("/plugins did not contain " + releasedPlugin.unique_name);
|
|
109
|
+
}
|
|
110
|
+
flex_dev_utils_1.logger.info('/plugins endpoint returned', JSON.stringify(plugins));
|
|
111
|
+
return [3 /*break*/, 7];
|
|
112
|
+
case 4:
|
|
113
|
+
e_2 = _a.sent();
|
|
114
|
+
if (counter >= timeout) {
|
|
115
|
+
throw e_2;
|
|
116
|
+
}
|
|
117
|
+
return [3 /*break*/, 5];
|
|
118
|
+
case 5: return [4 /*yield*/, timers_1.sleep(pollInterval)];
|
|
119
|
+
case 6:
|
|
120
|
+
_a.sent();
|
|
121
|
+
counter += pollInterval;
|
|
122
|
+
return [3 /*break*/, 1];
|
|
123
|
+
case 7: return [2 /*return*/];
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
}); };
|
|
127
|
+
exports.default = {
|
|
128
|
+
waitForPluginToStart: waitForPluginToStart,
|
|
129
|
+
waitForPluginToRelease: waitForPluginToRelease,
|
|
130
|
+
};
|
|
131
|
+
//# sourceMappingURL=plugin-helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-helper.js","sourceRoot":"","sources":["../../src/utils/plugin-helper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA0B;AAE1B,yDAAgD;AAEhD,qCAAoC;AACpC,mCAAiC;AAEjC;;;;;GAKG;AACH,IAAM,oBAAoB,GAAG,UAAO,GAAW,EAAE,OAAe,EAAE,YAAoB;;;;;gBAChF,OAAO,GAAG,CAAC,CAAC;;;qBAET,IAAI;;;;gBAEP,qBAAM,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAA;;gBAApB,SAAoB,CAAC;gBACrB,wBAAM;;;gBAEN,IAAI,OAAO,KAAK,OAAO,EAAE;oBACvB,uBAAM,CAAC,KAAK,CAAC,GAAC,CAAC,CAAC;oBAChB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;iBACzC;;oBAGH,qBAAM,cAAK,CAAC,YAAY,CAAC,EAAA;;gBAAzB,SAAyB,CAAC;gBAC1B,OAAO,IAAI,YAAY,CAAC;;;;;KAE3B,CAAC;AAEF;;;;;;GAMG;AACH,IAAM,sBAAsB,GAAG,UAC7B,cAAwC,EACxC,OAAe,EACf,YAAoB;;;;;gBAEhB,OAAO,GAAG,CAAC,CAAC;;;qBAET,IAAI;;;;gBAES,qBAAM,iBAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAA;;gBAA1C,OAAO,GAAG,SAAgC;gBAC1C,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,UAAC,MAAM,IAAK,OAAA,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,WAAW,EAA1C,CAA0C,CAAC,CAAC;gBAEpF,IAAI,CAAC,MAAM,EAAE;oBACX,MAAM,IAAI,KAAK,CAAC,8BAA4B,cAAc,CAAC,WAAa,CAAC,CAAC;iBAC3E;gBACD,uBAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;gBAEnE,wBAAM;;;gBAEN,IAAI,OAAO,IAAI,OAAO,EAAE;oBACtB,MAAM,GAAC,CAAC;iBACT;;oBAGH,qBAAM,cAAK,CAAC,YAAY,CAAC,EAAA;;gBAAzB,SAAyB,CAAC;gBAC1B,OAAO,IAAI,YAAY,CAAC;;;;;KAE3B,CAAC;AAEF,kBAAe;IACb,oBAAoB,sBAAA;IACpB,sBAAsB,wBAAA;CACvB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { PluginVersionResource, PluginResource, ReleaseResource, ConfigurationResource, ConfiguredPluginResourcePage } from '@twilio/flex-plugins-api-client';
|
|
2
|
+
declare const _default: {
|
|
3
|
+
cleanup: () => Promise<void>;
|
|
4
|
+
getPluginVersion: (name: string, version: string) => Promise<PluginVersionResource>;
|
|
5
|
+
getLatestPluginVersion: (name: string) => Promise<PluginVersionResource | null>;
|
|
6
|
+
getPlugin: (name: string) => Promise<PluginResource>;
|
|
7
|
+
getActiveRelease: () => Promise<ReleaseResource | null>;
|
|
8
|
+
getConfiguration: (sid: string) => Promise<ConfigurationResource>;
|
|
9
|
+
getActivePlugins: (sid: string) => Promise<ConfiguredPluginResourcePage>;
|
|
10
|
+
};
|
|
11
|
+
export default _default;
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
22
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
23
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
24
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
25
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
26
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
27
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
31
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
32
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
33
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
34
|
+
function step(op) {
|
|
35
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
36
|
+
while (_) try {
|
|
37
|
+
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;
|
|
38
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
39
|
+
switch (op[0]) {
|
|
40
|
+
case 0: case 1: t = op; break;
|
|
41
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
42
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
43
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
44
|
+
default:
|
|
45
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
46
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
47
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
48
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
49
|
+
if (t[2]) _.ops.pop();
|
|
50
|
+
_.trys.pop(); continue;
|
|
51
|
+
}
|
|
52
|
+
op = body.call(thisArg, _);
|
|
53
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
54
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
var __values = (this && this.__values) || function(o) {
|
|
58
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
59
|
+
if (m) return m.call(o);
|
|
60
|
+
if (o && typeof o.length === "number") return {
|
|
61
|
+
next: function () {
|
|
62
|
+
if (o && i >= o.length) o = void 0;
|
|
63
|
+
return { value: o && o[i++], done: !o };
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
67
|
+
};
|
|
68
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
69
|
+
var flex_plugins_api_client_1 = require("@twilio/flex-plugins-api-client");
|
|
70
|
+
var flex_dev_utils_1 = require("@twilio/flex-dev-utils");
|
|
71
|
+
var core_1 = require("../core");
|
|
72
|
+
var serverlessApi = __importStar(require("./serverless-api"));
|
|
73
|
+
var options = {};
|
|
74
|
+
if (core_1.testParams.config.region) {
|
|
75
|
+
// @ts-ignore
|
|
76
|
+
options.region = core_1.testParams.config.region;
|
|
77
|
+
}
|
|
78
|
+
var client = new flex_plugins_api_client_1.PluginServiceHTTPClient(core_1.testParams.secrets.api.accountSid, core_1.testParams.secrets.api.authToken, options);
|
|
79
|
+
var pluginsClient = new flex_plugins_api_client_1.PluginsClient(client);
|
|
80
|
+
var versionsClient = new flex_plugins_api_client_1.PluginVersionsClient(client);
|
|
81
|
+
var configurationsClient = new flex_plugins_api_client_1.ConfigurationsClient(client);
|
|
82
|
+
var configuredPluginsClient = new flex_plugins_api_client_1.ConfiguredPluginsClient(client);
|
|
83
|
+
var releasesClient = new flex_plugins_api_client_1.ReleasesClient(client);
|
|
84
|
+
var cleanup = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
85
|
+
var activeRelease, resource, list, _a, _b, plugin, e_1_1, service;
|
|
86
|
+
var e_1, _c;
|
|
87
|
+
return __generator(this, function (_d) {
|
|
88
|
+
switch (_d.label) {
|
|
89
|
+
case 0:
|
|
90
|
+
flex_dev_utils_1.logger.info('Cleaning up plugins-api');
|
|
91
|
+
return [4 /*yield*/, releasesClient.active()];
|
|
92
|
+
case 1:
|
|
93
|
+
activeRelease = _d.sent();
|
|
94
|
+
return [4 /*yield*/, configurationsClient.create({
|
|
95
|
+
Name: 'E2E Test Cleanup',
|
|
96
|
+
Description: 'Empty Configuration',
|
|
97
|
+
Plugins: [],
|
|
98
|
+
})];
|
|
99
|
+
case 2:
|
|
100
|
+
resource = _d.sent();
|
|
101
|
+
return [4 /*yield*/, releasesClient.create({
|
|
102
|
+
ConfigurationId: resource.sid,
|
|
103
|
+
})];
|
|
104
|
+
case 3:
|
|
105
|
+
_d.sent();
|
|
106
|
+
if (!activeRelease) return [3 /*break*/, 12];
|
|
107
|
+
return [4 /*yield*/, configuredPluginsClient.list(activeRelease.configuration_sid)];
|
|
108
|
+
case 4:
|
|
109
|
+
list = _d.sent();
|
|
110
|
+
_d.label = 5;
|
|
111
|
+
case 5:
|
|
112
|
+
_d.trys.push([5, 10, 11, 12]);
|
|
113
|
+
_a = __values(list.plugins), _b = _a.next();
|
|
114
|
+
_d.label = 6;
|
|
115
|
+
case 6:
|
|
116
|
+
if (!!_b.done) return [3 /*break*/, 9];
|
|
117
|
+
plugin = _b.value;
|
|
118
|
+
return [4 /*yield*/, versionsClient.archive(plugin.plugin_sid, plugin.plugin_version_sid)];
|
|
119
|
+
case 7:
|
|
120
|
+
_d.sent();
|
|
121
|
+
_d.label = 8;
|
|
122
|
+
case 8:
|
|
123
|
+
_b = _a.next();
|
|
124
|
+
return [3 /*break*/, 6];
|
|
125
|
+
case 9: return [3 /*break*/, 12];
|
|
126
|
+
case 10:
|
|
127
|
+
e_1_1 = _d.sent();
|
|
128
|
+
e_1 = { error: e_1_1 };
|
|
129
|
+
return [3 /*break*/, 12];
|
|
130
|
+
case 11:
|
|
131
|
+
try {
|
|
132
|
+
if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
|
|
133
|
+
}
|
|
134
|
+
finally { if (e_1) throw e_1.error; }
|
|
135
|
+
return [7 /*endfinally*/];
|
|
136
|
+
case 12: return [4 /*yield*/, serverlessApi.getServiceSid()];
|
|
137
|
+
case 13:
|
|
138
|
+
service = _d.sent();
|
|
139
|
+
return [4 /*yield*/, serverlessApi.deleteEnvironments(service.sid)];
|
|
140
|
+
case 14:
|
|
141
|
+
_d.sent();
|
|
142
|
+
return [2 /*return*/];
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
}); };
|
|
146
|
+
var getPluginVersion = function (name, version) { return __awaiter(void 0, void 0, void 0, function () {
|
|
147
|
+
return __generator(this, function (_a) {
|
|
148
|
+
return [2 /*return*/, versionsClient.get(name, version)];
|
|
149
|
+
});
|
|
150
|
+
}); };
|
|
151
|
+
var getLatestPluginVersion = function (name) { return __awaiter(void 0, void 0, void 0, function () {
|
|
152
|
+
var e_2;
|
|
153
|
+
return __generator(this, function (_a) {
|
|
154
|
+
switch (_a.label) {
|
|
155
|
+
case 0:
|
|
156
|
+
_a.trys.push([0, 2, , 3]);
|
|
157
|
+
return [4 /*yield*/, versionsClient.latest(name)];
|
|
158
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
159
|
+
case 2:
|
|
160
|
+
e_2 = _a.sent();
|
|
161
|
+
return [2 /*return*/, null];
|
|
162
|
+
case 3: return [2 /*return*/];
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
}); };
|
|
166
|
+
var getPlugin = function (name) { return __awaiter(void 0, void 0, void 0, function () {
|
|
167
|
+
return __generator(this, function (_a) {
|
|
168
|
+
return [2 /*return*/, pluginsClient.get(name)];
|
|
169
|
+
});
|
|
170
|
+
}); };
|
|
171
|
+
var getActiveRelease = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
172
|
+
return __generator(this, function (_a) {
|
|
173
|
+
return [2 /*return*/, releasesClient.active()];
|
|
174
|
+
});
|
|
175
|
+
}); };
|
|
176
|
+
var getConfiguration = function (sid) { return __awaiter(void 0, void 0, void 0, function () {
|
|
177
|
+
return __generator(this, function (_a) {
|
|
178
|
+
return [2 /*return*/, configurationsClient.get(sid)];
|
|
179
|
+
});
|
|
180
|
+
}); };
|
|
181
|
+
var getActivePlugins = function (sid) { return __awaiter(void 0, void 0, void 0, function () {
|
|
182
|
+
return __generator(this, function (_a) {
|
|
183
|
+
return [2 /*return*/, configuredPluginsClient.list(sid)];
|
|
184
|
+
});
|
|
185
|
+
}); };
|
|
186
|
+
exports.default = {
|
|
187
|
+
cleanup: cleanup,
|
|
188
|
+
getPluginVersion: getPluginVersion,
|
|
189
|
+
getLatestPluginVersion: getLatestPluginVersion,
|
|
190
|
+
getPlugin: getPlugin,
|
|
191
|
+
getActiveRelease: getActiveRelease,
|
|
192
|
+
getConfiguration: getConfiguration,
|
|
193
|
+
getActivePlugins: getActivePlugins,
|
|
194
|
+
};
|
|
195
|
+
//# sourceMappingURL=plugins-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins-api.js","sourceRoot":"","sources":["../../src/utils/plugins-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,117 @@
|
|
|
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 __values = (this && this.__values) || function(o) {
|
|
39
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
40
|
+
if (m) return m.call(o);
|
|
41
|
+
if (o && typeof o.length === "number") return {
|
|
42
|
+
next: function () {
|
|
43
|
+
if (o && i >= o.length) o = void 0;
|
|
44
|
+
return { value: o && o[i++], done: !o };
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
48
|
+
};
|
|
49
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
50
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
51
|
+
};
|
|
52
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
53
|
+
exports.deleteEnvironments = exports.getServiceSid = void 0;
|
|
54
|
+
var axios_1 = __importDefault(require("axios"));
|
|
55
|
+
var core_1 = require("../core");
|
|
56
|
+
var realm = core_1.testParams.config.region ? core_1.testParams.config.region + "." : '';
|
|
57
|
+
var baseUrl = "https://serverless." + realm + "twilio.com/v1";
|
|
58
|
+
var auth = {
|
|
59
|
+
username: core_1.testParams.secrets.api.accountSid,
|
|
60
|
+
password: core_1.testParams.secrets.api.authToken,
|
|
61
|
+
};
|
|
62
|
+
var get = function (uri) { return __awaiter(void 0, void 0, void 0, function () {
|
|
63
|
+
return __generator(this, function (_a) {
|
|
64
|
+
return [2 /*return*/, axios_1.default.get(baseUrl + "/" + uri, { auth: auth }).then(function (resp) { return resp.data; })];
|
|
65
|
+
});
|
|
66
|
+
}); };
|
|
67
|
+
var remove = function (uri) { return __awaiter(void 0, void 0, void 0, function () {
|
|
68
|
+
return __generator(this, function (_a) {
|
|
69
|
+
return [2 /*return*/, axios_1.default.delete(baseUrl + "/" + uri, { auth: auth })];
|
|
70
|
+
});
|
|
71
|
+
}); };
|
|
72
|
+
var getServiceSid = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
73
|
+
return __generator(this, function (_a) {
|
|
74
|
+
return [2 /*return*/, get('Services').then(function (list) { return list.services.find(function (service) { return service.unique_name === 'default'; }); })];
|
|
75
|
+
});
|
|
76
|
+
}); };
|
|
77
|
+
exports.getServiceSid = getServiceSid;
|
|
78
|
+
var deleteEnvironments = function (serviceSid) { return __awaiter(void 0, void 0, void 0, function () {
|
|
79
|
+
var list, _a, _b, environment, e_1_1;
|
|
80
|
+
var e_1, _c;
|
|
81
|
+
return __generator(this, function (_d) {
|
|
82
|
+
switch (_d.label) {
|
|
83
|
+
case 0: return [4 /*yield*/, get("Services/" + serviceSid + "/Environments")];
|
|
84
|
+
case 1:
|
|
85
|
+
list = _d.sent();
|
|
86
|
+
_d.label = 2;
|
|
87
|
+
case 2:
|
|
88
|
+
_d.trys.push([2, 7, 8, 9]);
|
|
89
|
+
_a = __values(list.environments), _b = _a.next();
|
|
90
|
+
_d.label = 3;
|
|
91
|
+
case 3:
|
|
92
|
+
if (!!_b.done) return [3 /*break*/, 6];
|
|
93
|
+
environment = _b.value;
|
|
94
|
+
return [4 /*yield*/, remove("Services/" + serviceSid + "/Environments/" + environment.sid)];
|
|
95
|
+
case 4:
|
|
96
|
+
_d.sent();
|
|
97
|
+
_d.label = 5;
|
|
98
|
+
case 5:
|
|
99
|
+
_b = _a.next();
|
|
100
|
+
return [3 /*break*/, 3];
|
|
101
|
+
case 6: return [3 /*break*/, 9];
|
|
102
|
+
case 7:
|
|
103
|
+
e_1_1 = _d.sent();
|
|
104
|
+
e_1 = { error: e_1_1 };
|
|
105
|
+
return [3 /*break*/, 9];
|
|
106
|
+
case 8:
|
|
107
|
+
try {
|
|
108
|
+
if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
|
|
109
|
+
}
|
|
110
|
+
finally { if (e_1) throw e_1.error; }
|
|
111
|
+
return [7 /*endfinally*/];
|
|
112
|
+
case 9: return [2 /*return*/];
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
}); };
|
|
116
|
+
exports.deleteEnvironments = deleteEnvironments;
|
|
117
|
+
//# sourceMappingURL=serverless-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serverless-api.js","sourceRoot":"","sources":["../../src/utils/serverless-api.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA0B;AAE1B,gCAAqC;AAQrC,IAAM,KAAK,GAAG,iBAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAI,iBAAU,CAAC,MAAM,CAAC,MAAM,MAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7E,IAAM,OAAO,GAAG,wBAAsB,KAAK,kBAAe,CAAC;AAC3D,IAAM,IAAI,GAAG;IACX,QAAQ,EAAE,iBAAU,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU;IAC3C,QAAQ,EAAE,iBAAU,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS;CAC3C,CAAC;AAEF,IAAM,GAAG,GAAG,UAAO,GAAW;;QAC5B,sBAAO,eAAK,CAAC,GAAG,CAAI,OAAO,SAAI,GAAK,EAAE,EAAE,IAAI,MAAA,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,IAAI,EAAT,CAAS,CAAC,EAAC;;KAC3E,CAAC;AAEF,IAAM,MAAM,GAAG,UAAO,GAAW;;QAC/B,sBAAO,eAAK,CAAC,MAAM,CAAI,OAAO,SAAI,GAAK,EAAE,EAAE,IAAI,MAAA,EAAE,CAAC,EAAC;;KACpD,CAAC;AAEK,IAAM,aAAa,GAAG;;QAC3B,sBAAO,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAC,OAAgB,IAAK,OAAA,OAAO,CAAC,WAAW,KAAK,SAAS,EAAjC,CAAiC,CAAC,EAA3E,CAA2E,CAAC,EAAC;;KACpH,CAAC;AAFW,QAAA,aAAa,iBAExB;AAEK,IAAM,kBAAkB,GAAG,UAAO,UAAkB;;;;;oBAC5C,qBAAM,GAAG,CAAC,cAAY,UAAU,kBAAe,CAAC,EAAA;;gBAAvD,IAAI,GAAG,SAAgD;;;;gBACnC,KAAA,SAAA,IAAI,CAAC,YAAY,CAAA;;;;gBAAhC,WAAW;gBACpB,qBAAM,MAAM,CAAC,cAAY,UAAU,sBAAiB,WAAW,CAAC,GAAK,CAAC,EAAA;;gBAAtE,SAAsE,CAAC;;;;;;;;;;;;;;;;;;;KAE1E,CAAC;AALW,QAAA,kBAAkB,sBAK7B"}
|