Skip to content

Commit 25cab11

Browse files
committed
fix: populate results_url
1 parent 5b33c79 commit 25cab11

File tree

7 files changed

+37
-9
lines changed

7 files changed

+37
-9
lines changed

jfrog/client.go

+6
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import (
1717

1818
type Client interface {
1919
ScanResults(img Image) (ScanResult, error)
20+
ResultsURL(img Image, packageID string) string
2021
}
2122

2223
type client struct {
@@ -55,6 +56,7 @@ type securityResultsPayload struct {
5556
type ScanResult struct {
5657
Version string `json:"version"`
5758
SecurityIssues SecurityIssues `json:"sec_issues"`
59+
PackageID string `json:"package_id"`
5860
}
5961

6062
type SecurityIssues struct {
@@ -98,6 +100,10 @@ type Image struct {
98100
Version string
99101
}
100102

103+
func (c *client) ResultsURL(img Image, packageID string) string {
104+
return fmt.Sprintf("%s/ui/scans-list/packages-scans/%s/%s/scan-descendants/%s?package_id=%s&version=%s", c.baseURL, img.Repo, img.Package, img.Version, packageID, img.Version)
105+
}
106+
101107
func ParseImage(image string) (Image, error) {
102108
tag, err := name.NewTag(image)
103109
if err != nil {

jfrog/doc.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
// artifactory instance.
33
package jfrog
44

5-
//go:generate mockgen -destination ./mock.go -package jfrog github.com/coder/xray/jfrog Client
5+
//go:generate mockgen -destination ./mock.go -package jfrog github.com/coder/coder-xray/jfrog Client

jfrog/mock.go

+16-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

reporter/codermock.go

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

reporter/doc.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
// and uploading results to a Coder deployment.
33
package reporter
44

5-
//go:generate mockgen -destination ./codermock.go -package reporter github.com/coder/xray/reporter CoderClient
5+
//go:generate mockgen -destination ./codermock.go -package reporter github.com/coder/coder-xray/reporter CoderClient

reporter/reporter.go

+1
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ func (k *K8sReporter) Init(ctx context.Context) error {
9999
Critical: scan.SecurityIssues.Critical,
100100
High: scan.SecurityIssues.High,
101101
Medium: scan.SecurityIssues.Medium,
102+
ResultsURL: k.JFrogClient.ResultsURL(image, scan.PackageID),
102103
}
103104
err = k.CoderClient.PostJFrogXrayScan(ctx, req)
104105
if err != nil {

reporter/reporter_test.go

+10-3
Original file line numberDiff line numberDiff line change
@@ -45,19 +45,26 @@ func TestK8SReporter(t *testing.T) {
4545
resultsCh = make(chan codersdk.JFrogXrayScan)
4646
)
4747

48-
jfrogClient.EXPECT().ScanResults(jfrog.Image{
48+
img := jfrog.Image{
4949
Repo: "my-repo",
5050
Package: "ubuntu",
5151
Version: "22.04",
52-
}).Return(jfrog.ScanResult{
52+
}
53+
54+
xrayResult := jfrog.ScanResult{
5355
Version: "22.04",
5456
SecurityIssues: jfrog.SecurityIssues{
5557
Critical: expectedCrit,
5658
High: expectedHigh,
5759
Medium: expectedMedium,
5860
Total: expectedCrit + expectedHigh + expectedMedium,
5961
},
60-
}, nil)
62+
PackageID: "docker://my-repo/ubuntu",
63+
}
64+
65+
jfrogClient.EXPECT().ScanResults(img).Return(xrayResult, nil)
66+
67+
jfrogClient.EXPECT().ResultsURL(img, xrayResult.PackageID)
6168

6269
coderClient.EXPECT().AgentManifest(ctx, expectedAgentToken).Return(agentsdk.Manifest{
6370
WorkspaceID: expectedWorkspaceID,

0 commit comments

Comments
 (0)