Skip to content

Commit bb94aec

Browse files
refactor: code scanner signature [IDE-195] (#23)
1 parent cacecab commit bb94aec

File tree

15 files changed

+152
-175
lines changed

15 files changed

+152
-175
lines changed

bundle/bundle.go renamed to internal/bundle/bundle.go

Lines changed: 7 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,17 @@ package bundle
1818

1919
import (
2020
"context"
21+
2122
"github.com/rs/zerolog"
2223

23-
"github.com/snyk/code-client-go/deepcode"
24+
"github.com/snyk/code-client-go/internal/deepcode"
2425
"github.com/snyk/code-client-go/observability"
2526
)
2627

2728
//go:generate mockgen -destination=mocks/bundle.go -source=bundle.go -package mocks
2829
type Bundle interface {
29-
UploadBatch(ctx context.Context, batch *Batch) error
30+
UploadBatch(ctx context.Context, requestId string, batch *Batch) error
3031
GetBundleHash() string
31-
GetRootPath() string
32-
GetRequestId() string
3332
GetFiles() map[string]deepcode.BundleFile
3433
GetMissingFiles() []string
3534
}
@@ -39,8 +38,6 @@ type deepCodeBundle struct {
3938
instrumentor observability.Instrumentor
4039
errorReporter observability.ErrorReporter
4140
logger *zerolog.Logger
42-
requestId string
43-
rootPath string
4441
files map[string]deepcode.BundleFile
4542
bundleHash string
4643
batches []*Batch
@@ -54,8 +51,6 @@ func NewBundle(
5451
errorReporter observability.ErrorReporter,
5552
logger *zerolog.Logger,
5653
bundleHash string,
57-
requestId string,
58-
rootPath string,
5954
files map[string]deepcode.BundleFile,
6055
limitToFiles []string,
6156
missingFiles []string,
@@ -66,8 +61,6 @@ func NewBundle(
6661
errorReporter: errorReporter,
6762
logger: logger,
6863
bundleHash: bundleHash,
69-
requestId: requestId,
70-
rootPath: rootPath,
7164
batches: []*Batch{},
7265
files: files,
7366
limitToFiles: limitToFiles,
@@ -79,14 +72,6 @@ func (b *deepCodeBundle) GetBundleHash() string {
7972
return b.bundleHash
8073
}
8174

82-
func (b *deepCodeBundle) GetRootPath() string {
83-
return b.rootPath
84-
}
85-
86-
func (b *deepCodeBundle) GetRequestId() string {
87-
return b.requestId
88-
}
89-
9075
func (b *deepCodeBundle) GetFiles() map[string]deepcode.BundleFile {
9176
return b.files
9277
}
@@ -95,20 +80,20 @@ func (b *deepCodeBundle) GetMissingFiles() []string {
9580
return b.missingFiles
9681
}
9782

98-
func (b *deepCodeBundle) UploadBatch(ctx context.Context, batch *Batch) error {
99-
err := b.extendBundle(ctx, batch)
83+
func (b *deepCodeBundle) UploadBatch(ctx context.Context, requestId string, batch *Batch) error {
84+
err := b.extendBundle(ctx, requestId, batch)
10085
if err != nil {
10186
return err
10287
}
10388
b.batches = append(b.batches, batch)
10489
return nil
10590
}
10691

107-
func (b *deepCodeBundle) extendBundle(ctx context.Context, uploadBatch *Batch) error {
92+
func (b *deepCodeBundle) extendBundle(ctx context.Context, requestId string, uploadBatch *Batch) error {
10893
var err error
10994
if uploadBatch.hasContent() {
11095
b.bundleHash, b.missingFiles, err = b.SnykCode.ExtendBundle(ctx, b.bundleHash, uploadBatch.documents, []string{})
111-
b.logger.Debug().Str("requestId", b.requestId).Interface("MissingFiles", b.missingFiles).Msg("extended deepCodeBundle on backend")
96+
b.logger.Debug().Str("requestId", requestId).Interface("MissingFiles", b.missingFiles).Msg("extended deepCodeBundle on backend")
11297
}
11398

11499
return err

bundle/bundle_manager.go renamed to internal/bundle/bundle_manager.go

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,20 +18,20 @@ package bundle
1818

1919
import (
2020
"context"
21+
deepcode2 "github.com/snyk/code-client-go/internal/deepcode"
2122
"os"
2223
"path/filepath"
2324

2425
"github.com/puzpuzpuz/xsync"
2526
"github.com/rs/zerolog"
2627

27-
"github.com/snyk/code-client-go/deepcode"
2828
"github.com/snyk/code-client-go/internal/util"
2929
"github.com/snyk/code-client-go/observability"
3030
)
3131

3232
// TODO: add progress tracker for percentage progress
3333
type bundleManager struct {
34-
SnykCode deepcode.SnykCodeClient
34+
SnykCode deepcode2.SnykCodeClient
3535
instrumentor observability.Instrumentor
3636
errorReporter observability.ErrorReporter
3737
logger *zerolog.Logger
@@ -50,14 +50,15 @@ type BundleManager interface {
5050

5151
Upload(
5252
ctx context.Context,
53+
requestId string,
5354
originalBundle Bundle,
54-
files map[string]deepcode.BundleFile,
55+
files map[string]deepcode2.BundleFile,
5556
) (Bundle, error)
5657
}
5758

5859
func NewBundleManager(
5960
logger *zerolog.Logger,
60-
SnykCode deepcode.SnykCodeClient,
61+
SnykCode deepcode2.SnykCodeClient,
6162
instrumentor observability.Instrumentor,
6263
errorReporter observability.ErrorReporter,
6364
) *bundleManager {
@@ -82,7 +83,7 @@ func (b *bundleManager) Create(ctx context.Context,
8283

8384
var limitToFiles []string
8485
fileHashes := make(map[string]string)
85-
bundleFiles := make(map[string]deepcode.BundleFile)
86+
bundleFiles := make(map[string]deepcode2.BundleFile)
8687
noFiles := true
8788
for absoluteFilePath := range filePaths {
8889
noFiles = false
@@ -115,7 +116,7 @@ func (b *bundleManager) Create(ctx context.Context,
115116
}
116117
relativePath = util.EncodePath(relativePath)
117118

118-
bundleFile := deepcode.BundleFileFrom(absoluteFilePath, fileContent)
119+
bundleFile := deepcode2.BundleFileFrom(absoluteFilePath, fileContent)
119120
bundleFiles[relativePath] = bundleFile
120121
fileHashes[relativePath] = bundleFile.Hash
121122

@@ -139,8 +140,6 @@ func (b *bundleManager) Create(ctx context.Context,
139140
b.errorReporter,
140141
b.logger,
141142
bundleHash,
142-
requestId,
143-
rootPath,
144143
bundleFiles,
145144
limitToFiles,
146145
missingFiles,
@@ -150,8 +149,9 @@ func (b *bundleManager) Create(ctx context.Context,
150149

151150
func (b *bundleManager) Upload(
152151
ctx context.Context,
152+
requestId string,
153153
bundle Bundle,
154-
files map[string]deepcode.BundleFile,
154+
files map[string]deepcode2.BundleFile,
155155
) (Bundle, error) {
156156
method := "code.Batch"
157157
s := b.instrumentor.StartSpan(ctx, method)
@@ -168,7 +168,7 @@ func (b *bundleManager) Upload(
168168
if err := ctx.Err(); err != nil {
169169
return bundle, err
170170
}
171-
err := bundle.UploadBatch(s.Context(), batch)
171+
err := bundle.UploadBatch(s.Context(), requestId, batch)
172172
if err != nil {
173173
return bundle, err
174174
}
@@ -181,14 +181,14 @@ func (b *bundleManager) Upload(
181181
func (b *bundleManager) groupInBatches(
182182
ctx context.Context,
183183
bundle Bundle,
184-
files map[string]deepcode.BundleFile,
184+
files map[string]deepcode2.BundleFile,
185185
) []*Batch {
186186
method := "code.groupInBatches"
187187
s := b.instrumentor.StartSpan(ctx, method)
188188
defer b.instrumentor.Finish(s)
189189

190190
var batches []*Batch
191-
batch := NewBatch(map[string]deepcode.BundleFile{})
191+
batch := NewBatch(map[string]deepcode2.BundleFile{})
192192
for _, filePath := range bundle.GetMissingFiles() {
193193
if len(batches) == 0 { // first batch added after first file found
194194
batches = append(batches, batch)
@@ -201,7 +201,7 @@ func (b *bundleManager) groupInBatches(
201201
batch.documents[filePath] = file
202202
} else {
203203
b.logger.Trace().Str("path", filePath).Int("size", len(fileContent)).Msgf("created new deepCodeBundle - %v bundles in this upload so far", len(batches))
204-
newUploadBatch := NewBatch(map[string]deepcode.BundleFile{})
204+
newUploadBatch := NewBatch(map[string]deepcode2.BundleFile{})
205205
newUploadBatch.documents[filePath] = file
206206
batches = append(batches, newUploadBatch)
207207
batch = newUploadBatch

bundle/bundle_manager_test.go renamed to internal/bundle/bundle_manager_test.go

Lines changed: 33 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@ import (
2929
"github.com/stretchr/testify/assert"
3030
"github.com/stretchr/testify/require"
3131

32-
"github.com/snyk/code-client-go/bundle"
33-
deepcode2 "github.com/snyk/code-client-go/deepcode"
34-
mocks2 "github.com/snyk/code-client-go/deepcode/mocks"
32+
"github.com/snyk/code-client-go/internal/bundle"
33+
"github.com/snyk/code-client-go/internal/deepcode"
34+
deepcodeMocks "github.com/snyk/code-client-go/internal/deepcode/mocks"
3535
"github.com/snyk/code-client-go/internal/util"
3636
"github.com/snyk/code-client-go/observability/mocks"
3737
)
@@ -42,8 +42,8 @@ func Test_Create(t *testing.T) {
4242
ctrl := gomock.NewController(t)
4343
mockSpan := mocks.NewMockSpan(ctrl)
4444
mockSpan.EXPECT().Context().AnyTimes()
45-
mockSnykCodeClient := mocks2.NewMockSnykCodeClient(ctrl)
46-
mockSnykCodeClient.EXPECT().GetFilters(gomock.Any()).Return(deepcode2.FiltersResponse{
45+
mockSnykCodeClient := deepcodeMocks.NewMockSnykCodeClient(ctrl)
46+
mockSnykCodeClient.EXPECT().GetFilters(gomock.Any()).Return(deepcode.FiltersResponse{
4747
ConfigFiles: []string{},
4848
Extensions: []string{".java"},
4949
}, nil)
@@ -77,8 +77,8 @@ func Test_Create(t *testing.T) {
7777
ctrl := gomock.NewController(t)
7878
mockSpan := mocks.NewMockSpan(ctrl)
7979
mockSpan.EXPECT().Context().AnyTimes()
80-
mockSnykCodeClient := mocks2.NewMockSnykCodeClient(ctrl)
81-
mockSnykCodeClient.EXPECT().GetFilters(gomock.Any()).Return(deepcode2.FiltersResponse{
80+
mockSnykCodeClient := deepcodeMocks.NewMockSnykCodeClient(ctrl)
81+
mockSnykCodeClient.EXPECT().GetFilters(gomock.Any()).Return(deepcode.FiltersResponse{
8282
ConfigFiles: []string{},
8383
Extensions: []string{".java"},
8484
}, nil)
@@ -110,8 +110,8 @@ func Test_Create(t *testing.T) {
110110
ctrl := gomock.NewController(t)
111111
mockSpan := mocks.NewMockSpan(ctrl)
112112
mockSpan.EXPECT().Context().AnyTimes()
113-
mockSnykCodeClient := mocks2.NewMockSnykCodeClient(ctrl)
114-
mockSnykCodeClient.EXPECT().GetFilters(gomock.Any()).Return(deepcode2.FiltersResponse{
113+
mockSnykCodeClient := deepcodeMocks.NewMockSnykCodeClient(ctrl)
114+
mockSnykCodeClient.EXPECT().GetFilters(gomock.Any()).Return(deepcode.FiltersResponse{
115115
ConfigFiles: []string{},
116116
Extensions: []string{".java"},
117117
}, nil)
@@ -147,8 +147,8 @@ func Test_Create(t *testing.T) {
147147
ctrl := gomock.NewController(t)
148148
mockSpan := mocks.NewMockSpan(ctrl)
149149
mockSpan.EXPECT().Context().AnyTimes()
150-
mockSnykCodeClient := mocks2.NewMockSnykCodeClient(ctrl)
151-
mockSnykCodeClient.EXPECT().GetFilters(gomock.Any()).Return(deepcode2.FiltersResponse{
150+
mockSnykCodeClient := deepcodeMocks.NewMockSnykCodeClient(ctrl)
151+
mockSnykCodeClient.EXPECT().GetFilters(gomock.Any()).Return(deepcode.FiltersResponse{
152152
ConfigFiles: []string{},
153153
Extensions: []string{".java"},
154154
}, nil)
@@ -181,8 +181,8 @@ func Test_Create(t *testing.T) {
181181
ctrl := gomock.NewController(t)
182182
mockSpan := mocks.NewMockSpan(ctrl)
183183
mockSpan.EXPECT().Context().AnyTimes()
184-
mockSnykCodeClient := mocks2.NewMockSnykCodeClient(ctrl)
185-
mockSnykCodeClient.EXPECT().GetFilters(gomock.Any()).Return(deepcode2.FiltersResponse{
184+
mockSnykCodeClient := deepcodeMocks.NewMockSnykCodeClient(ctrl)
185+
mockSnykCodeClient.EXPECT().GetFilters(gomock.Any()).Return(deepcode.FiltersResponse{
186186
ConfigFiles: []string{".test"},
187187
Extensions: []string{},
188188
}, nil)
@@ -214,8 +214,8 @@ func Test_Create(t *testing.T) {
214214
ctrl := gomock.NewController(t)
215215
mockSpan := mocks.NewMockSpan(ctrl)
216216
mockSpan.EXPECT().Context().AnyTimes()
217-
mockSnykCodeClient := mocks2.NewMockSnykCodeClient(ctrl)
218-
mockSnykCodeClient.EXPECT().GetFilters(gomock.Any()).Return(deepcode2.FiltersResponse{
217+
mockSnykCodeClient := deepcodeMocks.NewMockSnykCodeClient(ctrl)
218+
mockSnykCodeClient.EXPECT().GetFilters(gomock.Any()).Return(deepcode.FiltersResponse{
219219
ConfigFiles: []string{},
220220
Extensions: []string{".java"},
221221
}, nil)
@@ -272,7 +272,7 @@ func Test_Upload(t *testing.T) {
272272
ctrl := gomock.NewController(t)
273273
mockSpan := mocks.NewMockSpan(ctrl)
274274
mockSpan.EXPECT().Context().AnyTimes()
275-
mockSnykCodeClient := mocks2.NewMockSnykCodeClient(ctrl)
275+
mockSnykCodeClient := deepcodeMocks.NewMockSnykCodeClient(ctrl)
276276
mockSnykCodeClient.EXPECT().ExtendBundle(gomock.Any(), "bundleHash", gomock.Len(1), []string{}).Times(1)
277277
mockInstrumentor := mocks.NewMockInstrumentor(ctrl)
278278
mockInstrumentor.EXPECT().StartSpan(gomock.Any(), gomock.Any()).Return(mockSpan).Times(2)
@@ -281,11 +281,13 @@ func Test_Upload(t *testing.T) {
281281

282282
var bundleManager = bundle.NewBundleManager(newLogger(t), mockSnykCodeClient, mockInstrumentor, mockErrorReporter)
283283
documentURI, bundleFile := createTempFileInDir(t, "bundleDoc.java", 10, temporaryDir)
284-
bundleFileMap := map[string]deepcode2.BundleFile{}
284+
bundleFileMap := map[string]deepcode.BundleFile{}
285285
bundleFileMap[documentURI] = bundleFile
286286

287-
_, err := bundleManager.Upload(context.Background(),
288-
bundle.NewBundle(mockSnykCodeClient, mockInstrumentor, mockErrorReporter, &logger, "bundleHash", "testRequestId", "", bundleFileMap, []string{}, []string{documentURI}),
287+
_, err := bundleManager.Upload(
288+
context.Background(),
289+
"testRequestId",
290+
bundle.NewBundle(mockSnykCodeClient, mockInstrumentor, mockErrorReporter, &logger, "bundleHash", bundleFileMap, []string{}, []string{documentURI}),
289291
bundleFileMap)
290292
assert.NoError(t, err)
291293
})
@@ -294,7 +296,7 @@ func Test_Upload(t *testing.T) {
294296
ctrl := gomock.NewController(t)
295297
mockSpan := mocks.NewMockSpan(ctrl)
296298
mockSpan.EXPECT().Context().AnyTimes()
297-
mockSnykCodeClient := mocks2.NewMockSnykCodeClient(ctrl)
299+
mockSnykCodeClient := deepcodeMocks.NewMockSnykCodeClient(ctrl)
298300
mockSnykCodeClient.EXPECT().ExtendBundle(gomock.Any(), "bundleHash", gomock.Len(3), []string{}).Return("newBundleHash", []string{}, nil).Times(1)
299301
mockSnykCodeClient.EXPECT().ExtendBundle(gomock.Any(), "newBundleHash", gomock.Len(2), []string{}).Return("newerBundleHash", []string{}, nil).Times(1)
300302
mockInstrumentor := mocks.NewMockInstrumentor(ctrl)
@@ -303,7 +305,7 @@ func Test_Upload(t *testing.T) {
303305
mockErrorReporter := mocks.NewMockErrorReporter(ctrl)
304306
var bundleManager = bundle.NewBundleManager(newLogger(t), mockSnykCodeClient, mockInstrumentor, mockErrorReporter)
305307

306-
bundleFileMap := map[string]deepcode2.BundleFile{}
308+
bundleFileMap := map[string]deepcode.BundleFile{}
307309
var missingFiles []string
308310
path, bundleFile := createTempFileInDir(t, "bundleDoc1.java", (1024*1024)-1, temporaryDir)
309311
bundleFileMap[path] = bundleFile
@@ -321,24 +323,26 @@ func Test_Upload(t *testing.T) {
321323
bundleFileMap[path] = bundleFile
322324
missingFiles = append(missingFiles, path)
323325

324-
_, err := bundleManager.Upload(context.Background(),
325-
bundle.NewBundle(mockSnykCodeClient, mockInstrumentor, mockErrorReporter, &logger, "bundleHash", "testRequestId", "", bundleFileMap, []string{}, missingFiles),
326+
_, err := bundleManager.Upload(
327+
context.Background(),
328+
"testRequestId",
329+
bundle.NewBundle(mockSnykCodeClient, mockInstrumentor, mockErrorReporter, &logger, "bundleHash", bundleFileMap, []string{}, missingFiles),
326330
bundleFileMap)
327331
assert.Nil(t, err)
328332
})
329333
}
330334

331-
func createTempFileInDir(t *testing.T, name string, size int, temporaryDir string) (string, deepcode2.BundleFile) {
335+
func createTempFileInDir(t *testing.T, name string, size int, temporaryDir string) (string, deepcode.BundleFile) {
332336
t.Helper()
333337

334338
documentURI, fileContent := createFileOfSize(t, name, size, temporaryDir)
335-
return documentURI, deepcode2.BundleFile{Hash: util.Hash(fileContent), Content: string(fileContent)}
339+
return documentURI, deepcode.BundleFile{Hash: util.Hash(fileContent), Content: string(fileContent)}
336340
}
337341

338342
func Test_IsSupported_Extensions(t *testing.T) {
339343
ctrl := gomock.NewController(t)
340-
mockSnykCodeClient := mocks2.NewMockSnykCodeClient(ctrl)
341-
mockSnykCodeClient.EXPECT().GetFilters(gomock.Any()).Return(deepcode2.FiltersResponse{
344+
mockSnykCodeClient := deepcodeMocks.NewMockSnykCodeClient(ctrl)
345+
mockSnykCodeClient.EXPECT().GetFilters(gomock.Any()).Return(deepcode.FiltersResponse{
342346
ConfigFiles: []string{},
343347
Extensions: []string{".java"},
344348
}, nil)
@@ -376,8 +380,8 @@ func Test_IsSupported_ConfigFiles(t *testing.T) {
376380
}
377381

378382
ctrl := gomock.NewController(t)
379-
mockSnykCodeClient := mocks2.NewMockSnykCodeClient(ctrl)
380-
mockSnykCodeClient.EXPECT().GetFilters(gomock.Any()).Return(deepcode2.FiltersResponse{
383+
mockSnykCodeClient := deepcodeMocks.NewMockSnykCodeClient(ctrl)
384+
mockSnykCodeClient.EXPECT().GetFilters(gomock.Any()).Return(deepcode.FiltersResponse{
381385
ConfigFiles: configFilesFromFiltersEndpoint,
382386
Extensions: []string{},
383387
}, nil)

0 commit comments

Comments
 (0)