vita-playwright 1.0.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/README.md +57 -0
- package/dist/src/helpers/api-helpers.js +52 -0
- package/dist/src/helpers/api-helpers.js.map +1 -0
- package/dist/src/helpers/ui-helpers.js +134 -0
- package/dist/src/helpers/ui-helpers.js.map +1 -0
- package/dist/src/index.js +22 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/utils/api_axios.js +36 -0
- package/dist/src/utils/api_axios.js.map +1 -0
- package/dist/src/utils/azure_storage_methods.js +87 -0
- package/dist/src/utils/azure_storage_methods.js.map +1 -0
- package/dist/src/utils/comparisions.js +85 -0
- package/dist/src/utils/comparisions.js.map +1 -0
- package/dist/src/utils/document_utility.js +67 -0
- package/dist/src/utils/document_utility.js.map +1 -0
- package/dist/src/utils/keyvault_methods.js +30 -0
- package/dist/src/utils/keyvault_methods.js.map +1 -0
- package/dist/src/utils/test_data.js +282 -0
- package/dist/src/utils/test_data.js.map +1 -0
- package/dist/src/utils/xmlToJson.js +55 -0
- package/dist/src/utils/xmlToJson.js.map +1 -0
- package/package.json +91 -0
- package/src/helpers/api-helpers.ts +40 -0
- package/src/helpers/ui-helpers.ts +122 -0
- package/src/index.ts +21 -0
- package/src/utils/api_axios.ts +22 -0
- package/src/utils/azure_storage_methods.ts +91 -0
- package/src/utils/comparisions.ts +72 -0
- package/src/utils/document_utility.ts +49 -0
- package/src/utils/keyvault_methods.ts +17 -0
- package/src/utils/test_data.ts +263 -0
- package/src/utils/xmlToJson.ts +40 -0
- package/tsconfig.json +106 -0
package/README.md
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# VITA
|
|
2
|
+
|
|
3
|
+
<details>
|
|
4
|
+
<summary>VITA playwright helpers</summary><br/>
|
|
5
|
+
|
|
6
|
+
## helpers
|
|
7
|
+
|
|
8
|
+
VITA playwright helpers is a helper library for dealing with utilities.
|
|
9
|
+
|
|
10
|
+
<details>
|
|
11
|
+
<summary>excel utilities</summary><br/>
|
|
12
|
+
|
|
13
|
+
### Installation
|
|
14
|
+
|
|
15
|
+
Use the package manager [npm](https://www.npmjs.com/) to install xlsx.
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npm install xlsx
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### Usage
|
|
22
|
+
|
|
23
|
+
```typescript
|
|
24
|
+
import path from 'node:path';
|
|
25
|
+
import { DocsReaderHelper } from '../../../helpers/docs-reader-helper';
|
|
26
|
+
|
|
27
|
+
test("read data from excel file", async ()=>{
|
|
28
|
+
const pathtoExcel =path.resolve(__dirname,"../../../../resources/**/**.xlsx");
|
|
29
|
+
const excelData = await DocsReaderHelper.readDataFromExcelorCSV(pathtoExcel);
|
|
30
|
+
console.log(excelData);
|
|
31
|
+
|
|
32
|
+
const pathtoExcel =path.resolve(__dirname,"../../../../resources/**/**.csv");
|
|
33
|
+
const csvData = await DocsReaderHelper.readDataFromExcelorCSV(pathtoExcel);
|
|
34
|
+
console.log(csvData);
|
|
35
|
+
})
|
|
36
|
+
|
|
37
|
+
#### output(keys are specific to excel file)
|
|
38
|
+
{
|
|
39
|
+
Username: [ '***', '***'],
|
|
40
|
+
Identifier: ['***', '***'],
|
|
41
|
+
'First name': ['***', '***'],
|
|
42
|
+
'Last name': ['***', '***']
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
<br />
|
|
46
|
+
|
|
47
|
+
## Contribution
|
|
48
|
+
|
|
49
|
+
Pull requests are welcome. For major changes, please open an issue first
|
|
50
|
+
to discuss what you would like to change.
|
|
51
|
+
|
|
52
|
+
Please make sure to update tests as appropriate.
|
|
53
|
+
</details>
|
|
54
|
+
|
|
55
|
+
</details>
|
|
56
|
+
|
|
57
|
+
|
|
@@ -0,0 +1,52 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ApiHelper = void 0;
|
|
13
|
+
const api_axios_1 = require("../utils/api_axios");
|
|
14
|
+
class ApiHelper {
|
|
15
|
+
static post(url, header, payload) {
|
|
16
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
17
|
+
var config = {
|
|
18
|
+
method: 'post',
|
|
19
|
+
url: url,
|
|
20
|
+
headers: header,
|
|
21
|
+
data: payload
|
|
22
|
+
};
|
|
23
|
+
var response = yield api_axios_1.TokenGenerators.request(config);
|
|
24
|
+
return response;
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
static get(url, header) {
|
|
28
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
+
var config = {
|
|
30
|
+
method: 'GET',
|
|
31
|
+
url: url,
|
|
32
|
+
headers: header
|
|
33
|
+
};
|
|
34
|
+
var response = yield api_axios_1.TokenGenerators.request(config);
|
|
35
|
+
return response;
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
static put(url, header, payload) {
|
|
39
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
+
var config = {
|
|
41
|
+
method: 'put',
|
|
42
|
+
url: url,
|
|
43
|
+
headers: header,
|
|
44
|
+
data: payload
|
|
45
|
+
};
|
|
46
|
+
var response = yield api_axios_1.TokenGenerators.request(config);
|
|
47
|
+
return response;
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.ApiHelper = ApiHelper;
|
|
52
|
+
//# sourceMappingURL=api-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-helpers.js","sourceRoot":"","sources":["../../../src/helpers/api-helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAAqD;AAErD,MAAa,SAAS;IAElB,MAAM,CAAO,IAAI,CAAC,GAAQ,EAAE,MAAW,EAAE,OAAY;;YACjD,IAAI,MAAM,GAAG;gBACT,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,GAAG;gBACR,OAAO,EAAE,MAAM;gBACf,IAAI,EAAE,OAAO;aAChB,CAAC;YAEF,IAAI,QAAQ,GAAG,MAAM,2BAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACrD,OAAO,QAAQ,CAAC;QACpB,CAAC;KAAA;IAED,MAAM,CAAO,GAAG,CAAC,GAAQ,EAAE,MAAW;;YAClC,IAAI,MAAM,GAAG;gBACT,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,GAAG;gBACR,OAAO,EAAE,MAAM;aAClB,CAAC;YAEF,IAAI,QAAQ,GAAG,MAAM,2BAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACrD,OAAO,QAAQ,CAAC;QACpB,CAAC;KAAA;IAED,MAAM,CAAO,GAAG,CAAC,GAAQ,EAAE,MAAW,EAAE,OAAY;;YAChD,IAAI,MAAM,GAAG;gBACT,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,GAAG;gBACR,OAAO,EAAE,MAAM;gBACf,IAAI,EAAE,OAAO;aAChB,CAAC;YAEF,IAAI,QAAQ,GAAG,MAAM,2BAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACrD,OAAO,QAAQ,CAAC;QACpB,CAAC;KAAA;CAEJ;AArCD,8BAqCC"}
|
|
@@ -0,0 +1,134 @@
|
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.UIHelper = void 0;
|
|
16
|
+
const robotjs_1 = __importDefault(require("robotjs"));
|
|
17
|
+
class UIHelper {
|
|
18
|
+
constructor(page) {
|
|
19
|
+
this.page = page;
|
|
20
|
+
}
|
|
21
|
+
filltheData(locator, data) {
|
|
22
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
if (data) {
|
|
24
|
+
yield this.waitTillElementIsVisible(locator);
|
|
25
|
+
yield this.page.locator(locator).scrollIntoViewIfNeeded();
|
|
26
|
+
yield this.page.locator(locator).fill(data);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
clickonWebElement(locator) {
|
|
31
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
32
|
+
yield this.page.locator(locator).scrollIntoViewIfNeeded();
|
|
33
|
+
yield this.waitTillElementIsVisible(locator);
|
|
34
|
+
yield this.page.locator(locator).click();
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
getInnerHTML(locator) {
|
|
38
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
+
yield this.waitTillElementIsVisible(locator);
|
|
40
|
+
yield this.page.locator(locator).scrollIntoViewIfNeeded();
|
|
41
|
+
return yield this.page.innerHTML(locator);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
getInnerText(locator) {
|
|
45
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
yield this.waitTillElementIsVisible(locator);
|
|
47
|
+
yield this.page.locator(locator).scrollIntoViewIfNeeded();
|
|
48
|
+
return yield this.page.locator(locator).innerText().trim();
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
getText(locator) {
|
|
52
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
yield this.waitTillElementIsVisible(locator);
|
|
54
|
+
yield this.page.locator(locator).scrollIntoViewIfNeeded();
|
|
55
|
+
return yield this.page.locator(locator).textContent();
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
getAttribute(locator, attribute) {
|
|
59
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
60
|
+
yield this.waitTillElementIsVisible(locator);
|
|
61
|
+
yield this.page.locator(locator).scrollIntoViewIfNeeded();
|
|
62
|
+
return yield this.page.locator(locator).getAttribute(attribute);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
evaluateJS(jsDOM) {
|
|
66
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
67
|
+
return yield this.page.evaluate(jsDOM);
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
isElementPresent(locator) {
|
|
71
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
72
|
+
// console.log(typeof locator.toString());
|
|
73
|
+
let type = typeof locator;
|
|
74
|
+
if (type === "string") {
|
|
75
|
+
yield this.page.locator(locator).scrollIntoViewIfNeeded();
|
|
76
|
+
return yield this.page.locator(locator).isVisible();
|
|
77
|
+
}
|
|
78
|
+
else if (type === "object") {
|
|
79
|
+
return yield locator.isVisible();
|
|
80
|
+
}
|
|
81
|
+
console.log(type);
|
|
82
|
+
console.log(type.toString());
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
isElementEnabled(locator) {
|
|
86
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
87
|
+
yield this.page.locator(locator).scrollIntoViewIfNeeded();
|
|
88
|
+
return yield this.page.locator(locator).isEnabled();
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
waitTillElementIsVisible(elementSelector, waitTime = 60000) {
|
|
92
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
93
|
+
yield this.page.waitForSelector(elementSelector, { waitFor: 'visible', timeout: waitTime });
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
getIputBoxValue(locator) {
|
|
97
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
98
|
+
yield this.waitTillElementIsVisible(locator);
|
|
99
|
+
yield this.page.locator(locator).scrollIntoViewIfNeeded();
|
|
100
|
+
return yield this.page.inputValue();
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
scrollIntoElementView(locator) {
|
|
104
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
105
|
+
yield this.page.locator(locator).scrollIntoViewIfNeeded();
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
filltheDataForDateField(locator, data) {
|
|
109
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
110
|
+
if (data) {
|
|
111
|
+
yield this.clickonWebElement(locator);
|
|
112
|
+
yield this.page.locator(locator).fill(data);
|
|
113
|
+
yield this.page.keyboard.press('Enter');
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
SelectValueInDropDownField(locator, data) {
|
|
118
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
119
|
+
if (data) {
|
|
120
|
+
yield this.filltheData(locator, data);
|
|
121
|
+
yield this.page.keyboard.press('Enter');
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
closeCertificationPopup() {
|
|
126
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
127
|
+
yield this.page.waitForTimeout(5000);
|
|
128
|
+
robotjs_1.default.moveMouse(400, 20);
|
|
129
|
+
robotjs_1.default.keyTap("enter");
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
exports.UIHelper = UIHelper;
|
|
134
|
+
//# sourceMappingURL=ui-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui-helpers.js","sourceRoot":"","sources":["../../../src/helpers/ui-helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,sDAA4B;AAE5B,MAAa,QAAQ;IAGjB,YAAY,IAAS;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAEK,WAAW,CAAC,OAAY,EAAE,IAAS;;YAErC,IAAI,IAAI,EAAE;gBACN,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;gBAC7C,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBAC1D,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAE/C;QAEL,CAAC;KAAA;IAEK,iBAAiB,CAAC,OAAY;;YAChC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC1D,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;QAE7C,CAAC;KAAA;IAEK,YAAY,CAAC,OAAY;;YAC3B,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC1D,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;KAAA;IAGK,YAAY,CAAC,OAAY;;YAC3B,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC1D,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC;QAC/D,CAAC;KAAA;IAEK,OAAO,CAAC,OAAY;;YACtB,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC1D,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QAE1D,CAAC;KAAA;IAEK,YAAY,CAAC,OAAY,EAAE,SAAc;;YAC3C,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC1D,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;QAEnE,CAAC;KAAA;IAEK,UAAU,CAAC,KAAU;;YACvB,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAE3C,CAAC;KAAA;IAGK,gBAAgB,CAAC,OAAY;;YAC/B,0CAA0C;YAC1C,IAAI,IAAI,GAAG,OAAO,OAAO,CAAC;YAC1B,IAAI,IAAI,KAAK,QAAQ,EAAE;gBACnB,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBAC1D,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;aACvD;iBAAM,IAAI,IAAI,KAAK,QAAQ,EAAE;gBAC1B,OAAO,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;aACpC;YAED,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEjC,CAAC;KAAA;IAEK,gBAAgB,CAAC,OAAY;;YAC/B,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC1D,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;QAExD,CAAC;KAAA;IAEK,wBAAwB,CAAC,eAAoB,EAAE,QAAQ,GAAG,KAAK;;YACjE,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC/F,CAAC;KAAA;IAEK,eAAe,CAAC,OAAY;;YAC9B,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC1D,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,CAAC;KAAA;IACK,qBAAqB,CAAC,OAAY;;YACpC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,sBAAsB,EAAE,CAAC;QAE9D,CAAC;KAAA;IACK,uBAAuB,CAAC,OAAY,EAAE,IAAS;;YAEjD,IAAI,IAAI,EAAE;gBACN,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBACtC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5C,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAC/B;QAEjB,CAAC;KAAA;IAEK,0BAA0B,CAAC,OAAY,EAAE,IAAS;;YAEpD,IAAI,IAAI,EAAE;gBACN,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAC,IAAI,CAAC,CAAC;gBACrC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAC/B;QAEjB,CAAC;KAAA;IAEK,uBAAuB;;YACzB,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACrC,iBAAK,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACzB,iBAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;KAAA;CAIJ;AAvHD,4BAuHC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.XmlToJson = exports.TestData = exports.KeyVaultMethods = exports.DocumentUtility = exports.Comparisions = exports.AzureStorageMethods = exports.TokenGenerators = exports.ApiHelper = exports.UIHelper = void 0;
|
|
4
|
+
const ui_helpers_1 = require("./helpers/ui-helpers");
|
|
5
|
+
Object.defineProperty(exports, "UIHelper", { enumerable: true, get: function () { return ui_helpers_1.UIHelper; } });
|
|
6
|
+
const api_helpers_1 = require("./helpers/api-helpers");
|
|
7
|
+
Object.defineProperty(exports, "ApiHelper", { enumerable: true, get: function () { return api_helpers_1.ApiHelper; } });
|
|
8
|
+
const api_axios_1 = require("./utils/api_axios");
|
|
9
|
+
Object.defineProperty(exports, "TokenGenerators", { enumerable: true, get: function () { return api_axios_1.TokenGenerators; } });
|
|
10
|
+
const azure_storage_methods_1 = require("./utils/azure_storage_methods");
|
|
11
|
+
Object.defineProperty(exports, "AzureStorageMethods", { enumerable: true, get: function () { return azure_storage_methods_1.AzureStorageMethods; } });
|
|
12
|
+
const comparisions_1 = require("./utils/comparisions");
|
|
13
|
+
Object.defineProperty(exports, "Comparisions", { enumerable: true, get: function () { return comparisions_1.Comparisions; } });
|
|
14
|
+
const document_utility_1 = require("./utils/document_utility");
|
|
15
|
+
Object.defineProperty(exports, "DocumentUtility", { enumerable: true, get: function () { return document_utility_1.DocumentUtility; } });
|
|
16
|
+
const keyvault_methods_1 = require("./utils/keyvault_methods");
|
|
17
|
+
Object.defineProperty(exports, "KeyVaultMethods", { enumerable: true, get: function () { return keyvault_methods_1.KeyVaultMethods; } });
|
|
18
|
+
const test_data_1 = require("./utils/test_data");
|
|
19
|
+
Object.defineProperty(exports, "TestData", { enumerable: true, get: function () { return test_data_1.TestData; } });
|
|
20
|
+
const xmlToJson_1 = require("./utils/xmlToJson");
|
|
21
|
+
Object.defineProperty(exports, "XmlToJson", { enumerable: true, get: function () { return xmlToJson_1.XmlToJson; } });
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,qDAAgD;AAW5C,yFAXK,qBAAQ,OAWL;AAVZ,uDAAkD;AAW9C,0FAXK,uBAAS,OAWL;AAVb,iDAAoD;AAWhD,gGAXK,2BAAe,OAWL;AAVnB,yEAAoE;AAWhE,oGAXK,2CAAmB,OAWL;AAVvB,uDAAoD;AAWhD,6FAXK,2BAAY,OAWL;AAVhB,+DAA2D;AAWvD,gGAXK,kCAAe,OAWL;AAVnB,+DAA2D;AAWvD,gGAXK,kCAAe,OAWL;AAVnB,iDAA6C;AAWzC,yFAXK,oBAAQ,OAWL;AAVZ,iDAA8C;AAW1C,0FAXK,qBAAS,OAWL"}
|
|
@@ -0,0 +1,36 @@
|
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.TokenGenerators = void 0;
|
|
16
|
+
const axios_1 = __importDefault(require("axios"));
|
|
17
|
+
class TokenGenerators {
|
|
18
|
+
static generateKeyVaultAccessToken() {
|
|
19
|
+
throw new Error('Method not implemented.');
|
|
20
|
+
}
|
|
21
|
+
static request(config) {
|
|
22
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
try {
|
|
24
|
+
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
|
|
25
|
+
var response = yield (0, axios_1.default)(config);
|
|
26
|
+
return response;
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
console.log(error);
|
|
30
|
+
return error.response;
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.TokenGenerators = TokenGenerators;
|
|
36
|
+
//# sourceMappingURL=api_axios.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api_axios.js","sourceRoot":"","sources":["../../../src/utils/api_axios.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAAkD;AAElD,MAAa,eAAe;IAExB,MAAM,CAAC,2BAA2B;QAC9B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAO,OAAO,CAAC,MAA+B;;YAChD,IAAI;gBACA,OAAO,CAAC,GAAG,CAAC,4BAA4B,GAAG,GAAG,CAAC;gBAC/C,IAAI,QAAQ,GAAG,MAAM,IAAA,eAAK,EAAC,MAAM,CAAC,CAAC;gBACnC,OAAO,QAAQ,CAAC;aACnB;YAAC,OAAO,KAAK,EAAE;gBACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;gBAClB,OAAO,KAAK,CAAC,QAAQ,CAAC;aACzB;QAEL,CAAC;KAAA;CAGJ;AAnBD,0CAmBC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.AzureStorageMethods = void 0;
|
|
13
|
+
var DOMParser = require('xmldom').DOMParser;
|
|
14
|
+
const xmlToJson_1 = require("./xmlToJson");
|
|
15
|
+
var CryptoJS = require('crypto-js');
|
|
16
|
+
const api_axios_1 = require("./api_axios");
|
|
17
|
+
class AzureStorageMethods {
|
|
18
|
+
static getblobs(storageAccount, containerName, storageAccountKey, apiMethodName, blobFilterName = "") {
|
|
19
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
20
|
+
var header_date = new Date().toUTCString();
|
|
21
|
+
var apiMethod = apiMethodName.toUpperCase();
|
|
22
|
+
var url = new URL(`https://${storageAccount}.blob.core.windows.net/${containerName}?restype=container&comp=list&prefix=${blobFilterName}`);
|
|
23
|
+
const signatureParts = [apiMethod, "", "", "", "", "", "", "", "", "", "", ""];
|
|
24
|
+
const canonicalHeaderParts = [];
|
|
25
|
+
canonicalHeaderParts.push(`x-ms-date:${header_date}`);
|
|
26
|
+
canonicalHeaderParts.push(`x-ms-version:2018-03-28`);
|
|
27
|
+
// Add headers to signature
|
|
28
|
+
signatureParts.push.apply(signatureParts, canonicalHeaderParts);
|
|
29
|
+
// Construct CanonicalizedResource
|
|
30
|
+
const canonicalResourceParts = [`/${storageAccount}${url.pathname}`];
|
|
31
|
+
const canonicalQueryNames = [];
|
|
32
|
+
url.searchParams.forEach(function (value, key) {
|
|
33
|
+
canonicalQueryNames.push(key.toLowerCase());
|
|
34
|
+
});
|
|
35
|
+
canonicalQueryNames.sort();
|
|
36
|
+
canonicalQueryNames.forEach(queryName => {
|
|
37
|
+
const value = url.searchParams.get(queryName);
|
|
38
|
+
canonicalResourceParts.push(`${queryName}:${value}`);
|
|
39
|
+
});
|
|
40
|
+
// Add resource to signature
|
|
41
|
+
signatureParts.push.apply(signatureParts, canonicalResourceParts);
|
|
42
|
+
// Now, construct signature raw string
|
|
43
|
+
const signatureRaw = signatureParts.join("\n");
|
|
44
|
+
// Hash it using HMAC-SHA256 and then encode using base64
|
|
45
|
+
const signatureBytes = CryptoJS.HmacSHA256(signatureRaw, CryptoJS.enc.Base64.parse(storageAccountKey));
|
|
46
|
+
const signatureEncoded = signatureBytes.toString(CryptoJS.enc.Base64);
|
|
47
|
+
var config = {
|
|
48
|
+
method: apiMethod,
|
|
49
|
+
url: `https://${storageAccount}.blob.core.windows.net/${containerName}?restype=container&comp=list&prefix=${blobFilterName}`,
|
|
50
|
+
headers: {
|
|
51
|
+
"Authorization": `SharedKey ${storageAccount}:${signatureEncoded}`,
|
|
52
|
+
"x-ms-date": header_date,
|
|
53
|
+
"x-ms-version": "2018-03-28"
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
var response = yield api_axios_1.TokenGenerators.request(config);
|
|
57
|
+
var apiData = response.data;
|
|
58
|
+
var XmlNode = new DOMParser().parseFromString(apiData, 'text/xml');
|
|
59
|
+
var jsonObj = yield xmlToJson_1.XmlToJson.xmlToJson(XmlNode);
|
|
60
|
+
var blobs = jsonObj.EnumerationResults.Blobs.Blob;
|
|
61
|
+
var newBlobs = [];
|
|
62
|
+
if (blobs.length) {
|
|
63
|
+
for (var i = 0; i < blobs.length; i++) {
|
|
64
|
+
var blob = {
|
|
65
|
+
"fileName": (blobs[i].Name['#text']).replace(blobFilterName, ""),
|
|
66
|
+
"modifiedTime": (Date.parse(blobs[i].Properties['Last-Modified']['#text'])),
|
|
67
|
+
"status": Math.floor(Date.now() - (Date.parse(blobs[i].Properties['Last-Modified']['#text'])) / 1000) > 30 ? 1 : 0,
|
|
68
|
+
};
|
|
69
|
+
newBlobs.push(blob);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
else if (blobs.fileName) {
|
|
73
|
+
var blob = {
|
|
74
|
+
"fileName": (blobs.Name['#text']).replace(blobFilterName, ""),
|
|
75
|
+
"modifiedTime": (Date.parse(blobs.Properties['Last-Modified']['#text'])),
|
|
76
|
+
"status": Math.floor(Date.now() - (Date.parse(blobs.Properties['Last-Modified']['#text'])) / 1000) > 30 ? 1 : 0,
|
|
77
|
+
};
|
|
78
|
+
newBlobs.push(blob);
|
|
79
|
+
}
|
|
80
|
+
newBlobs.sort((a, b) => a.fileName > b.fileName ? 1 : ((b.fileName > a.fileName) ? -1 : 0));
|
|
81
|
+
newBlobs.sort((a, b) => a.modifiedTime < b.modifiedTime ? 1 : ((b.modifiedTime < a.modifiedTime) ? -1 : 0));
|
|
82
|
+
return newBlobs;
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
exports.AzureStorageMethods = AzureStorageMethods;
|
|
87
|
+
//# sourceMappingURL=azure_storage_methods.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"azure_storage_methods.js","sourceRoot":"","sources":["../../../src/utils/azure_storage_methods.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.Comparisions = void 0;
|
|
16
|
+
const test_1 = require("@playwright/test");
|
|
17
|
+
const util_1 = require("util");
|
|
18
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
19
|
+
class Comparisions {
|
|
20
|
+
static compareObjects(actualObj, expectedObj) {
|
|
21
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
+
var same;
|
|
23
|
+
console.log("Actual Obj: " + actualObj + " and Expected Obj: " + expectedObj);
|
|
24
|
+
same = lodash_1.default.isEqual(actualObj, expectedObj);
|
|
25
|
+
console.log(same);
|
|
26
|
+
return same;
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
;
|
|
30
|
+
static compareUnorderedJSONObjects(actualObj, expectedObj) {
|
|
31
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
32
|
+
var Keydata = Object.keys(expectedObj);
|
|
33
|
+
var result = new Array();
|
|
34
|
+
var boolean;
|
|
35
|
+
for (var i = 0; i < Keydata.length; i++) {
|
|
36
|
+
if (actualObj[Keydata[i]] == expectedObj[Keydata[i]]) {
|
|
37
|
+
result.push(true);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
result.push(false);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
boolean = result.includes(false) ? false : true;
|
|
44
|
+
return boolean;
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
static compareJSONObjects(receivedJson, expectedJson) {
|
|
48
|
+
let isJsonEqual = true;
|
|
49
|
+
let receivedKeys = this.getJsonKeys(receivedJson);
|
|
50
|
+
let expectedKeys = this.getJsonKeys(expectedJson);
|
|
51
|
+
let receivedValues = this.getJsonValues(receivedJson);
|
|
52
|
+
let expectedValues = this.getJsonValues(expectedJson);
|
|
53
|
+
let count = this.getJsonCount(receivedJson);
|
|
54
|
+
for (let i = 0; i < count; i++) {
|
|
55
|
+
let receivedKey = receivedKeys[i];
|
|
56
|
+
let expectedKey = expectedKeys[i];
|
|
57
|
+
let receivedValue = receivedValues[i];
|
|
58
|
+
let expectedValue = expectedValues[i];
|
|
59
|
+
let isKeyEmpty = receivedKey == (null || "");
|
|
60
|
+
let isKeyEqual = receivedKey == expectedKey;
|
|
61
|
+
let isValueEqual = (0, util_1.isDeepStrictEqual)(receivedValue, expectedValue);
|
|
62
|
+
test_1.expect.soft(!isKeyEmpty, "Actual Key received is not null.");
|
|
63
|
+
test_1.expect.soft(isKeyEqual, "Actual key received is: '" + receivedKey + "' and expected key is: '" + expectedKey + "'.").toBeTruthy();
|
|
64
|
+
test_1.expect.soft(isValueEqual, "Actual value received for '" + expectedKey + "' is " + JSON.stringify(receivedValue) + " and \nExpected value is: " + JSON.stringify(expectedValue) + ".").toBeTruthy();
|
|
65
|
+
if (isKeyEmpty || !isKeyEqual || !isValueEqual) {
|
|
66
|
+
isJsonEqual = false;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return isJsonEqual;
|
|
70
|
+
}
|
|
71
|
+
//Get Keys from Json Files
|
|
72
|
+
static getJsonKeys(jsonFile) {
|
|
73
|
+
return Object.keys(jsonFile);
|
|
74
|
+
}
|
|
75
|
+
//Get Values From Json Files
|
|
76
|
+
static getJsonValues(jsonFile) {
|
|
77
|
+
return Object.values(jsonFile);
|
|
78
|
+
}
|
|
79
|
+
//Get Count of Json items
|
|
80
|
+
static getJsonCount(jsonFile) {
|
|
81
|
+
return Object.keys(jsonFile).length;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
exports.Comparisions = Comparisions;
|
|
85
|
+
//# sourceMappingURL=comparisions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comparisions.js","sourceRoot":"","sources":["../../../src/utils/comparisions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA0C;AAC1C,+BAAyC;AACzC,oDAAuB;AAEvB,MAAa,YAAY;IAEvB,MAAM,CAAO,cAAc,CAAC,SAAiB,EAAE,WAAmB;;YAChE,IAAI,IAAI,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,SAAS,GAAG,qBAAqB,GAAG,WAAW,CAAC,CAAA;YAC7E,IAAI,GAAG,gBAAC,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAAA,CAAC;IAEF,MAAM,CAAO,2BAA2B,CAAC,SAAgC,EAAE,WAAkC;;YAC3G,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YACtC,IAAI,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,OAAO,CAAC;YACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACvC,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;oBACpD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;iBAClB;qBAAM;oBACL,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;iBACnB;aACF;YACD,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YAChD,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;IAED,MAAM,CAAC,kBAAkB,CAAC,YAAY,EAAE,YAAY;QAClD,IAAI,WAAW,GAAG,IAAI,CAAC;QACvB,IAAI,YAAY,GAAa,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAC5D,IAAI,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,KAAK,GAAW,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAEpD,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YACtC,IAAI,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;YAEtC,IAAI,UAAU,GAAY,WAAW,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YACtD,IAAI,UAAU,GAAY,WAAW,IAAI,WAAW,CAAC;YACrD,IAAI,YAAY,GAAY,IAAA,wBAAiB,EAAC,aAAa,EAAE,aAAa,CAAC,CAAC;YAC5E,aAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,kCAAkC,CAAC,CAAC;YAC7D,aAAM,CAAC,IAAI,CAAC,UAAU,EAAE,2BAA2B,GAAG,WAAW,GAAG,0BAA0B,GAAG,WAAW,GAAG,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;YAClI,aAAM,CAAC,IAAI,CAAC,YAAY,EAAE,6BAA6B,GAAG,WAAW,GAAG,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,4BAA4B,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;YAEnM,IAAI,UAAU,IAAI,CAAC,UAAU,IAAI,CAAC,YAAY,EAAE;gBAC9C,WAAW,GAAG,KAAK,CAAC;aACrB;SACF;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,0BAA0B;IAC1B,MAAM,CAAC,WAAW,CAAC,QAAQ;QACzB,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED,4BAA4B;IAC5B,MAAM,CAAC,aAAa,CAAC,QAAQ;QAC3B,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED,yBAAyB;IACzB,MAAM,CAAC,YAAY,CAAC,QAAQ;QAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;IACtC,CAAC;CACF;AAnED,oCAmEC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.DocumentUtility = void 0;
|
|
16
|
+
const xlsx_1 = __importDefault(require("xlsx"));
|
|
17
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
18
|
+
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
19
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
20
|
+
class DocumentUtility {
|
|
21
|
+
static readData(filePath) {
|
|
22
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
return xlsx_1.default.readFile(filePath, { cellDates: true, bookVBA: true, sheetStubs: true, cellNF: true });
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
static readDataFromExcelorCSV(filePath, sheetname) {
|
|
27
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
const workbook = yield DocumentUtility.readData(filePath);
|
|
29
|
+
const sheet_name_list = workbook.SheetNames;
|
|
30
|
+
sheetname = (sheetname === undefined ? sheet_name_list[0] : sheetname);
|
|
31
|
+
return xlsx_1.default.utils.sheet_to_json(workbook.Sheets[sheet_name_list[0]]);
|
|
32
|
+
// const tempTwoDimentionalArr = new Array(_.keys(excelData[0]).length);
|
|
33
|
+
// for (var i = 0; i < tempTwoDimentionalArr.length; i++) {
|
|
34
|
+
// tempTwoDimentionalArr[i] = new Array();
|
|
35
|
+
// }
|
|
36
|
+
// return _.map(excelData, function (obj) {
|
|
37
|
+
// return _.reduce(_.keys(excelData[0]), function (result, columnName, index) {
|
|
38
|
+
// tempTwoDimentionalArr[index].push(obj[columnName])
|
|
39
|
+
// result[columnName] = tempTwoDimentionalArr[index];
|
|
40
|
+
// return result;
|
|
41
|
+
// }, {})
|
|
42
|
+
// })[0];
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
static filterData(filePath, sheetName, filterObject) {
|
|
46
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
+
let fileData = yield DocumentUtility.readData(filePath);
|
|
48
|
+
return lodash_1.default.filter(xlsx_1.default.utils.sheet_to_json(fileData.Sheets[sheetName]), filterObject);
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
static updateExcelData(filePath, sheetName, exportData) {
|
|
52
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
const workbook = yield DocumentUtility.readData(filePath);
|
|
54
|
+
workbook.Sheets[sheetName] = xlsx_1.default.utils.json_to_sheet(exportData);
|
|
55
|
+
xlsx_1.default.writeFile(workbook, filePath);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
static deleteAllFilesUnderDIr(dirPath) {
|
|
59
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
60
|
+
for (const file of yield promises_1.default.readdir(dirPath)) {
|
|
61
|
+
yield promises_1.default.unlink(node_path_1.default.join(dirPath, file));
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
exports.DocumentUtility = DocumentUtility;
|
|
67
|
+
//# sourceMappingURL=document_utility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document_utility.js","sourceRoot":"","sources":["../../../src/utils/document_utility.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAwB;AACxB,oDAAuB;AACvB,gEAAkC;AAClC,0DAA6B;AAE7B,MAAa,eAAe;IAExB,MAAM,CAAO,QAAQ,CAAC,QAAgB;;YAClC,OAAO,cAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACvG,CAAC;KAAA;IAED,MAAM,CAAO,sBAAsB,CAAC,QAAgB,EAAE,SAAkB;;YACpE,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC1D,MAAM,eAAe,GAAG,QAAQ,CAAC,UAAU,CAAC;YAC5C,SAAS,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACvE,OAAO,cAAI,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAErE,wEAAwE;YACxE,2DAA2D;YAC3D,8CAA8C;YAC9C,IAAI;YACJ,2CAA2C;YAC3C,mFAAmF;YACnF,6DAA6D;YAC7D,6DAA6D;YAC7D,yBAAyB;YACzB,aAAa;YACb,SAAS;QACb,CAAC;KAAA;IAED,MAAM,CAAO,UAAU,CAAC,QAAgB,EAAE,SAAiB,EAAE,YAAoB;;YAC7E,IAAI,QAAQ,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACxD,OAAO,gBAAC,CAAC,MAAM,CAAC,cAAI,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,CAAA;QACvF,CAAC;KAAA;IAED,MAAM,CAAO,eAAe,CAAC,QAAgB,EAAE,SAAiB,EAAE,UAAyB;;YACvF,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC1D,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,cAAI,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAClE,cAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACvC,CAAC;KAAA;IAED,MAAM,CAAO,sBAAsB,CAAC,OAAe;;YAC/C,KAAK,MAAM,IAAI,IAAI,MAAM,kBAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC1C,MAAM,kBAAE,CAAC,MAAM,CAAC,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;aAC7C;QACL,CAAC;KAAA;CAGJ;AA3CD,0CA2CC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.KeyVaultMethods = void 0;
|
|
13
|
+
const api_axios_1 = require("./api_axios");
|
|
14
|
+
class KeyVaultMethods {
|
|
15
|
+
static getSecrets(secretName) {
|
|
16
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
17
|
+
var keyvault = `${process.env.subscription}conm${process.env.env}${process.env.locationshortcut}securekv`;
|
|
18
|
+
var token = yield api_axios_1.TokenGenerators.generateKeyVaultAccessToken();
|
|
19
|
+
var config = {
|
|
20
|
+
method: 'get',
|
|
21
|
+
url: `https://${keyvault}.vault.azure.net/secrets/${secretName}?api-version=2016-10-01`,
|
|
22
|
+
headers: { "Authorization": `Bearer ${token}` }
|
|
23
|
+
};
|
|
24
|
+
var response = yield api_axios_1.TokenGenerators.request(config);
|
|
25
|
+
return response.data;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.KeyVaultMethods = KeyVaultMethods;
|
|
30
|
+
//# sourceMappingURL=keyvault_methods.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyvault_methods.js","sourceRoot":"","sources":["../../../src/utils/keyvault_methods.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA6C;AAE7C,MAAa,eAAe;IAExB,MAAM,CAAO,UAAU,CAAC,UAAe;;YACnC,IAAI,QAAQ,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,UAAU,CAAA;YACzG,IAAI,KAAK,GAAG,MAAM,2BAAe,CAAC,2BAA2B,EAAE,CAAC;YAChE,IAAI,MAAM,GAAG;gBACT,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,WAAW,QAAQ,4BAA4B,UAAU,yBAAyB;gBACvF,OAAO,EAAE,EAAE,eAAe,EAAE,UAAU,KAAK,EAAE,EAAE;aAClD,CAAC;YACF,IAAI,QAAQ,GAAG,MAAM,2BAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACrD,OAAO,QAAQ,CAAC,IAAI,CAAC;QAEzB,CAAC;KAAA;CACJ;AAdD,0CAcC"}
|