Skip to content

Commit 9b3c5bc

Browse files
committed
chore: update func options for analyze functions
1 parent 0efa38d commit 9b3c5bc

File tree

4 files changed

+34
-37
lines changed

4 files changed

+34
-37
lines changed

internal/analysis/analysis.go

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,12 @@ type AnalysisOrchestrator interface {
5252
RunAnalysis(ctx context.Context, orgId string, rootPath string, workspaceId string) (*sarif.SarifResponse, error)
5353
RunIncrementalAnalysis(ctx context.Context, orgId string, rootPath string, workspaceId string, limitToFiles []string) (*sarif.SarifResponse, error)
5454

55-
RunTest(ctx context.Context, orgId string, b bundle.Bundle, target scan.Target, reportingOptions ReportingConfig) (*sarif.SarifResponse, error)
56-
RunTestRemote(ctx context.Context, orgId string, interactionId string, reportingOptions ReportingConfig) (*sarif.SarifResponse, error)
55+
RunTest(ctx context.Context, orgId string, b bundle.Bundle, target scan.Target, reportingOptions AnalysisConfig) (*sarif.SarifResponse, error)
56+
RunTestRemote(ctx context.Context, orgId string, interactionId string, reportingOptions AnalysisConfig) (*sarif.SarifResponse, error)
5757
}
5858

