@auxcode/auxta 1.3.52-beta.2 → 1.3.53-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/build/{cjs/auxta → auxta}/services/report.service.js +2 -2
- package/build/{cjs/macros → macros}/helpers/AuxGoogleAuth.js +61 -28
- package/build/{cjs/macros → macros}/helpers/code.helper.js +7 -2
- package/build/{cjs/macros → macros}/helpers/emailHelper.js +14 -19
- package/build/{cjs/puppeteer → puppeteer}/puppeteer.d.ts +2 -2
- package/build/{cjs/puppeteer → puppeteer}/puppeteer.js +7 -3
- package/package.json +5 -5
- package/build/esm/AuxTA.d.ts +0 -62
- package/build/esm/AuxTA.js +0 -125
- package/build/esm/auxta/configs/config.d.ts +0 -57
- package/build/esm/auxta/configs/config.js +0 -64
- package/build/esm/auxta/enums/status-of.step.d.ts +0 -7
- package/build/esm/auxta/enums/status-of.step.js +0 -8
- package/build/esm/auxta/helpers/response.helper.d.ts +0 -10
- package/build/esm/auxta/helpers/response.helper.js +0 -11
- package/build/esm/auxta/helpers/start.helper.d.ts +0 -1
- package/build/esm/auxta/helpers/start.helper.js +0 -24
- package/build/esm/auxta/hooks/report.hook.d.ts +0 -14
- package/build/esm/auxta/hooks/report.hook.js +0 -59
- package/build/esm/auxta/models/upload.model.d.ts +0 -35
- package/build/esm/auxta/models/upload.model.js +0 -78
- package/build/esm/auxta/services/log.service.d.ts +0 -31
- package/build/esm/auxta/services/log.service.js +0 -57
- package/build/esm/auxta/services/report.service.d.ts +0 -31
- package/build/esm/auxta/services/report.service.js +0 -168
- package/build/esm/auxta/services/runtime.service.d.ts +0 -16
- package/build/esm/auxta/services/runtime.service.js +0 -37
- package/build/esm/auxta/utilities/runtime.helper.d.ts +0 -15
- package/build/esm/auxta/utilities/runtime.helper.js +0 -15
- package/build/esm/auxta/utilities/screenshot.helper.d.ts +0 -4
- package/build/esm/auxta/utilities/screenshot.helper.js +0 -51
- package/build/esm/auxta/utilities/start-suite.helper.d.ts +0 -17
- package/build/esm/auxta/utilities/start-suite.helper.js +0 -26
- package/build/esm/macros/helpers/Aux2faAuth.d.ts +0 -7
- package/build/esm/macros/helpers/Aux2faAuth.js +0 -25
- package/build/esm/macros/helpers/AuxGoogleAuth.d.ts +0 -22
- package/build/esm/macros/helpers/AuxGoogleAuth.js +0 -190
- package/build/esm/macros/helpers/code.helper.d.ts +0 -23
- package/build/esm/macros/helpers/code.helper.js +0 -218
- package/build/esm/macros/helpers/emailHelper.d.ts +0 -19
- package/build/esm/macros/helpers/emailHelper.js +0 -170
- package/build/esm/macros/helpers/extend-default-page.d.ts +0 -6
- package/build/esm/macros/helpers/extend-default-page.js +0 -82
- package/build/esm/puppeteer/puppeteer.d.ts +0 -25
- package/build/esm/puppeteer/puppeteer.js +0 -201
- package/build/tsconfig-cjs.tsbuildinfo +0 -1
- package/build/tsconfig.tsbuildinfo +0 -1
- /package/build/{cjs/AuxTA.d.ts → AuxTA.d.ts} +0 -0
- /package/build/{cjs/AuxTA.js → AuxTA.js} +0 -0
- /package/build/{cjs/auxta → auxta}/configs/config.d.ts +0 -0
- /package/build/{cjs/auxta → auxta}/configs/config.js +0 -0
- /package/build/{cjs/auxta → auxta}/enums/status-of.step.d.ts +0 -0
- /package/build/{cjs/auxta → auxta}/enums/status-of.step.js +0 -0
- /package/build/{cjs/auxta → auxta}/helpers/response.helper.d.ts +0 -0
- /package/build/{cjs/auxta → auxta}/helpers/response.helper.js +0 -0
- /package/build/{cjs/auxta → auxta}/helpers/start.helper.d.ts +0 -0
- /package/build/{cjs/auxta → auxta}/helpers/start.helper.js +0 -0
- /package/build/{cjs/auxta → auxta}/hooks/report.hook.d.ts +0 -0
- /package/build/{cjs/auxta → auxta}/hooks/report.hook.js +0 -0
- /package/build/{cjs/auxta → auxta}/models/upload.model.d.ts +0 -0
- /package/build/{cjs/auxta → auxta}/models/upload.model.js +0 -0
- /package/build/{cjs/auxta → auxta}/services/log.service.d.ts +0 -0
- /package/build/{cjs/auxta → auxta}/services/log.service.js +0 -0
- /package/build/{cjs/auxta → auxta}/services/report.service.d.ts +0 -0
- /package/build/{cjs/auxta → auxta}/services/runtime.service.d.ts +0 -0
- /package/build/{cjs/auxta → auxta}/services/runtime.service.js +0 -0
- /package/build/{cjs/auxta → auxta}/utilities/runtime.helper.d.ts +0 -0
- /package/build/{cjs/auxta → auxta}/utilities/runtime.helper.js +0 -0
- /package/build/{cjs/auxta → auxta}/utilities/screenshot.helper.d.ts +0 -0
- /package/build/{cjs/auxta → auxta}/utilities/screenshot.helper.js +0 -0
- /package/build/{cjs/auxta → auxta}/utilities/start-suite.helper.d.ts +0 -0
- /package/build/{cjs/auxta → auxta}/utilities/start-suite.helper.js +0 -0
- /package/build/{cjs/macros → macros}/helpers/Aux2faAuth.d.ts +0 -0
- /package/build/{cjs/macros → macros}/helpers/Aux2faAuth.js +0 -0
- /package/build/{cjs/macros → macros}/helpers/AuxGoogleAuth.d.ts +0 -0
- /package/build/{cjs/macros → macros}/helpers/code.helper.d.ts +0 -0
- /package/build/{cjs/macros → macros}/helpers/emailHelper.d.ts +0 -0
- /package/build/{cjs/macros → macros}/helpers/extend-default-page.d.ts +0 -0
- /package/build/{cjs/macros → macros}/helpers/extend-default-page.js +0 -0
|
@@ -145,11 +145,11 @@ function compareScreenshots(key, screenshot) {
|
|
|
145
145
|
data: screenshot,
|
|
146
146
|
mime_type: "image/png"
|
|
147
147
|
};
|
|
148
|
-
return yield axios_1.default.post(`${config_1.config.auxtaURL}save-compared-screenshot`, {
|
|
148
|
+
return (yield axios_1.default.post(`${config_1.config.auxtaURL}save-compared-screenshot`, {
|
|
149
149
|
organization: config_1.config.organization,
|
|
150
150
|
key: key,
|
|
151
151
|
embedding: embedding,
|
|
152
|
-
}, headers(token));
|
|
152
|
+
}, headers(token))).data;
|
|
153
153
|
});
|
|
154
154
|
}
|
|
155
155
|
exports.compareScreenshots = compareScreenshots;
|
|
@@ -1,4 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
26
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
27
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -19,6 +42,7 @@ const code_helper_1 = __importDefault(require("../helpers/code.helper"));
|
|
|
19
42
|
const status_of_step_1 = __importDefault(require("../../auxta/enums/status-of.step"));
|
|
20
43
|
const fs = require('fs');
|
|
21
44
|
const readline = require('readline');
|
|
45
|
+
const process = __importStar(require("process"));
|
|
22
46
|
const { google } = require("googleapis");
|
|
23
47
|
const SCOPES = [
|
|
24
48
|
'https://www.googleapis.com/auth/gmail.addons.current.action.compose',
|
|
@@ -34,9 +58,9 @@ const SCOPES = [
|
|
|
34
58
|
'https://www.googleapis.com/auth/gmail.insert',
|
|
35
59
|
];
|
|
36
60
|
const TOKEN_PATH = 'token.json';
|
|
37
|
-
let TOKEN
|
|
38
|
-
let EMAIL
|
|
39
|
-
let PASSWORD
|
|
61
|
+
let TOKEN;
|
|
62
|
+
let EMAIL;
|
|
63
|
+
let PASSWORD;
|
|
40
64
|
class AuxGoogleAuth {
|
|
41
65
|
static get oAuth2Client() {
|
|
42
66
|
return this._oAuth2Client;
|
|
@@ -150,35 +174,44 @@ class AuxGoogleAuth {
|
|
|
150
174
|
static LogIn(authUrl) {
|
|
151
175
|
var _a, _b;
|
|
152
176
|
return __awaiter(this, void 0, void 0, function* () {
|
|
153
|
-
const
|
|
154
|
-
const
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
if (checkbox.length > 0) {
|
|
169
|
-
yield code_helper_1.default.waitForSelector('visible', 'input[type="checkbox"]', config_1.config.timeout, page);
|
|
170
|
-
yield checkbox[0].click();
|
|
177
|
+
const email = EMAIL ? EMAIL : process.env.google_account;
|
|
178
|
+
const password = PASSWORD ? PASSWORD : process.env.google_password;
|
|
179
|
+
if (email && password) {
|
|
180
|
+
const context = yield puppeteer_1.default.defaultPage.browser().createIncognitoBrowserContext();
|
|
181
|
+
const page = yield context.newPage();
|
|
182
|
+
yield page.goto(authUrl);
|
|
183
|
+
yield code_helper_1.default.waitForSelector('visible', '#identifierId', config_1.config.timeout, page);
|
|
184
|
+
yield ((_a = (yield page.$('#identifierId'))) === null || _a === void 0 ? void 0 : _a.type(email));
|
|
185
|
+
yield (yield page.$$('button'))[3].click();
|
|
186
|
+
yield code_helper_1.default.timeout(3000);
|
|
187
|
+
yield code_helper_1.default.waitForSelector('visible', 'input[type="password"]', config_1.config.timeout, page);
|
|
188
|
+
yield ((_b = (yield page.$('input[type="password"]'))) === null || _b === void 0 ? void 0 : _b.type(password));
|
|
189
|
+
yield (yield page.$$('button'))[1].click();
|
|
190
|
+
yield code_helper_1.default.timeout(3000);
|
|
191
|
+
yield code_helper_1.default.waitForSelector('visible', '#headingText', config_1.config.timeout, page);
|
|
171
192
|
yield (yield page.$$('button'))[2].click();
|
|
193
|
+
yield code_helper_1.default.timeout(3000);
|
|
194
|
+
const checkbox = yield page.$$('input[type="checkbox"]');
|
|
195
|
+
if (checkbox.length > 0) {
|
|
196
|
+
yield code_helper_1.default.waitForSelector('visible', 'input[type="checkbox"]', config_1.config.timeout, page);
|
|
197
|
+
yield checkbox[0].click();
|
|
198
|
+
yield (yield page.$$('button'))[2].click();
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
yield code_helper_1.default.waitForSelector('visible', `div[data-email="${email.toLocaleLowerCase()}"]`, config_1.config.timeout, page);
|
|
202
|
+
yield (yield page.$$('button'))[2].click();
|
|
203
|
+
}
|
|
204
|
+
yield code_helper_1.default.timeout(3000);
|
|
205
|
+
yield code_helper_1.default.waitForSelector('visible', '#app', config_1.config.timeout, page);
|
|
206
|
+
const currentUrl = page.url();
|
|
207
|
+
const code = currentUrl.substring(currentUrl.indexOf("code=") + 5, currentUrl.lastIndexOf("&"));
|
|
208
|
+
code_helper_1.default.log('Then', 'I get the code form the url', status_of_step_1.default.PASSED);
|
|
209
|
+
yield page.close();
|
|
210
|
+
return decodeURIComponent(code);
|
|
172
211
|
}
|
|
173
212
|
else {
|
|
174
|
-
|
|
213
|
+
throw new Error('The email or password for the google account are empty');
|
|
175
214
|
}
|
|
176
|
-
yield code_helper_1.default.timeout(3000);
|
|
177
|
-
const currentUrl = page.url();
|
|
178
|
-
const code = currentUrl.substring(currentUrl.indexOf("code=") + 5, currentUrl.lastIndexOf("&"));
|
|
179
|
-
code_helper_1.default.log('Then', 'I get the code form the url', status_of_step_1.default.PASSED);
|
|
180
|
-
yield page.close();
|
|
181
|
-
return decodeURIComponent(code);
|
|
182
215
|
});
|
|
183
216
|
}
|
|
184
217
|
}
|
|
@@ -39,8 +39,13 @@ class FunctionHelper extends extend_default_page_1.ExtendDefaultPage {
|
|
|
39
39
|
const screenshotBuffer = yield (0, screenshot_helper_1.captureScreenshotPage)(page);
|
|
40
40
|
if (screenshotBuffer) {
|
|
41
41
|
const screenshot = screenshotBuffer.toString('base64');
|
|
42
|
-
yield (0, report_service_1.compareScreenshots)(key, screenshot);
|
|
43
|
-
|
|
42
|
+
const result = yield (0, report_service_1.compareScreenshots)(key, screenshot);
|
|
43
|
+
if (result.presentDifference && Number(result.presentDifference) > 2) {
|
|
44
|
+
log_service_1.default.push('Then', `I compare screenshots with key ${key}`, status_of_step_1.StatusOfStep.FAILED, screenshot, key);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
log_service_1.default.push('Then', `I compare screenshots with key ${key}`, status_of_step_1.StatusOfStep.PASSED, screenshot, key);
|
|
48
|
+
}
|
|
44
49
|
}
|
|
45
50
|
}
|
|
46
51
|
else {
|
|
@@ -23,10 +23,11 @@ class EmailHelper {
|
|
|
23
23
|
return __awaiter(this, void 0, void 0, function* () {
|
|
24
24
|
yield AuxGoogleAuth_1.AuxGoogleAuth.setupHeadless();
|
|
25
25
|
let timeoutCount = 12000;
|
|
26
|
+
yield new Promise(r => setTimeout(r, 45000));
|
|
26
27
|
while (timeoutCount <= 60000) {
|
|
27
28
|
const res = yield AuxGoogleAuth_1.AuxGoogleAuth.gmailClient.users.messages.list({
|
|
28
29
|
userId: "me",
|
|
29
|
-
maxResults:
|
|
30
|
+
maxResults: 10
|
|
30
31
|
});
|
|
31
32
|
const messagesIds = res.data.messages;
|
|
32
33
|
if (!messagesIds || messagesIds.length === 0) {
|
|
@@ -133,9 +134,15 @@ class EmailHelper {
|
|
|
133
134
|
}
|
|
134
135
|
getBody(subject, gmailResponse) {
|
|
135
136
|
try {
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
137
|
+
let decodedBody = '';
|
|
138
|
+
for (let i = 0; i < gmailResponse.data.payload.parts.length; i++) {
|
|
139
|
+
const part = gmailResponse.data.payload.parts[i].body;
|
|
140
|
+
if (part.size > 0) {
|
|
141
|
+
decodedBody += base64.decode(part.data);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
if (decodedBody) {
|
|
145
|
+
return decodedBody;
|
|
139
146
|
}
|
|
140
147
|
else {
|
|
141
148
|
return '';
|
|
@@ -155,21 +162,9 @@ class EmailHelper {
|
|
|
155
162
|
}
|
|
156
163
|
getUrl(body) {
|
|
157
164
|
return __awaiter(this, void 0, void 0, function* () {
|
|
158
|
-
const
|
|
159
|
-
const
|
|
160
|
-
|
|
161
|
-
if (splitElement.toString().startsWith('https')) {
|
|
162
|
-
links.push(splitElement);
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
if (links.length > 1) {
|
|
166
|
-
return links.sort(function (a, b) {
|
|
167
|
-
return b.length - a.length;
|
|
168
|
-
})[0];
|
|
169
|
-
}
|
|
170
|
-
else {
|
|
171
|
-
return links[0];
|
|
172
|
-
}
|
|
165
|
+
const httpsStartIndex = body.indexOf('https');
|
|
166
|
+
const bodyHttpsStartIndexString = body.toString().substring(httpsStartIndex);
|
|
167
|
+
return bodyHttpsStartIndexString.substring(0, bodyHttpsStartIndexString.indexOf(' ')).replace('"', '');
|
|
173
168
|
});
|
|
174
169
|
}
|
|
175
170
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { UploadModel } from "../auxta/models/upload.model";
|
|
2
|
-
import
|
|
2
|
+
import puppeteerN = require("puppeteer");
|
|
3
3
|
export declare class Puppeteer {
|
|
4
|
-
defaultPage:
|
|
4
|
+
defaultPage: puppeteerN.Page;
|
|
5
5
|
private browser;
|
|
6
6
|
startBrowser(): Promise<void>;
|
|
7
7
|
close(): Promise<void>;
|
|
@@ -21,20 +21,24 @@ const status_of_step_1 = require("../auxta/enums/status-of.step");
|
|
|
21
21
|
const config_1 = require("../auxta/configs/config");
|
|
22
22
|
const start_suite_helper_1 = require("../auxta/utilities/start-suite.helper");
|
|
23
23
|
const report_service_1 = require("../auxta/services/report.service");
|
|
24
|
-
const puppeteer = require("puppeteer");
|
|
24
|
+
const puppeteer = require("puppeteer-extra");
|
|
25
25
|
class Puppeteer {
|
|
26
26
|
startBrowser() {
|
|
27
27
|
return __awaiter(this, void 0, void 0, function* () {
|
|
28
28
|
let args = [];
|
|
29
29
|
let env = {};
|
|
30
|
-
|
|
30
|
+
if (process.env.ENVIRONMENT === 'LOCAL') {
|
|
31
|
+
args.push('--start-maximized');
|
|
32
|
+
}
|
|
31
33
|
if (process.env.ENVIRONMENT != 'LOCAL') {
|
|
32
|
-
args.push(`--window-size=${config_1.config.screenWidth},${config_1.config.screenHeight}`);
|
|
34
|
+
args.push(`--window-size=${config_1.config.screenWidth ? config_1.config.screenWidth : 1920},${config_1.config.screenHeight ? config_1.config.screenHeight : 1080}`);
|
|
33
35
|
args.push("--no-sandbox", "--disable-setuid-sandbox", "--disable-gpu");
|
|
34
36
|
env = {
|
|
35
37
|
DISPLAY: ":10.0"
|
|
36
38
|
};
|
|
37
39
|
}
|
|
40
|
+
const StealthPlugin = require('puppeteer-extra-plugin-stealth');
|
|
41
|
+
puppeteer.default.use(StealthPlugin());
|
|
38
42
|
this.browser = yield puppeteer.default.launch({
|
|
39
43
|
slowMo: process.env.slowMo ? Number(process.env.slowMo) : 0,
|
|
40
44
|
executablePath: puppeteer.default.executablePath(),
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@auxcode/auxta",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.53-beta.0",
|
|
4
4
|
"description": "",
|
|
5
|
-
"main": "./build/
|
|
6
|
-
"
|
|
5
|
+
"main": "./build/AuxTA.js",
|
|
6
|
+
"types": "./build/AuxTA.d.ts",
|
|
7
7
|
"files": [
|
|
8
8
|
"build/"
|
|
9
9
|
],
|
|
10
10
|
"scripts": {
|
|
11
|
-
"tsc": "tsc -p tsconfig.json
|
|
12
|
-
"prepublish": "
|
|
11
|
+
"tsc": "tsc -p tsconfig.json",
|
|
12
|
+
"prepublish": "tsc",
|
|
13
13
|
"test": "npm run prepublish & node ./build/AuxTA.js"
|
|
14
14
|
},
|
|
15
15
|
"author": "auxcode",
|
package/build/esm/AuxTA.d.ts
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { Puppeteer } from "./puppeteer/puppeteer";
|
|
2
|
-
import { FunctionHelper } from "./macros/helpers/code.helper";
|
|
3
|
-
import StatusOfStep from "./auxta/enums/status-of.step";
|
|
4
|
-
import { UploadModel } from "./auxta/models/upload.model";
|
|
5
|
-
import { AuxGoogleAuth } from "./macros/helpers/AuxGoogleAuth";
|
|
6
|
-
declare class AuxTA extends FunctionHelper {
|
|
7
|
-
puppeteer: Puppeteer;
|
|
8
|
-
aux2fa: import("./macros/helpers/Aux2faAuth").Aux2faAuth;
|
|
9
|
-
google: typeof AuxGoogleAuth;
|
|
10
|
-
config: {
|
|
11
|
-
auxtaURL: string;
|
|
12
|
-
baseURL: string;
|
|
13
|
-
siteURL: string;
|
|
14
|
-
organization: string;
|
|
15
|
-
netlifyPath: string;
|
|
16
|
-
digitalProduct: string;
|
|
17
|
-
bucket: string;
|
|
18
|
-
token: string;
|
|
19
|
-
screenWidth: number;
|
|
20
|
-
screenHeight: number;
|
|
21
|
-
timeout: number;
|
|
22
|
-
suitesList: never[];
|
|
23
|
-
googleEmail: string;
|
|
24
|
-
auxtaCredentials: {
|
|
25
|
-
email: string;
|
|
26
|
-
password: string;
|
|
27
|
-
};
|
|
28
|
-
};
|
|
29
|
-
email: import("./macros/helpers/emailHelper").EmailHelper;
|
|
30
|
-
private readonly uploadModel;
|
|
31
|
-
constructor();
|
|
32
|
-
run(event: any, overrideConfig?: any): Promise<{
|
|
33
|
-
nextSuites?: undefined;
|
|
34
|
-
reportId?: undefined;
|
|
35
|
-
currentSuite?: undefined;
|
|
36
|
-
retries?: undefined;
|
|
37
|
-
} | {
|
|
38
|
-
nextSuites: string[];
|
|
39
|
-
reportId: string | undefined;
|
|
40
|
-
currentSuite: string | undefined;
|
|
41
|
-
retries: string;
|
|
42
|
-
}>;
|
|
43
|
-
private changeModelData;
|
|
44
|
-
startBrowser(event: any, callback: any, feature: string, scenario: string, overrideConfig?: any, singleFeature?: boolean, fileName?: string): Promise<{
|
|
45
|
-
nextSuites?: undefined;
|
|
46
|
-
reportId?: undefined;
|
|
47
|
-
currentSuite?: undefined;
|
|
48
|
-
retries?: undefined;
|
|
49
|
-
} | {
|
|
50
|
-
nextSuites: string[];
|
|
51
|
-
reportId: string | undefined;
|
|
52
|
-
currentSuite: string | undefined;
|
|
53
|
-
retries: string;
|
|
54
|
-
} | {
|
|
55
|
-
statusCode: number;
|
|
56
|
-
} | undefined>;
|
|
57
|
-
startBrowserRPA(event: any, callback: any, baseURL: string, fileName?: string): Promise<any>;
|
|
58
|
-
getUploadModel(): UploadModel;
|
|
59
|
-
}
|
|
60
|
-
export declare const StepStatus: typeof StatusOfStep;
|
|
61
|
-
declare const auxta: AuxTA;
|
|
62
|
-
export default auxta;
|
package/build/esm/AuxTA.js
DELETED
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import puppeteer from "./puppeteer/puppeteer";
|
|
11
|
-
import { FunctionHelper } from "./macros/helpers/code.helper";
|
|
12
|
-
import path from "path";
|
|
13
|
-
import fs from "fs";
|
|
14
|
-
import StatusOfStep from "./auxta/enums/status-of.step";
|
|
15
|
-
import { UploadModel } from "./auxta/models/upload.model";
|
|
16
|
-
import * as dotenv from "dotenv";
|
|
17
|
-
import { setupConfig, config as c, setupOverrideConfig } from "./auxta/configs/config";
|
|
18
|
-
import { startSuite } from "./auxta/utilities/start-suite.helper";
|
|
19
|
-
import { createEmptyReport } from "./auxta/services/report.service";
|
|
20
|
-
import Aux2faAuth from "./macros/helpers/Aux2faAuth";
|
|
21
|
-
import { AuxGoogleAuth } from "./macros/helpers/AuxGoogleAuth";
|
|
22
|
-
import emailHelper from "./macros/helpers/emailHelper";
|
|
23
|
-
dotenv.config();
|
|
24
|
-
class AuxTA extends FunctionHelper {
|
|
25
|
-
constructor() {
|
|
26
|
-
super();
|
|
27
|
-
this.puppeteer = puppeteer;
|
|
28
|
-
this.aux2fa = Aux2faAuth;
|
|
29
|
-
this.google = AuxGoogleAuth;
|
|
30
|
-
this.config = c;
|
|
31
|
-
this.email = emailHelper;
|
|
32
|
-
let file;
|
|
33
|
-
if (!process.env.RPA) {
|
|
34
|
-
try {
|
|
35
|
-
let currentDir = "";
|
|
36
|
-
while (true) {
|
|
37
|
-
file = path.join(__dirname, currentDir, "auxta.json");
|
|
38
|
-
if (!fs.existsSync(file)) {
|
|
39
|
-
currentDir += "../";
|
|
40
|
-
if (currentDir.length >= 30) {
|
|
41
|
-
console.log("auxta.json file not found!");
|
|
42
|
-
process.exit(1);
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
continue;
|
|
46
|
-
}
|
|
47
|
-
break;
|
|
48
|
-
}
|
|
49
|
-
const jsonConfig = JSON.parse(fs.readFileSync(file).toString());
|
|
50
|
-
try {
|
|
51
|
-
this.config = setupConfig(jsonConfig);
|
|
52
|
-
}
|
|
53
|
-
catch (e) {
|
|
54
|
-
console.log("Missing field in auxta.json:", e);
|
|
55
|
-
}
|
|
56
|
-
this.uploadModel = new UploadModel(jsonConfig.organization, jsonConfig.baseURL, jsonConfig.digitalProduct, jsonConfig.environment, jsonConfig.bucket);
|
|
57
|
-
}
|
|
58
|
-
catch (e) {
|
|
59
|
-
console.log("Missing or corrupted config: auxta.json. Searching in location:", file);
|
|
60
|
-
console.log(e);
|
|
61
|
-
process.exit(1);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
this.uploadModel = new UploadModel('', '', '', '', '');
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
run(event, overrideConfig) {
|
|
69
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
-
this.changeModelData(overrideConfig);
|
|
71
|
-
let reportId;
|
|
72
|
-
try {
|
|
73
|
-
if (event.reportId) {
|
|
74
|
-
reportId = event.reportId;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
catch (e) {
|
|
78
|
-
reportId = undefined;
|
|
79
|
-
}
|
|
80
|
-
const suites = this.config.suitesList.slice(0);
|
|
81
|
-
return startSuite(suites, reportId || (yield createEmptyReport(this.uploadModel)));
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
changeModelData(overrideConfig) {
|
|
85
|
-
if (overrideConfig) {
|
|
86
|
-
if (overrideConfig.digitalProduct)
|
|
87
|
-
this.uploadModel.digitalProduct = overrideConfig.digitalProduct;
|
|
88
|
-
if (overrideConfig.environment)
|
|
89
|
-
this.uploadModel.environment = overrideConfig.environment;
|
|
90
|
-
if (overrideConfig.baseURL)
|
|
91
|
-
this.uploadModel.baseUrl = overrideConfig.baseURL;
|
|
92
|
-
if (overrideConfig.bucket)
|
|
93
|
-
this.uploadModel.bucket = overrideConfig.bucket;
|
|
94
|
-
this.config = setupOverrideConfig(overrideConfig);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
startBrowser(event, callback, feature, scenario, overrideConfig, singleFeature = false, fileName = '') {
|
|
98
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
99
|
-
this.changeModelData(overrideConfig);
|
|
100
|
-
if (singleFeature && process.env.ENVIRONMENT !== 'LOCAL') {
|
|
101
|
-
this.uploadModel.reportId = yield createEmptyReport(this.uploadModel);
|
|
102
|
-
this.uploadModel.currentSuite = fileName;
|
|
103
|
-
this.uploadModel.nextSuites = [];
|
|
104
|
-
}
|
|
105
|
-
return this.puppeteer.run(event, callback, feature, scenario);
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
startBrowserRPA(event, callback, baseURL, fileName = '') {
|
|
109
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
110
|
-
this.changeModelData({
|
|
111
|
-
baseURL: baseURL,
|
|
112
|
-
environment: '',
|
|
113
|
-
digitalProduct: ''
|
|
114
|
-
});
|
|
115
|
-
this.uploadModel.currentSuite = fileName;
|
|
116
|
-
return this.puppeteer.runRPA(event, callback);
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
getUploadModel() {
|
|
120
|
-
return this.uploadModel;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
export const StepStatus = StatusOfStep;
|
|
124
|
-
const auxta = new AuxTA();
|
|
125
|
-
export default auxta;
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
export declare function setupConfig(jsonConfig: any): {
|
|
2
|
-
auxtaURL: string;
|
|
3
|
-
baseURL: string;
|
|
4
|
-
siteURL: string;
|
|
5
|
-
organization: string;
|
|
6
|
-
netlifyPath: string;
|
|
7
|
-
digitalProduct: string;
|
|
8
|
-
bucket: string;
|
|
9
|
-
token: string;
|
|
10
|
-
screenWidth: number;
|
|
11
|
-
screenHeight: number;
|
|
12
|
-
timeout: number;
|
|
13
|
-
suitesList: never[];
|
|
14
|
-
googleEmail: string;
|
|
15
|
-
auxtaCredentials: {
|
|
16
|
-
email: string;
|
|
17
|
-
password: string;
|
|
18
|
-
};
|
|
19
|
-
};
|
|
20
|
-
export declare function setupOverrideConfig(overrideConfig: any): {
|
|
21
|
-
auxtaURL: string;
|
|
22
|
-
baseURL: string;
|
|
23
|
-
siteURL: string;
|
|
24
|
-
organization: string;
|
|
25
|
-
netlifyPath: string;
|
|
26
|
-
digitalProduct: string;
|
|
27
|
-
bucket: string;
|
|
28
|
-
token: string;
|
|
29
|
-
screenWidth: number;
|
|
30
|
-
screenHeight: number;
|
|
31
|
-
timeout: number;
|
|
32
|
-
suitesList: never[];
|
|
33
|
-
googleEmail: string;
|
|
34
|
-
auxtaCredentials: {
|
|
35
|
-
email: string;
|
|
36
|
-
password: string;
|
|
37
|
-
};
|
|
38
|
-
};
|
|
39
|
-
export declare let config: {
|
|
40
|
-
auxtaURL: string;
|
|
41
|
-
baseURL: string;
|
|
42
|
-
siteURL: string;
|
|
43
|
-
organization: string;
|
|
44
|
-
netlifyPath: string;
|
|
45
|
-
digitalProduct: string;
|
|
46
|
-
bucket: string;
|
|
47
|
-
token: string;
|
|
48
|
-
screenWidth: number;
|
|
49
|
-
screenHeight: number;
|
|
50
|
-
timeout: number;
|
|
51
|
-
suitesList: never[];
|
|
52
|
-
googleEmail: string;
|
|
53
|
-
auxtaCredentials: {
|
|
54
|
-
email: string;
|
|
55
|
-
password: string;
|
|
56
|
-
};
|
|
57
|
-
};
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
export function setupConfig(jsonConfig) {
|
|
2
|
-
if (!jsonConfig.baseURL)
|
|
3
|
-
throw new Error("baseURL");
|
|
4
|
-
config.baseURL = jsonConfig.baseURL;
|
|
5
|
-
if (!jsonConfig.digitalProduct)
|
|
6
|
-
throw new Error("digitalProduct");
|
|
7
|
-
config.digitalProduct = jsonConfig.digitalProduct;
|
|
8
|
-
if (!jsonConfig.testsURL)
|
|
9
|
-
throw new Error("testsURL");
|
|
10
|
-
config.bucket = jsonConfig.bucket;
|
|
11
|
-
if (!jsonConfig.testsURL)
|
|
12
|
-
throw new Error("testsURL");
|
|
13
|
-
config.netlifyPath = (process.env.ENVIRONMENT == 'LOCAL') ? 'http://localhost:9999/' : jsonConfig.testsURL;
|
|
14
|
-
if (!jsonConfig.organization)
|
|
15
|
-
throw new Error("organization");
|
|
16
|
-
config.organization = jsonConfig.organization;
|
|
17
|
-
if (!jsonConfig.email)
|
|
18
|
-
throw new Error("email");
|
|
19
|
-
config.auxtaCredentials.email = jsonConfig.email;
|
|
20
|
-
if (!process.env.auxta_password)
|
|
21
|
-
throw new Error("password");
|
|
22
|
-
config.auxtaCredentials.password = process.env.auxta_password;
|
|
23
|
-
if (!jsonConfig.suitesList)
|
|
24
|
-
throw new Error("suitesList");
|
|
25
|
-
config.suitesList = jsonConfig.suitesList;
|
|
26
|
-
config.googleEmail = jsonConfig.googleEmail;
|
|
27
|
-
if (jsonConfig.timeout)
|
|
28
|
-
config.timeout = jsonConfig.timeout;
|
|
29
|
-
if (jsonConfig.screenWidth)
|
|
30
|
-
config.screenWidth = jsonConfig.screenWidth;
|
|
31
|
-
if (jsonConfig.screenHeight)
|
|
32
|
-
config.screenHeight = jsonConfig.screenHeight;
|
|
33
|
-
return config;
|
|
34
|
-
}
|
|
35
|
-
export function setupOverrideConfig(overrideConfig) {
|
|
36
|
-
if (overrideConfig.baseURL)
|
|
37
|
-
config.baseURL = overrideConfig.baseURL;
|
|
38
|
-
if (overrideConfig.digitalProduct)
|
|
39
|
-
config.digitalProduct = overrideConfig.digitalProduct;
|
|
40
|
-
if (overrideConfig.screenWidth)
|
|
41
|
-
config.screenWidth = overrideConfig.screenWidth;
|
|
42
|
-
if (overrideConfig.screenHeight)
|
|
43
|
-
config.screenHeight = overrideConfig.screenHeight;
|
|
44
|
-
return config;
|
|
45
|
-
}
|
|
46
|
-
export let config = {
|
|
47
|
-
auxtaURL: "https://auxta.live/.netlify/functions/",
|
|
48
|
-
baseURL: "",
|
|
49
|
-
siteURL: "",
|
|
50
|
-
organization: "",
|
|
51
|
-
netlifyPath: "",
|
|
52
|
-
digitalProduct: "",
|
|
53
|
-
bucket: "",
|
|
54
|
-
token: "",
|
|
55
|
-
screenWidth: 1920,
|
|
56
|
-
screenHeight: 1080,
|
|
57
|
-
timeout: 60000,
|
|
58
|
-
suitesList: [],
|
|
59
|
-
googleEmail: "",
|
|
60
|
-
auxtaCredentials: {
|
|
61
|
-
email: "",
|
|
62
|
-
password: "",
|
|
63
|
-
},
|
|
64
|
-
};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export var StatusOfStep;
|
|
2
|
-
(function (StatusOfStep) {
|
|
3
|
-
StatusOfStep["PASSED"] = "passed";
|
|
4
|
-
StatusOfStep["FAILED"] = "failed";
|
|
5
|
-
StatusOfStep["SKIPPED"] = "skipped";
|
|
6
|
-
StatusOfStep["SUGGESTION"] = "suggestion";
|
|
7
|
-
})(StatusOfStep || (StatusOfStep = {}));
|
|
8
|
-
export default StatusOfStep;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import { join } from 'path';
|
|
11
|
-
(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
12
|
-
const r = /^--params\.suite=(.*)$/g;
|
|
13
|
-
let suite = process.argv.find(el => !!el.match(r));
|
|
14
|
-
if (!suite)
|
|
15
|
-
throw `Locale is undefined`;
|
|
16
|
-
let suites = suite.replace('--params.suite=', '');
|
|
17
|
-
let suitesArr = suites.split(',');
|
|
18
|
-
if (!suitesArr)
|
|
19
|
-
suitesArr = [suites];
|
|
20
|
-
for (const suite of suitesArr) {
|
|
21
|
-
let f = require(join(process.cwd(), 'build', 'functions', 'controllers', suite));
|
|
22
|
-
yield f.handler();
|
|
23
|
-
}
|
|
24
|
-
}))();
|