From 68111387f341709ac52ef158367465d4d623f3f8 Mon Sep 17 00:00:00 2001 From: Teodora Sandu Date: Fri, 6 May 2022 14:34:38 +0100 Subject: [PATCH] test: add unit test that shows failure --- .../formatters/iac-output/v1/index.spec.ts | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/test/jest/unit/lib/formatters/iac-output/v1/index.spec.ts b/test/jest/unit/lib/formatters/iac-output/v1/index.spec.ts index 31a81a34738..ed31c30aeb2 100644 --- a/test/jest/unit/lib/formatters/iac-output/v1/index.spec.ts +++ b/test/jest/unit/lib/formatters/iac-output/v1/index.spec.ts @@ -2,6 +2,7 @@ import { createSarifOutputForIac, shareResultsOutput, } from '../../../../../../../src/lib/formatters/iac-output'; +import * as iacOutputUtils from '../../../../../../../src/lib/formatters/iac-output/v1/utils'; import { IacTestResponse, AnnotatedIacIssue, @@ -108,6 +109,26 @@ describe('createSarifOutputForIac', () => { }); expect(location?.physicalLocation?.region).not.toBeDefined(); }); + + it('uses the base path if git not present', () => { + const getRepoRootSpy = jest.spyOn(iacOutputUtils, 'getRepoRoot'); + getRepoRootSpy.mockImplementation(() => { + throw new Error(); + }); + + const issue = createResponseIssue(SEVERITY.HIGH, { lineNumber: undefined }); + const sarif = createSarifOutputForIac([issue]); + + expect( + sarif.runs?.[0]?.originalUriBaseIds?.PROJECTROOT?.uri?.endsWith('snyk/'), + ).toBeTruthy(); + const location = sarif.runs?.[0]?.results?.[0]?.locations?.[0]; + expect(location?.physicalLocation?.artifactLocation).toEqual({ + uri: 'target_file.tf', + uriBaseId: 'PROJECTROOT', + }); + expect(location?.physicalLocation?.region).not.toBeDefined(); + }); }); describe('shareResultsOutput', () => {