@sap_oss/wdio-qmate-service 2.6.2 → 2.6.4

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.
@@ -1,13 +1,13 @@
1
1
  export interface IErrorHandler {
2
- logException(error: Error): Promise<never>;
2
+ logException(error: unknown | Error, customErrorMessage?: string): Promise<never>;
3
3
  }
4
4
  export declare class CustomError extends Error {
5
- constructor(message: string, name: string, stack?: string);
5
+ constructor(message: string, displayStack: boolean);
6
+ private _getFormattedStackTrace;
6
7
  }
7
8
  export default class ErrorHandler implements IErrorHandler {
8
- private logStackTrace?;
9
+ private logStackTrace;
9
10
  constructor(logStackTrace?: boolean);
10
- logException(errorObject: Error): Promise<never>;
11
+ logException(errorObject: unknown | Error, customErrorMessage?: string): never;
11
12
  private _retrieveFunctionNameFromStack;
12
- private _getFormattedStackTrace;
13
13
  }
@@ -3,11 +3,27 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CustomError = void 0;
4
4
  const errorMessages_1 = require("../helper/errorMessages");
5
5
  class CustomError extends Error {
6
- constructor(message, name, stack) {
6
+ constructor(message, displayStack) {
7
7
  super(message);
8
+ this.name = this.constructor.name;
8
9
  this.message = message;
9
- this.name = name;
10
- this.stack = stack;
10
+ this.stack = displayStack ? this._getFormattedStackTrace(this.stack) : "";
11
+ }
12
+ // =================================== HELPER ===================================
13
+ _getFormattedStackTrace(stack) {
14
+ if (stack) {
15
+ var stackTrace = stack
16
+ .split("\n")
17
+ .map((line) => {
18
+ return line.includes("ErrorHandler.logException") ? "" : line;
19
+ })
20
+ .filter(Boolean)
21
+ .join("\n");
22
+ return stackTrace;
23
+ }
24
+ else {
25
+ return "";
26
+ }
11
27
  }
12
28
  }
13
29
  exports.CustomError = CustomError;
@@ -15,24 +31,26 @@ class ErrorHandler {
15
31
  constructor(logStackTrace = true) {
16
32
  this.logStackTrace = logStackTrace;
17
33
  }
18
- logException(errorObject) {
19
- if (errorObject) {
34
+ logException(errorObject, customErrorMessage) {
35
+ if (errorObject instanceof Error) {
20
36
  let functionName = this._retrieveFunctionNameFromStack(errorObject);
21
- const stackTrace = this.logStackTrace === true ? this._getFormattedStackTrace(errorObject) : "";
22
- if (errorObject.message) {
23
- throw new CustomError(errorMessages_1.ErrorMessages.customErrorWithMessage(functionName, errorObject.message), errorObject.name, stackTrace);
37
+ if (customErrorMessage) {
38
+ throw new CustomError(errorMessages_1.ErrorMessages.customErrorWithMessage(functionName, customErrorMessage), this.logStackTrace);
39
+ }
40
+ else if (errorObject.message) {
41
+ throw new CustomError(errorMessages_1.ErrorMessages.customErrorWithMessage(functionName, errorObject.message), this.logStackTrace);
24
42
  }
25
43
  else {
26
- throw new CustomError(errorMessages_1.ErrorMessages.customErrorWithoutMessage(functionName), errorObject.name, stackTrace);
44
+ throw new CustomError(errorMessages_1.ErrorMessages.customErrorWithoutMessage(functionName), this.logStackTrace);
27
45
  }
28
46
  }
29
47
  else {
30
- throw new CustomError(errorMessages_1.ErrorMessages.genericErrorMessage(), "Error");
48
+ throw new CustomError(errorMessages_1.ErrorMessages.genericErrorMessage(), this.logStackTrace);
31
49
  }
32
50
  }
33
51
  // =================================== HELPER ===================================
34
52
  _retrieveFunctionNameFromStack(errorObject) {
35
- if (errorObject.stack) {
53
+ if (errorObject instanceof Error && errorObject.stack) {
36
54
  var stackTrace = errorObject.stack.split("\n");
37
55
  const startIndex = stackTrace[1].indexOf("at") + 2;
38
56
  const endIndex = stackTrace[1].indexOf("(");
@@ -43,19 +61,6 @@ class ErrorHandler {
43
61
  return "";
44
62
  }
45
63
  }
46
- _getFormattedStackTrace(errorObject) {
47
- if (errorObject.stack) {
48
- var stackTrace = errorObject.stack
49
- .split("\n")
50
- .map((line) => line.replace(/\s+at\s+/, ""))
51
- .slice(1)
52
- .join("\n\r");
53
- return stackTrace;
54
- }
55
- else {
56
- return "";
57
- }
58
- }
59
64
  }
60
65
  exports.default = ErrorHandler;
61
66
  //# sourceMappingURL=errorHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errorHandler.js","sourceRoot":"","sources":["../../../src/reuse/helper/errorHandler.ts"],"names":[],"mappings":";;;AACA,2DAAwD;AAMxD,MAAa,WAAY,SAAQ,KAAK;IACpC,YAAY,OAAe,EAAE,IAAY,EAAE,KAAc;QACvD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAPD,kCAOC;AAED,MAAqB,YAAY;IAG/B,YAAY,gBAAyB,IAAI;QACvC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAEM,YAAY,CAAC,WAAkB;QACpC,IAAI,WAAW,EAAE;YACf,IAAI,YAAY,GAAG,IAAI,CAAC,8BAA8B,CAAC,WAAW,CAAC,CAAC;YAEpE,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAEhG,IAAI,WAAW,CAAC,OAAO,EAAE;gBACvB,MAAM,IAAI,WAAW,CAAC,6BAAa,CAAC,sBAAsB,CAAC,YAAY,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;aAC9H;iBAAM;gBACL,MAAM,IAAI,WAAW,CAAC,6BAAa,CAAC,yBAAyB,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;aAC5G;SACF;aAAM;YACL,MAAM,IAAI,WAAW,CAAC,6BAAa,CAAC,mBAAmB,EAAE,EAAE,OAAO,CAAC,CAAC;SACrE;IACH,CAAC;IAED,iFAAiF;IAEzE,8BAA8B,CAAC,WAAkB;QACvD,IAAI,WAAW,CAAC,KAAK,EAAE;YACrB,IAAI,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnD,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC5C,IAAI,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YACxE,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5E;aAAM;YACL,OAAO,EAAE,CAAC;SACX;IACH,CAAC;IAEO,uBAAuB,CAAC,WAAkB;QAChD,IAAI,WAAW,CAAC,KAAK,EAAE;YACrB,IAAI,UAAU,GAAG,WAAW,CAAC,KAAK;iBAC/B,KAAK,CAAC,IAAI,CAAC;iBACX,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;iBACnD,KAAK,CAAC,CAAC,CAAC;iBACR,IAAI,CAAC,MAAM,CAAC,CAAC;YAChB,OAAO,UAAU,CAAC;SACnB;aAAM;YACL,OAAO,EAAE,CAAC;SACX;IACH,CAAC;CACF;AAjDD,+BAiDC"}
1
+ {"version":3,"file":"errorHandler.js","sourceRoot":"","sources":["../../../src/reuse/helper/errorHandler.ts"],"names":[],"mappings":";;;AACA,2DAAwD;AAMxD,MAAa,WAAY,SAAQ,KAAK;IACpC,YAAY,OAAe,EAAE,YAAqB;QAChD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED,iFAAiF;IACzE,uBAAuB,CAAC,KAAc;QAC5C,IAAI,KAAK,EAAE;YACT,IAAI,UAAU,GAAG,KAAK;iBACnB,KAAK,CAAC,IAAI,CAAC;iBACX,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE;gBACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAChE,CAAC,CAAC;iBACD,MAAM,CAAC,OAAO,CAAC;iBACf,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,OAAO,UAAU,CAAC;SACnB;aAAM;YACL,OAAO,EAAE,CAAC;SACX;IACH,CAAC;CACF;AAvBD,kCAuBC;AAED,MAAqB,YAAY;IAG/B,YAAY,gBAAyB,IAAI;QACvC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAEM,YAAY,CAAC,WAA4B,EAAE,kBAA2B;QAC3E,IAAI,WAAW,YAAY,KAAK,EAAE;YAChC,IAAI,YAAY,GAAG,IAAI,CAAC,8BAA8B,CAAC,WAAW,CAAC,CAAC;YAEpE,IAAI,kBAAkB,EAAE;gBACtB,MAAM,IAAI,WAAW,CAAC,6BAAa,CAAC,sBAAsB,CAAC,YAAY,EAAE,kBAAkB,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;aACnH;iBAAM,IAAI,WAAW,CAAC,OAAO,EAAE;gBAC9B,MAAM,IAAI,WAAW,CAAC,6BAAa,CAAC,sBAAsB,CAAC,YAAY,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;aACpH;iBAAM;gBACL,MAAM,IAAI,WAAW,CAAC,6BAAa,CAAC,yBAAyB,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;aAClG;SACF;aAAM;YACL,MAAM,IAAI,WAAW,CAAC,6BAAa,CAAC,mBAAmB,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;SAChF;IACH,CAAC;IAED,iFAAiF;IAEzE,8BAA8B,CAAC,WAA4B;QACjE,IAAI,WAAW,YAAY,KAAK,IAAI,WAAW,CAAC,KAAK,EAAE;YACrD,IAAI,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnD,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC5C,IAAI,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YACxE,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5E;aAAM;YACL,OAAO,EAAE,CAAC;SACX;IACH,CAAC;CACF;AApCD,+BAoCC"}
@@ -3,19 +3,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ErrorMessages = void 0;
4
4
  class ErrorMessages {
5
5
  static numberFormatErrorMessage(functionName) {
6
- return `Error: Function '${functionName}' failed with : Please provide the input as number`;
6
+ return `Function '${functionName}' failed with : Please provide the input as number`;
7
7
  }
8
8
  static fileNotFoundErrorMessage(functionName) {
9
- return `Error: Function '${functionName}' failed with : Please provide the file path along with proper file extension`;
9
+ return `Function '${functionName}' failed with : Please provide the file path along with proper file extension`;
10
10
  }
11
11
  static customErrorWithMessage(functionName, message) {
12
- return `Error: Function '${functionName}' failed with : ${message}`;
12
+ return `Function '${functionName}' failed with : ${message}`;
13
13
  }
14
14
  static customErrorWithoutMessage(functionName) {
15
- return `Error: Function '${functionName}' failed with unknown error`;
15
+ return `Function '${functionName}' failed with unknown error`;
16
16
  }
17
17
  static genericErrorMessage() {
18
- return `Error: Failed due to the exception occurred at the block`;
18
+ return `Failed due to exception in block`;
19
19
  }
20
20
  }
21
21
  exports.ErrorMessages = ErrorMessages;
@@ -1 +1 @@
1
- {"version":3,"file":"errorMessages.js","sourceRoot":"","sources":["../../../src/reuse/helper/errorMessages.ts"],"names":[],"mappings":";;;AAAA,MAAa,aAAa;IACjB,MAAM,CAAC,wBAAwB,CAAC,YAAoB;QACzD,OAAO,oBAAoB,YAAY,oDAAoD,CAAC;IAC9F,CAAC;IAEM,MAAM,CAAC,wBAAwB,CAAC,YAAoB;QACzD,OAAO,oBAAoB,YAAY,+EAA+E,CAAC;IACzH,CAAC;IAEM,MAAM,CAAC,sBAAsB,CAAC,YAAoB,EAAE,OAAe;QACxE,OAAO,oBAAoB,YAAY,mBAAmB,OAAO,EAAE,CAAC;IACtE,CAAC;IAEM,MAAM,CAAC,yBAAyB,CAAC,YAAoB;QAC1D,OAAO,oBAAoB,YAAY,6BAA6B,CAAC;IACvE,CAAC;IAEM,MAAM,CAAC,mBAAmB;QAC/B,OAAO,0DAA0D,CAAC;IACpE,CAAC;CACF;AApBD,sCAoBC"}
1
+ {"version":3,"file":"errorMessages.js","sourceRoot":"","sources":["../../../src/reuse/helper/errorMessages.ts"],"names":[],"mappings":";;;AAAA,MAAa,aAAa;IACjB,MAAM,CAAC,wBAAwB,CAAC,YAAoB;QACzD,OAAO,aAAa,YAAY,oDAAoD,CAAC;IACvF,CAAC;IAEM,MAAM,CAAC,wBAAwB,CAAC,YAAoB;QACzD,OAAO,aAAa,YAAY,+EAA+E,CAAC;IAClH,CAAC;IAEM,MAAM,CAAC,sBAAsB,CAAC,YAAoB,EAAE,OAAe;QACxE,OAAO,aAAa,YAAY,mBAAmB,OAAO,EAAE,CAAC;IAC/D,CAAC;IAEM,MAAM,CAAC,yBAAyB,CAAC,YAAoB;QAC1D,OAAO,aAAa,YAAY,6BAA6B,CAAC;IAChE,CAAC;IAEM,MAAM,CAAC,mBAAmB;QAC/B,OAAO,kCAAkC,CAAC;IAC5C,CAAC;CACF;AApBD,sCAoBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/reuse/modules/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/reuse/helper/types.ts"],"names":[],"mappings":""}
@@ -1,5 +1,5 @@
1
1
  import { Element } from "../../../../@types/wdio";
2
- import { AlignmentOptions, AlignmentValues } from "../types";
2
+ import { AlignmentOptions, AlignmentValues } from "../../helper/types";
3
3
  /**
4
4
  * @class userInteraction
5
5
  * @memberof nonUi5
@@ -1,4 +1,4 @@
1
- import { AlignmentOptions, AlignmentValues } from "../types";
1
+ import { AlignmentOptions, AlignmentValues } from "../../helper/types";
2
2
  /**
3
3
  * @class userInteraction
4
4
  * @memberof ui5
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sap_oss/wdio-qmate-service",
3
- "version": "2.6.2",
3
+ "version": "2.6.4",
4
4
  "author": "SAP SE",
5
5
  "types": "./@types/index.d.ts",
6
6
  "main": "./lib/index.js",
@@ -145,14 +145,14 @@
145
145
  "@types/fs-extra": "^11.0.1",
146
146
  "@types/pdf-parse": "^1.1.1",
147
147
  "@types/xml2js": "^0.4.11",
148
- "@wdio/cli": "^8.6.9",
149
- "@wdio/local-runner": "^8.6.9",
150
- "@wdio/mocha-framework": "^8.6.8",
151
- "@wdio/sauce-service": "^8.10.1",
152
- "@wdio/selenium-standalone-service": "^8.6.8",
153
- "@wdio/shared-store-service": "^8.6.9",
154
- "@wdio/spec-reporter": "^8.6.8",
155
- "@wdio/static-server-service": "^8.6.8",
148
+ "@wdio/cli": "8.14.6",
149
+ "@wdio/local-runner": "8.14.6",
150
+ "@wdio/mocha-framework": "8.14.0",
151
+ "@wdio/sauce-service": "8.14.6",
152
+ "@wdio/selenium-standalone-service": "8.14.0",
153
+ "@wdio/shared-store-service": "8.14.6",
154
+ "@wdio/spec-reporter": "8.14.0",
155
+ "@wdio/static-server-service": "8.14.0",
156
156
  "app-root-path": "^3.1.0",
157
157
  "chai": "^4.3.4",
158
158
  "chromedriver": "^114.0.3",
@@ -2,38 +2,56 @@
2
2
 
3
3
  const ErrorHandler = require("../../../../lib/reuse/helper/errorHandler").default;
4
4
 
5
- describe("errorHandler - logException - displaying customized message without stacktrace", async function () {
5
+ describe("errorHandler - logException - error message without stacktrace", async function () {
6
6
  it("Execution & Verification", async function () {
7
7
  const errorHandler = new ErrorHandler(false);
8
- await expect(async () => {
8
+ await expect(async function display() {
9
9
  errorHandler.logException(new Error("Divide by zero error."));
10
- }).rejects.toThrow("Error: Function 'at' failed with : Divide by zero error.");
10
+ }).rejects.toThrow("Function 'display' failed with : Divide by zero error.");
11
11
  });
12
12
  });
13
13
 
14
- describe("errorHandler - logException - displaying customized message with stacktrace by passing the constructor value", async function () {
14
+ describe("errorHandler - logException - error message with stacktrace by passing constructor value true", async function () {
15
15
  const errorHandler = new ErrorHandler(true);
16
16
  it("Execution & Verification", async function () {
17
17
  await expect(async function display() {
18
18
  errorHandler.logException(new Error("File not found exception"));
19
- }).rejects.toThrow(/Error: Function 'display' failed with : File not found exception/);
19
+ }).rejects.toThrow(/Function 'display' failed with : File not found exception/);
20
20
  });
21
21
  });
22
22
 
23
- describe("errorHandler - logException - displaying customized message with stacktrace without default constructor value", async function () {
23
+ describe("errorHandler - logException - error message with stacktrace by default constructor value", async function () {
24
24
  const errorHandler = new ErrorHandler();
25
25
  it("Execution & Verification", async function () {
26
26
  await expect(async function display() {
27
27
  errorHandler.logException(new Error("Array index out of bound exception"));
28
- }).rejects.toThrow(/Error: Function 'display' failed with : Array index out of bound exception/);
28
+ }).rejects.toThrow(/Function 'display' failed with : Array index out of bound exception/);
29
29
  });
30
30
  });
31
31
 
32
- describe("errorHandler - logException - displaying generic error message", async function () {
32
+ describe("errorHandler - logException - generic error message", async function () {
33
33
  it("Execution & Verification", async function () {
34
34
  const errorHandler = new ErrorHandler(false);
35
35
  await expect(async () => {
36
36
  errorHandler.logException();
37
- }).rejects.toThrow("Error: Failed due to the exception occurred at the block");
37
+ }).rejects.toThrow("Failed due to exception in block");
38
+ });
39
+ });
40
+
41
+ describe("errorHandler - logException - Without message", async function () {
42
+ it("Execution & Verification", async function () {
43
+ const errorHandler = new ErrorHandler(false);
44
+ await expect(async function display() {
45
+ errorHandler.logException(new Error());
46
+ }).rejects.toThrow("Function 'display' failed with unknown error");
47
+ });
48
+ });
49
+
50
+ describe("errorHandler - logException - customized error message with stacktrace by having default constructor value", async function () {
51
+ const errorHandler = new ErrorHandler();
52
+ it("Execution & Verification", async function () {
53
+ await expect(async function display() {
54
+ errorHandler.logException(new Error(), "File not found in given path please pass the correct path");
55
+ }).rejects.toThrow(/Function 'display' failed with : File not found in given path please pass the correct path/);
38
56
  });
39
57
  });
File without changes
File without changes