//go:build unit // +build unit package reporting import ( "os" "path/filepath" "testing" "github.com/stretchr/testify/assert" ) func TestVulnerabilityReportToMarkdown(t *testing.T) { t.Parallel() t.Run("success - empty", func(t *testing.T) { t.Parallel() vulReport := VulnerabilityReport{} _, err := vulReport.ToMarkdown() assert.NoError(t, err) }) t.Run("success - filled", func(t *testing.T) { t.Parallel() vulReport := VulnerabilityReport{ BlackDuckProjectLink: "https://the.link.to.the.project.version", ProjectName: "theProjectName", ProjectVersion: "theProjectVersion", ArtifactID: "theArtifact", Branch: "main", CommitID: "acb123", Description: "This is the test description.", DependencyType: "direct", Origin: "Origin", Footer: "This is the test footer", Group: "the.group", PipelineName: "thePipelineName", PipelineLink: "https://the.link.to.the.pipeline", PublishDate: "2022-06-30", Resolution: "This is the test resolution.", Score: 7.8, Severity: "high", Version: "1.2.3", PackageURL: "pkg:generic/the.group/theArtifact@1.2.3", VulnerabilityLink: "https://the.link/to/the/vulnerability", VulnerabilityName: "CVE-Test-001", } goldenFilePath := filepath.Join("testdata", "markdownVulnerability.golden") expected, err := os.ReadFile(goldenFilePath) assert.NoError(t, err) res, err := vulReport.ToMarkdown() assert.NoError(t, err) assert.Equal(t, string(expected), string(res)) }) }