vita-playwright 1.3.0 → 1.3.1

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 CHANGED
@@ -1,4 +1,3 @@
1
-
2
1
  # VITA Playwright Helpers
3
2
  VITA Playwright helpers are written in Typescript with playwright support and a focus on using common playwright helpers, Excel utilities and Pdf utilities.
4
3
 
@@ -80,7 +79,7 @@ const postResponse = await ApiHelper.post(url, header, payload);
80
79
  * @description: Post call with endpoint, headers and data.
81
80
  * @param {string} apiEndPoint - API end point.
82
81
  * @param {string} headers - headers contains authentication keys, application type etc..
83
- * @param {json/string} payload - payload data
82
+ * @param {string} payload - payload data
84
83
  * @returns {Promise<reponse>} - returns Promise of reponse
85
84
  */
86
85
  import { ApiHelper } from "vita-playwright";
@@ -482,7 +481,7 @@ static async auditLightHouse(pageurl: string, deviceType, filename, customThresh
482
481
  pwa: 70,
483
482
  }, format = { html: true })
484
483
 
485
- "Usage with new browser context:"
484
+ //"Usage with new browser context:"
486
485
  test("light house testing "+vurl, async ({ page }) => {
487
486
  const browser = await playwright['chromium'].launch({
488
487
  args: ['--start-maximized', '--remote-debugging-port=9222'],
@@ -494,11 +493,11 @@ static async auditLightHouse(pageurl: string, deviceType, filename, customThresh
494
493
  await LightHouseUtility.auditLightHouse(url, "desktop", url.split('/').join('_')+'.html');
495
494
  });
496
495
 
497
- "Usage with default playwright page:"
498
- Please set port in playwright.config.ts
496
+ //"Usage with default playwright page:"
497
+ //Please set port in playwright.config.ts
499
498
  args: ['--start-maximized','--remote-debugging-port=9222']
500
499
 
501
- calling auditLightHouse from test
500
+ //calling auditLightHouse from test
502
501
  test("light house testing " + url, async ({ page }) => {
503
502
  page.goto(url);
504
503
  await LightHouseUtility.auditLightHouse(url, "desktop", url.split('/').join('_')+'.html');
@@ -515,7 +514,7 @@ calling auditLightHouse from test
515
514
  */
516
515
  static async createLightHouseReport(filePath: string, sheetname: string)
517
516
 
518
- Usage:
517
+ //Usage:
519
518
  await LightHouseUtility.createLightHouseReport(process.cwd() + '/lighthouse/pages', process.cwd() + '/lighthouse/index.html', applicationName);
520
519
  ```
521
520
 
@@ -615,4 +614,4 @@ TODO: need to add Data Comparisions Utilities
615
614
  // will be added in next versions
616
615
  ```
617
616
  ## Missing Features
618
- There are many features of playwright and other node modules needs to be added.
617
+ There are many features of playwright and other node modules needs to be added.
@@ -1,3 +1,4 @@
1
1
  export declare class AzureStorageMethods {
2
2
  static getblobs(storageAccount: any, containerName: any, storageAccountKey: any, apiMethodName: string, blobFilterName?: string): Promise<any[]>;
3
+ static createBlobByUploadingData(storageAccount: string, sasToken: string, containerName: string, filepath: string, fileNameWithExtension: string): Promise<void>;
3
4
  }
@@ -14,6 +14,7 @@ var DOMParser = require('xmldom').DOMParser;
14
14
  const xmlToJson_1 = require("./xmlToJson");
15
15
  var CryptoJS = require('crypto-js');
16
16
  const api_axios_1 = require("./api_axios");
17
+ const storage_blob_1 = require("@azure/storage-blob");
17
18
  class AzureStorageMethods {
18
19
  static getblobs(storageAccount, containerName, storageAccountKey, apiMethodName, blobFilterName = "") {
19
20
  return __awaiter(this, void 0, void 0, function* () {
@@ -47,9 +48,11 @@ class AzureStorageMethods {
47
48
  var config = {
48
49
  method: apiMethod,
49
50
  url: `https://${storageAccount}.blob.core.windows.net/${containerName}?restype=container&comp=list&prefix=${blobFilterName}`,
50
- headers: { "Authorization": `SharedKey ${storageAccount}:${signatureEncoded}`,
51
+ headers: {
52
+ "Authorization": `SharedKey ${storageAccount}:${signatureEncoded}`,
51
53
  "x-ms-date": header_date,
52
- "x-ms-version": "2018-03-28" },
54
+ "x-ms-version": "2018-03-28"
55
+ },
53
56
  };
54
57
  var response = yield api_axios_1.TokenGenerators.request(config);
55
58
  var apiData = response.data;
@@ -59,7 +62,8 @@ class AzureStorageMethods {
59
62
  var newBlobs = [];
60
63
  if (blobs.length) {
61
64
  for (var i = 0; i < blobs.length; i++) {
62
- var blob = { "fileName": (blobs[i].Name['#text']).replace(blobFilterName, ""),
65
+ var blob = {
66
+ "fileName": (blobs[i].Name['#text']).replace(blobFilterName, ""),
63
67
  "modifiedTime": (Date.parse(blobs[i].Properties['Last-Modified']['#text'])),
64
68
  "status": Math.floor(Date.now() - (Date.parse(blobs[i].Properties['Last-Modified']['#text'])) / 1000) > 30 ? 1 : 0,
65
69
  };
@@ -67,7 +71,8 @@ class AzureStorageMethods {
67
71
  }
68
72
  }
69
73
  else if (blobs.fileName) {
70
- var blob = { "fileName": (blobs.Name['#text']).replace(blobFilterName, ""),
74
+ var blob = {
75
+ "fileName": (blobs.Name['#text']).replace(blobFilterName, ""),
71
76
  "modifiedTime": (Date.parse(blobs.Properties['Last-Modified']['#text'])),
72
77
  "status": Math.floor(Date.now() - (Date.parse(blobs.Properties['Last-Modified']['#text'])) / 1000) > 30 ? 1 : 0,
73
78
  };
@@ -78,6 +83,15 @@ class AzureStorageMethods {
78
83
  return newBlobs;
79
84
  });
80
85
  }
86
+ static createBlobByUploadingData(storageAccount, sasToken, containerName, filepath, fileNameWithExtension) {
87
+ return __awaiter(this, void 0, void 0, function* () {
88
+ const blobServiceClient = new storage_blob_1.BlobServiceClient("https://" + storageAccount + ".blob.core.windows.net/" + "?" + sasToken);
89
+ const containerClient = blobServiceClient.getContainerClient(containerName);
90
+ const blockBlobClient = containerClient.getBlockBlobClient(fileNameWithExtension);
91
+ const uploadBlobResponse = yield blockBlobClient.uploadFile(filepath);
92
+ console.log(`Block blob ${fileNameWithExtension} uploaded successfully`);
93
+ });
94
+ }
81
95
  }
82
96
  exports.AzureStorageMethods = AzureStorageMethods;
83
97
  //# sourceMappingURL=azure_storage_methods.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"azure_storage_methods.js","sourceRoot":"","sources":["../../../src/utils/azure_storage_methods.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"azure_storage_methods.js","sourceRoot":"","sources":["../../../src/utils/azure_storage_methods.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vita-playwright",
3
- "version": "1.3.0",
3
+ "version": "1.3.1",
4
4
  "email": "noreply_testautomation@vialto.com",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -2,13 +2,14 @@ var DOMParser = require('xmldom').DOMParser;
2
2
  import { XmlToJson } from './xmlToJson';
3
3
  var CryptoJS = require('crypto-js');
4
4
  import { TokenGenerators } from './api_axios'
5
- export class AzureStorageMethods{
6
- static async getblobs(storageAccount: any,containerName: any,storageAccountKey: any, apiMethodName: string,blobFilterName=""){
5
+ import { BlobServiceClient } from "@azure/storage-blob";
6
+ export class AzureStorageMethods {
7
+ static async getblobs(storageAccount: any, containerName: any, storageAccountKey: any, apiMethodName: string, blobFilterName = "") {
7
8
  var header_date = new Date().toUTCString();
8
9
  var apiMethod = apiMethodName.toUpperCase();
9
-
10
+
10
11
  var url = new URL(`https://${storageAccount}.blob.core.windows.net/${containerName}?restype=container&comp=list&prefix=${blobFilterName}`);
11
- const signatureParts = [apiMethod,"","","","","","","","","","",""]
12
+ const signatureParts = [apiMethod, "", "", "", "", "", "", "", "", "", "", ""]
12
13
 
13
14
 
14
15
  const canonicalHeaderParts = [];
@@ -22,7 +23,7 @@ export class AzureStorageMethods{
22
23
  // Construct CanonicalizedResource
23
24
  const canonicalResourceParts = [`/${storageAccount}${url.pathname}`];
24
25
  const canonicalQueryNames: string[] = [];
25
- url.searchParams.forEach(function(value, key) {
26
+ url.searchParams.forEach(function (value, key) {
26
27
  canonicalQueryNames.push(key.toLowerCase());
27
28
  });
28
29
  canonicalQueryNames.sort();
@@ -42,44 +43,60 @@ export class AzureStorageMethods{
42
43
  const signatureBytes = CryptoJS.HmacSHA256(signatureRaw, CryptoJS.enc.Base64.parse(storageAccountKey));
43
44
  const signatureEncoded = signatureBytes.toString(CryptoJS.enc.Base64);
44
45
 
45
- var config = {
46
- method: apiMethod,
47
- url: `https://${storageAccount}.blob.core.windows.net/${containerName}?restype=container&comp=list&prefix=${blobFilterName}`,
48
- headers: { "Authorization": `SharedKey ${storageAccount}:${signatureEncoded}` ,
49
- "x-ms-date": header_date,
50
- "x-ms-version": "2018-03-28"},
51
- };
52
-
53
- var response = await TokenGenerators.request(config);
54
- var apiData = response.data
55
- var XmlNode = new DOMParser().parseFromString(apiData, 'text/xml');
46
+ var config = {
47
+ method: apiMethod,
48
+ url: `https://${storageAccount}.blob.core.windows.net/${containerName}?restype=container&comp=list&prefix=${blobFilterName}`,
49
+ headers: {
50
+ "Authorization": `SharedKey ${storageAccount}:${signatureEncoded}`,
51
+ "x-ms-date": header_date,
52
+ "x-ms-version": "2018-03-28"
53
+ },
54
+ };
55
+
56
+ var response = await TokenGenerators.request(config);
57
+ var apiData = response.data
58
+ var XmlNode = new DOMParser().parseFromString(apiData, 'text/xml');
56
59
  var jsonObj = await XmlToJson.xmlToJson(XmlNode);
57
60
  var blobs = jsonObj.EnumerationResults.Blobs.Blob;
58
61
  var newBlobs = [];
59
62
  if (blobs.length) {
60
- for (var i = 0; i < blobs.length; i++){
61
- var blob = {"fileName": (blobs[i].Name['#text']).replace(blobFilterName,""),
62
- "modifiedTime": (Date.parse(blobs[i].Properties['Last-Modified']['#text'])),
63
- "status": Math.floor(Date.now() - (Date.parse(blobs[i].Properties['Last-Modified']['#text']))/1000) > 30 ? 1 : 0,
64
- }
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
+ }
65
69
  newBlobs.push(blob)
66
70
  }
67
- } else if(blobs.fileName){
68
- var blob = {"fileName": (blobs.Name['#text']).replace(blobFilterName,""),
69
- "modifiedTime": (Date.parse(blobs.Properties['Last-Modified']['#text'])),
70
- "status": Math.floor(Date.now() - (Date.parse(blobs.Properties['Last-Modified']['#text']))/1000) > 30 ? 1 : 0,
71
- }
71
+ } else if (blobs.fileName) {
72
+ var blob = {
73
+ "fileName": (blobs.Name['#text']).replace(blobFilterName, ""),
74
+ "modifiedTime": (Date.parse(blobs.Properties['Last-Modified']['#text'])),
75
+ "status": Math.floor(Date.now() - (Date.parse(blobs.Properties['Last-Modified']['#text'])) / 1000) > 30 ? 1 : 0,
76
+ }
72
77
  newBlobs.push(blob)
73
78
  }
74
-
75
- newBlobs.sort((a,b)=> a.fileName > b.fileName ? 1 : ((b.fileName > a.fileName) ? -1 : 0 ))
79
+
80
+ newBlobs.sort((a, b) => a.fileName > b.fileName ? 1 : ((b.fileName > a.fileName) ? -1 : 0))
76
81
  newBlobs.sort((a, b) => a.modifiedTime < b.modifiedTime ? 1 : ((b.modifiedTime < a.modifiedTime) ? -1 : 0))
77
-
82
+
78
83
  return newBlobs;
79
84
  }
80
85
 
81
-
82
-
83
-
84
-
86
+ static async createBlobByUploadingData(storageAccount: string, sasToken: string, containerName: string, filepath: string, fileNameWithExtension: string) {
87
+
88
+ const blobServiceClient = new BlobServiceClient(
89
+ "https://" + storageAccount + ".blob.core.windows.net/" + "?" + sasToken
90
+ );
91
+ const containerClient = blobServiceClient.getContainerClient(containerName);
92
+
93
+ const blockBlobClient = containerClient.getBlockBlobClient(fileNameWithExtension);
94
+
95
+ const uploadBlobResponse = await blockBlobClient.uploadFile(filepath);
96
+
97
+ console.log(`Block blob ${fileNameWithExtension} uploaded successfully`);
98
+ }
99
+
100
+
101
+
85
102
  }