From 76f9ed9cd970c7966bad0d18ebbe01ff6e88a139 Mon Sep 17 00:00:00 2001 From: "Fotis Koutoulakis (@NlightNFotis)" Date: Thu, 27 Mar 2025 15:17:33 +0000 Subject: [PATCH] test: add tests to validate getActionsStatus' behaviour --- lib/status-report.test.js | 10 ++++++ lib/status-report.test.js.map | 2 +- src/status-report.test.ts | 61 +++++++++++++++++++++++++++++++++-- 3 files changed, 70 insertions(+), 3 deletions(-) diff --git a/lib/status-report.test.js b/lib/status-report.test.js index 898e87243..2f0b9c827 100644 --- a/lib/status-report.test.js +++ b/lib/status-report.test.js @@ -109,4 +109,14 @@ function setupEnvironmentAndStub(tmpDir) { t.is((await (0, status_report_1.createStatusReportBase)(status_report_1.ActionName.Analyze, "failure", new Date("May 19, 2023 05:19:00"), (0, testing_utils_1.createTestConfig)({}), { numAvailableBytes: 100, numTotalBytes: 500 }, (0, logging_1.getRunnerLogger)(false), "failure cause", "exception stack trace"))?.first_party_analysis, true); }); }); +(0, ava_1.default)("getActionStatus handling correctly various types of errors", (t) => { + t.is((0, status_report_1.getActionsStatus)(new Error("arbitrary error")), "failure", "We categorise an arbitrary error as a failure"); + t.is((0, status_report_1.getActionsStatus)(new util_1.ConfigurationError("arbitrary error")), "user-error", "We categorise a ConfigurationError as a user error"); + t.is((0, status_report_1.getActionsStatus)(new Error("exit code 1"), "multiple things went wrong"), "failure", "getActionsStatus should return failure if passed an arbitrary error and an additional failure cause"); + t.is((0, status_report_1.getActionsStatus)(new util_1.ConfigurationError("exit code 1"), "multiple things went wrong"), "user-error", "getActionsStatus should return failure if passed a configuration error and an additional failure cause"); + t.is((0, status_report_1.getActionsStatus)(), "success", "getActionsStatus should return success if no error is passed"); + t.is((0, status_report_1.getActionsStatus)(new Object()), "failure", "getActionsStatus should return failure if passed an arbitrary object"); + t.is((0, status_report_1.getActionsStatus)(null, "an error occurred"), "failure", "getActionsStatus should return failure if passed null and an additional failure cause"); + t.is((0, status_report_1.getActionsStatus)((0, util_1.wrapError)(new util_1.ConfigurationError("arbitrary error"))), "user-error", "We still recognise a wrapped ConfigurationError as a user error"); +}); //# sourceMappingURL=status-report.test.js.map \ No newline at end of file diff --git a/lib/status-report.test.js.map b/lib/status-report.test.js.map index 0217f4634..e229e8535 100644 --- a/lib/status-report.test.js.map +++ b/lib/status-report.test.js.map @@ -1 +1 @@ -{"version":3,"file":"status-report.test.js","sourceRoot":"","sources":["../src/status-report.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAuB;AACvB,6CAA+B;AAE/B,4DAA8C;AAC9C,+CAAuC;AACvC,2CAAuC;AACvC,uCAA4C;AAC5C,mDAAqE;AACrE,mDAIyB;AACzB,iCAA+C;AAE/C,IAAA,0BAAU,EAAC,aAAI,CAAC,CAAC;AAEjB,SAAS,uBAAuB,CAAC,MAAc;IAC7C,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,GAAG,cAAc,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,iBAAiB,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,oBAAoB,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,GAAG,GAAG,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,cAAc,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC;IAEpC,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;IACrE,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AAC/D,CAAC;AAED,IAAA,aAAI,EAAC,wBAAwB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACzC,MAAM,IAAA,iBAAU,EAAC,KAAK,EAAE,MAAc,EAAE,EAAE;QACxC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAEhC,MAAM,YAAY,GAAG,MAAM,IAAA,sCAAsB,EAC/C,0BAAU,CAAC,IAAI,EACf,SAAS,EACT,IAAI,IAAI,CAAC,uBAAuB,CAAC,EACjC,IAAA,gCAAgB,EAAC;YACf,SAAS,EAAE,gBAAS,CAAC,IAAI;YACzB,SAAS,EAAE,CAAC,oBAAQ,CAAC,IAAI,EAAE,oBAAQ,CAAC,KAAK,CAAC;SAC3C,CAAC,EACF,EAAE,iBAAiB,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,EAC9C,IAAA,yBAAe,EAAC,KAAK,CAAC,EACtB,eAAe,EACf,uBAAuB,CACxB,CAAC;QACF,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAEvB,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,0BAAU,CAAC,IAAI,CAAC,CAAC;YAChD,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YACzC,CAAC,CAAC,EAAE,CAAC,OAAO,YAAY,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;YACnD,CAAC,CAAC,EAAE,CACF,YAAY,CAAC,iBAAiB,EAC9B,IAAI,IAAI,CAAC,uBAAuB,CAAC,CAAC,WAAW,EAAE,CAChD,CAAC;YACF,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;YACjD,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;YAChD,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,gBAAS,CAAC,IAAI,CAAC,CAAC;YAC9C,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;YAC1C,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC,CAAC;YAC1D,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;YACtD,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7D,CAAC,CAAC,EAAE,CAAC,OAAO,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YACjD,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YAC3C,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC,CAAC;YACnD,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAC;YAC1D,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,oBAAoB,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;YACrE,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC,CAAC;YACxD,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,mBAAmB,CAAE,CAAC,CAAC;YACxE,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACrC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;YACrD,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;YACvE,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;YAC3C,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,mCAAmC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACpD,MAAM,IAAA,iBAAU,EAAC,KAAK,EAAE,MAAc,EAAE,EAAE;QACxC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAEhC,CAAC,CAAC,EAAE,CACF,CACE,MAAM,IAAA,sCAAsB,EAC1B,0BAAU,CAAC,WAAW,EACtB,SAAS,EACT,IAAI,IAAI,CAAC,uBAAuB,CAAC,EACjC,IAAA,gCAAgB,EAAC,EAAE,CAAC,EACpB,EAAE,iBAAiB,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,EAC9C,IAAA,yBAAe,EAAC,KAAK,CAAC,EACtB,eAAe,EACf,uBAAuB,CACxB,CACF,EAAE,oBAAoB,EACvB,KAAK,CACN,CAAC;QAEF,CAAC,CAAC,EAAE,CACF,CACE,MAAM,IAAA,sCAAsB,EAC1B,0BAAU,CAAC,SAAS,EACpB,SAAS,EACT,IAAI,IAAI,CAAC,uBAAuB,CAAC,EACjC,IAAA,gCAAgB,EAAC,EAAE,CAAC,EACpB,EAAE,iBAAiB,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,EAC9C,IAAA,yBAAe,EAAC,KAAK,CAAC,EACtB,eAAe,EACf,uBAAuB,CACxB,CACF,EAAE,oBAAoB,EACvB,IAAI,CACL,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,GAAG,QAAQ,CAAC;QACrD,CAAC,CAAC,EAAE,CACF,CACE,MAAM,IAAA,sCAAsB,EAC1B,0BAAU,CAAC,WAAW,EACtB,SAAS,EACT,IAAI,IAAI,CAAC,uBAAuB,CAAC,EACjC,IAAA,gCAAgB,EAAC,EAAE,CAAC,EACpB,EAAE,iBAAiB,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,EAC9C,IAAA,yBAAe,EAAC,KAAK,CAAC,EACtB,eAAe,EACf,uBAAuB,CACxB,CACF,EAAE,oBAAoB,EACvB,KAAK,CACN,CAAC;QAEF,CAAC,CAAC,EAAE,CACF,CACE,MAAM,IAAA,sCAAsB,EAC1B,0BAAU,CAAC,IAAI,EACf,SAAS,EACT,IAAI,IAAI,CAAC,uBAAuB,CAAC,EACjC,IAAA,gCAAgB,EAAC,EAAE,CAAC,EACpB,EAAE,iBAAiB,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,EAC9C,IAAA,yBAAe,EAAC,KAAK,CAAC,EACtB,eAAe,EACf,uBAAuB,CACxB,CACF,EAAE,oBAAoB,EACvB,IAAI,CACL,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,GAAG,MAAM,CAAC;QACnD,CAAC,CAAC,EAAE,CACF,CACE,MAAM,IAAA,sCAAsB,EAC1B,0BAAU,CAAC,WAAW,EACtB,SAAS,EACT,IAAI,IAAI,CAAC,uBAAuB,CAAC,EACjC,IAAA,gCAAgB,EAAC,EAAE,CAAC,EACpB,EAAE,iBAAiB,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,EAC9C,IAAA,yBAAe,EAAC,KAAK,CAAC,EACtB,eAAe,EACf,uBAAuB,CACxB,CACF,EAAE,oBAAoB,EACvB,IAAI,CACL,CAAC;QAEF,CAAC,CAAC,EAAE,CACF,CACE,MAAM,IAAA,sCAAsB,EAC1B,0BAAU,CAAC,OAAO,EAClB,SAAS,EACT,IAAI,IAAI,CAAC,uBAAuB,CAAC,EACjC,IAAA,gCAAgB,EAAC,EAAE,CAAC,EACpB,EAAE,iBAAiB,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,EAC9C,IAAA,yBAAe,EAAC,KAAK,CAAC,EACtB,eAAe,EACf,uBAAuB,CACxB,CACF,EAAE,oBAAoB,EACvB,IAAI,CACL,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"status-report.test.js","sourceRoot":"","sources":["../src/status-report.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/status-report.test.ts b/src/status-report.test.ts index 31254df19..b72e2de8d 100644 --- a/src/status-report.test.ts +++ b/src/status-report.test.ts @@ -5,13 +5,17 @@ import * as actionsUtil from "./actions-util"; import { EnvVar } from "./environment"; import { Language } from "./languages"; import { getRunnerLogger } from "./logging"; -import { ActionName, createStatusReportBase } from "./status-report"; +import { + ActionName, + createStatusReportBase, + getActionsStatus, +} from "./status-report"; import { setupTests, setupActionsVars, createTestConfig, } from "./testing-utils"; -import { BuildMode, withTmpDir } from "./util"; +import { BuildMode, ConfigurationError, withTmpDir, wrapError } from "./util"; setupTests(test); @@ -186,3 +190,56 @@ test("createStatusReportBase_firstParty", async (t) => { ); }); }); + +test("getActionStatus handling correctly various types of errors", (t) => { + t.is( + getActionsStatus(new Error("arbitrary error")), + "failure", + "We categorise an arbitrary error as a failure", + ); + + t.is( + getActionsStatus(new ConfigurationError("arbitrary error")), + "user-error", + "We categorise a ConfigurationError as a user error", + ); + + t.is( + getActionsStatus(new Error("exit code 1"), "multiple things went wrong"), + "failure", + "getActionsStatus should return failure if passed an arbitrary error and an additional failure cause", + ); + + t.is( + getActionsStatus( + new ConfigurationError("exit code 1"), + "multiple things went wrong", + ), + "user-error", + "getActionsStatus should return failure if passed a configuration error and an additional failure cause", + ); + + t.is( + getActionsStatus(), + "success", + "getActionsStatus should return success if no error is passed", + ); + + t.is( + getActionsStatus(new Object()), + "failure", + "getActionsStatus should return failure if passed an arbitrary object", + ); + + t.is( + getActionsStatus(null, "an error occurred"), + "failure", + "getActionsStatus should return failure if passed null and an additional failure cause", + ); + + t.is( + getActionsStatus(wrapError(new ConfigurationError("arbitrary error"))), + "user-error", + "We still recognise a wrapped ConfigurationError as a user error", + ); +});