59-
type ReportingConfig struct {
60-
Report *bool
59+
type AnalysisConfig struct {
60+
Report bool
6161
ProjectName *string
6262
TargetName *string
6363
ProjectId *uuid.UUID
@@ -485,7 +485,7 @@ func (a *analysisOrchestrator) host(isHidden bool) string {
485485
return fmt.Sprintf("%s/%s", apiUrl, path)
486486
}
487487

488-
func (a *analysisOrchestrator) RunTest(ctx context.Context, orgId string, b bundle.Bundle, target scan.Target, reportingConfig ReportingConfig) (*sarif.SarifResponse, error) {
488+
func (a *analysisOrchestrator) RunTest(ctx context.Context, orgId string, b bundle.Bundle, target scan.Target, reportingConfig AnalysisConfig) (*sarif.SarifResponse, error) {
489489
tracker := a.trackerFactory.GenerateTracker()
490490
tracker.Begin("Snyk Code analysis for "+target.GetPath(), "Retrieving results...")
491491

@@ -508,7 +508,7 @@ func (a *analysisOrchestrator) RunTest(ctx context.Context, orgId string, b bund
508508
testApi.WithScanType(a.testType),
509509
testApi.WithProjectName(reportingConfig.ProjectName),
510510
testApi.WithTargetName(reportingConfig.TargetName),
511-
testApi.WithReporting(reportingConfig.Report),
511+
testApi.WithReporting(&reportingConfig.Report),
512512
)
513513

514514
// create test
@@ -540,7 +540,7 @@ func (a *analysisOrchestrator) RunTest(ctx context.Context, orgId string, b bund
540540
}
541541
}
542542

543-
func (a *analysisOrchestrator) RunTestRemote(ctx context.Context, orgId string, interactionId string, cfg ReportingConfig) (*sarif.SarifResponse, error) {
543+
func (a *analysisOrchestrator) RunTestRemote(ctx context.Context, orgId string, interactionId string, cfg AnalysisConfig) (*sarif.SarifResponse, error) {
544544
tracker := a.trackerFactory.GenerateTracker()
545545
tracker.Begin("Snyk Code analysis for remote project", "Retrieving results...")
546546

@@ -562,10 +562,9 @@ func (a *analysisOrchestrator) RunTestRemote(ctx context.Context, orgId string,
562562
legacyScmProject := testApi.NewTestInputLegacyScmProject(*projectId, *commitId)
563563
body := testApi.NewCreateTestApplicationBody(
564564
testApi.WithInputLegacyScmProject(legacyScmProject),
565-
testApi.WithReporting(cfg.Report),
565+
testApi.WithReporting(&cfg.Report),
566566
testApi.WithScanType(a.testType),
567567
testApi.WithProjectId(*projectId),
568-
569568
)
570569
// create test
571570
bodyBytes, err := json.Marshal(body)

internal/analysis/analysis_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -784,10 +784,10 @@ func TestAnalysis_RunTestRemote(t *testing.T) {
784784
context.Background(),
785785
"4a72d1db-b465-4764-99e1-ecedad03b06a",
786786
"b372d1db-b465-4764-99e1-ecedad03b06a",
787-
analysis.ReportingConfig{
787+
analysis.AnalysisConfig{
788788
ProjectId: &projectId,
789789
CommitId: &commitId,
790-
Report: &report,
790+
Report: report,
791791
},
792792
)
793793

@@ -816,7 +816,7 @@ func TestAnalysis_RunTestRemote_MissingRequiredParams(t *testing.T) {
816816
context.Background(),
817817
"4a72d1db-b465-4764-99e1-ecedad03b06a",
818818
"b372d1db-b465-4764-99e1-ecedad03b06a",
819-
analysis.ReportingConfig{},
819+
analysis.AnalysisConfig{},
820820
)
821821

822822
assert.Error(t, err)
@@ -830,7 +830,7 @@ func TestAnalysis_RunTestRemote_MissingRequiredParams(t *testing.T) {
830830
context.Background(),
831831
"4a72d1db-b465-4764-99e1-ecedad03b06a",
832832
"b372d1db-b465-4764-99e1-ecedad03b06a",
833-
analysis.ReportingConfig{
833+
analysis.AnalysisConfig{
834834
CommitId: &commitId,
835835
},
836836
)
@@ -846,7 +846,7 @@ func TestAnalysis_RunTestRemote_MissingRequiredParams(t *testing.T) {
846846
context.Background(),
847847
"4a72d1db-b465-4764-99e1-ecedad03b06a",
848848
"b372d1db-b465-4764-99e1-ecedad03b06a",
849-
analysis.ReportingConfig{
849+
analysis.AnalysisConfig{
850850
ProjectId: &projectId,
851851
},
852852
)

internal/analysis/mocks/analysis.go

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

scan.go

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ type CodeScanner interface {
5454
target scan.Target,
5555
files <-chan string,
5656
changedFiles map[string]bool,
57-
options ...ReportingOption,
57+
options ...AnalysisOption,
5858
) (*sarif.SarifResponse, string, error)
5959
}
6060

@@ -97,23 +97,21 @@ func WithTrackerFactory(trackerFactory scan.TrackerFactory) OptionFunc {
9797
}
9898
}
9999

100-
type ReportingOption func(*analysis.ReportingConfig)
100+
type AnalysisOption func(*analysis.AnalysisConfig)
101101

102-
func WithReportingConfig(report bool, config map[string]interface{}) ReportingOption {
103-
return func(c *analysis.ReportingConfig) {
104-
c.Report = &report
105-
if projectName, ok := config["projectName"].(*string); ok {
106-
c.ProjectName = projectName
107-
}
108-
if targetName, ok := config["targetName"].(*string); ok {
109-
c.TargetName = targetName
110-
}
111-
if projectId, ok := config["projectId"].(*uuid.UUID); ok {
112-
c.ProjectId = projectId
113-
}
114-
if commitId, ok := config["commitId"].(*string); ok {
115-
c.CommitId = commitId
116-
}
102+
func ReportLocalTest(projectName string, targetName string) AnalysisOption {
103+
return func(c *analysis.AnalysisConfig) {
104+
c.Report = true
105+
c.ProjectName = &projectName
106+
c.TargetName = &targetName
107+
}
108+
}
109+
110+
func ReportRemoteTest(projectId uuid.UUID, commitId string) AnalysisOption {
111+
return func(c *analysis.AnalysisConfig) {
112+
c.Report = true
113+
c.ProjectId = &projectId
114+
c.CommitId = &commitId
117115
}
118116
}
119117

@@ -191,9 +189,9 @@ func (c *codeScanner) UploadAndAnalyze(
191189
target scan.Target,
192190
files <-chan string,
193191
changedFiles map[string]bool,
194-
options ...ReportingOption,
192+
options ...AnalysisOption,
195193
) (*sarif.SarifResponse, string, error) {
196-
cfg := analysis.ReportingConfig{}
194+
cfg := analysis.AnalysisConfig{}
197195
for _, opt := range options {
198196
opt(&cfg)
199197
}
@@ -247,8 +245,8 @@ func (c *codeScanner) UploadAndAnalyze(
247245
return response, bundleHash, err
248246
}
249247

250-
func (c *codeScanner) AnalyzeRemote(ctx context.Context, interactionId string, options ...ReportingOption) (*sarif.SarifResponse, error) {
251-
cfg := analysis.ReportingConfig{}
248+
func (c *codeScanner) AnalyzeRemote(ctx context.Context, interactionId string, options ...AnalysisOption) (*sarif.SarifResponse, error) {
249+
cfg := analysis.AnalysisConfig{}
252250
for _, opt := range options {
253251
opt(&cfg)
254252
}

0 commit comments

Comments
 (0)