@soos-io/api-client
Advanced tools
Comparing version
@@ -1,2 +0,2 @@ | ||
import { OnFailure, ScanStatus, ScanType } from "./enums"; | ||
import { IntegrationName, OnFailure, ScanStatus, ScanType } from "./enums"; | ||
import { IIssuesModel } from "./api/SOOSAnalysisApiClient"; | ||
@@ -13,3 +13,3 @@ declare const isNil: (value: unknown) => value is null | undefined; | ||
declare const formatBytes: (bytes: number, decimals?: number) => string; | ||
declare const getAnalysisExitCodeWithMessage: (scanStatus: ScanStatus, onFailure: OnFailure) => { | ||
declare const getAnalysisExitCodeWithMessage: (scanStatus: ScanStatus, integrationName: IntegrationName, onFailure: OnFailure) => { | ||
exitCode: number; | ||
@@ -16,0 +16,0 @@ message: string; |
@@ -102,6 +102,6 @@ "use strict"; | ||
exports.formatBytes = formatBytes; | ||
const getAnalysisExitCodeWithMessage = (scanStatus, onFailure) => { | ||
const getAnalysisExitCodeWithMessage = (scanStatus, integrationName, onFailure) => { | ||
if (scanStatus === enums_1.ScanStatus.FailedWithIssues) { | ||
return { | ||
exitCode: onFailure === enums_1.OnFailure.Fail ? 1 : 0, | ||
exitCode: onFailure === enums_1.OnFailure.Fail ? 1 : integrationName === enums_1.IntegrationName.AzureDevOps ? 2 : 0, | ||
message: "Analysis Complete. Issues reported.", | ||
@@ -112,3 +112,3 @@ }; | ||
return { | ||
exitCode: onFailure === enums_1.OnFailure.Fail ? 1 : 0, | ||
exitCode: onFailure === enums_1.OnFailure.Fail ? 1 : integrationName === enums_1.IntegrationName.AzureDevOps ? 2 : 0, | ||
message: "Analysis Incomplete. It may have been cancelled or superseded by another scan.", | ||
@@ -115,0 +115,0 @@ }; |
@@ -66,25 +66,41 @@ "use strict"; | ||
test("should return 0 on finished with continue", () => { | ||
expect((0, utilities_1.getAnalysisExitCodeWithMessage)(enums_1.ScanStatus.Finished, enums_1.OnFailure.Continue).exitCode).toBe(0); | ||
expect((0, utilities_1.getAnalysisExitCodeWithMessage)(enums_1.ScanStatus.Finished, enums_1.IntegrationName.SoosCsa, enums_1.OnFailure.Continue).exitCode).toBe(0); | ||
}); | ||
test("should return 0 on finished with fail", () => { | ||
expect((0, utilities_1.getAnalysisExitCodeWithMessage)(enums_1.ScanStatus.Finished, enums_1.OnFailure.Fail).exitCode).toBe(0); | ||
expect((0, utilities_1.getAnalysisExitCodeWithMessage)(enums_1.ScanStatus.Finished, enums_1.IntegrationName.SoosSca, enums_1.OnFailure.Fail) | ||
.exitCode).toBe(0); | ||
}); | ||
test("should return 0 for an Incomplete status with continue", () => { | ||
expect((0, utilities_1.getAnalysisExitCodeWithMessage)(enums_1.ScanStatus.Incomplete, enums_1.OnFailure.Continue).exitCode).toBe(0); | ||
expect((0, utilities_1.getAnalysisExitCodeWithMessage)(enums_1.ScanStatus.Incomplete, enums_1.IntegrationName.SoosSca, enums_1.OnFailure.Continue).exitCode).toBe(0); | ||
}); | ||
test("should return 1 for an Incomplete status with fail", () => { | ||
expect((0, utilities_1.getAnalysisExitCodeWithMessage)(enums_1.ScanStatus.Incomplete, enums_1.OnFailure.Fail).exitCode).toBe(1); | ||
expect((0, utilities_1.getAnalysisExitCodeWithMessage)(enums_1.ScanStatus.Incomplete, enums_1.IntegrationName.SoosSca, enums_1.OnFailure.Fail) | ||
.exitCode).toBe(1); | ||
}); | ||
test("should return 0 for an Error status with continue", () => { | ||
expect((0, utilities_1.getAnalysisExitCodeWithMessage)(enums_1.ScanStatus.Error, enums_1.OnFailure.Continue).exitCode).toBe(0); | ||
expect((0, utilities_1.getAnalysisExitCodeWithMessage)(enums_1.ScanStatus.Error, enums_1.IntegrationName.SoosSca, enums_1.OnFailure.Continue) | ||
.exitCode).toBe(0); | ||
}); | ||
test("should return 1 for an Error status with fail", () => { | ||
expect((0, utilities_1.getAnalysisExitCodeWithMessage)(enums_1.ScanStatus.Error, enums_1.OnFailure.Fail).exitCode).toBe(1); | ||
expect((0, utilities_1.getAnalysisExitCodeWithMessage)(enums_1.ScanStatus.Error, enums_1.IntegrationName.SoosSca, enums_1.OnFailure.Fail) | ||
.exitCode).toBe(1); | ||
}); | ||
test("should return 0 for a FailedWithIssues status with continue", () => { | ||
expect((0, utilities_1.getAnalysisExitCodeWithMessage)(enums_1.ScanStatus.FailedWithIssues, enums_1.OnFailure.Continue).exitCode).toBe(0); | ||
expect((0, utilities_1.getAnalysisExitCodeWithMessage)(enums_1.ScanStatus.FailedWithIssues, enums_1.IntegrationName.SoosSca, enums_1.OnFailure.Continue).exitCode).toBe(0); | ||
}); | ||
test("should return 1 for a FailedWithIssues status with fail", () => { | ||
expect((0, utilities_1.getAnalysisExitCodeWithMessage)(enums_1.ScanStatus.FailedWithIssues, enums_1.OnFailure.Fail).exitCode).toBe(1); | ||
expect((0, utilities_1.getAnalysisExitCodeWithMessage)(enums_1.ScanStatus.FailedWithIssues, enums_1.IntegrationName.SoosSca, enums_1.OnFailure.Fail).exitCode).toBe(1); | ||
}); | ||
test("should return 2 for a FailedWithIssues status with continue when DevOps", () => { | ||
expect((0, utilities_1.getAnalysisExitCodeWithMessage)(enums_1.ScanStatus.FailedWithIssues, enums_1.IntegrationName.AzureDevOps, enums_1.OnFailure.Continue).exitCode).toBe(2); | ||
}); | ||
test("should return 1 for a FailedWithIssues status with fail when DevOps", () => { | ||
expect((0, utilities_1.getAnalysisExitCodeWithMessage)(enums_1.ScanStatus.FailedWithIssues, enums_1.IntegrationName.AzureDevOps, enums_1.OnFailure.Fail).exitCode).toBe(1); | ||
}); | ||
test("should return 2 for an Incomplete status with continue when DevOps", () => { | ||
expect((0, utilities_1.getAnalysisExitCodeWithMessage)(enums_1.ScanStatus.Incomplete, enums_1.IntegrationName.AzureDevOps, enums_1.OnFailure.Continue).exitCode).toBe(2); | ||
}); | ||
test("should return 1 for an Incomplete status with fail when DevOps", () => { | ||
expect((0, utilities_1.getAnalysisExitCodeWithMessage)(enums_1.ScanStatus.Incomplete, enums_1.IntegrationName.AzureDevOps, enums_1.OnFailure.Fail).exitCode).toBe(1); | ||
}); | ||
}); |
{ | ||
"name": "@soos-io/api-client", | ||
"version": "0.2.26-pre.2", | ||
"version": "0.2.26-pre.3", | ||
"description": "This is the SOOS API Client for registered clients leveraging the various integrations to the SOOS platform.", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
81430
2.01%1751
0.92%