Skip to content

Commit 6b7633c

Browse files
committed
chore: remove filter from public interface and default disable
1 parent 3f9432c commit 6b7633c

File tree

4 files changed

+39
-113
lines changed

4 files changed

+39
-113
lines changed

pkg/apiclients/fileupload/client.go

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,8 @@ import (
2121

2222
// Config contains configuration for the file upload client.
2323
type Config struct {
24-
BaseURL string
25-
OrgID OrgID
26-
IsFedRamp bool
24+
BaseURL string
25+
OrgID OrgID
2726
}
2827

2928
// HTTPClient provides high-level file upload functionality.
@@ -37,9 +36,9 @@ type HTTPClient struct {
3736

3837
// Client defines the interface for the high level file upload client.
3938
type Client interface {
40-
CreateRevisionFromPaths(ctx context.Context, paths []string, opts UploadOptions) (UploadResult, error)
41-
CreateRevisionFromDir(ctx context.Context, dirPath string, opts UploadOptions) (UploadResult, error)
42-
CreateRevisionFromFile(ctx context.Context, filePath string, opts UploadOptions) (UploadResult, error)
39+
CreateRevisionFromPaths(ctx context.Context, paths []string) (UploadResult, error)
40+
CreateRevisionFromDir(ctx context.Context, dirPath string) (UploadResult, error)
41+
CreateRevisionFromFile(ctx context.Context, filePath string) (UploadResult, error)
4342
}
4443

4544
var _ Client = (*HTTPClient)(nil)
@@ -71,7 +70,7 @@ func NewClient(httpClient *http.Client, cfg Config, opts ...Option) *HTTPClient
7170
if client.filtersClient == nil {
7271
client.filtersClient = filters.NewDeeproxyClient(filters.Config{
7372
BaseURL: cfg.BaseURL,
74-
IsFedRamp: cfg.IsFedRamp,
73+
IsFedRamp: false, //cfg.IsFedRamp,
7574
}, filters.WithHTTPClient(httpClient))
7675
}
7776

@@ -152,7 +151,7 @@ func (c *HTTPClient) addPathsToRevision(
152151
revisionID RevisionID,
153152
rootPath string,
154153
pathsChan <-chan string,
155-
opts UploadOptions,
154+
opts uploadOptions,
156155
) (UploadResult, error) {
157156
res := UploadResult{
158157
RevisionID: revisionID,
@@ -224,7 +223,7 @@ func (c *HTTPClient) createRevision(ctx context.Context) (RevisionID, error) {
224223
}
225224

226225
// addFileToRevision adds a single file to an existing revision.
227-
func (c *HTTPClient) addFileToRevision(ctx context.Context, revisionID RevisionID, filePath string, opts UploadOptions) (UploadResult, error) {
226+
func (c *HTTPClient) addFileToRevision(ctx context.Context, revisionID RevisionID, filePath string, opts uploadOptions) (UploadResult, error) {
228227
writableChan := make(chan string, 1)
229228
writableChan <- filePath
230229
close(writableChan)
@@ -233,7 +232,7 @@ func (c *HTTPClient) addFileToRevision(ctx context.Context, revisionID RevisionI
233232
}
234233

235234
// addDirToRevision adds a directory and all its contents to an existing revision.
236-
func (c *HTTPClient) addDirToRevision(ctx context.Context, revisionID RevisionID, dirPath string, opts UploadOptions) (UploadResult, error) {
235+
func (c *HTTPClient) addDirToRevision(ctx context.Context, revisionID RevisionID, dirPath string, opts uploadOptions) (UploadResult, error) {
237236
sources, err := listsources.ForPath(dirPath, c.logger, runtime.NumCPU())
238237
if err != nil {
239238
return UploadResult{}, fmt.Errorf("failed to list files in directory %s: %w", dirPath, err)
@@ -253,7 +252,11 @@ func (c *HTTPClient) sealRevision(ctx context.Context, revisionID RevisionID) er
253252

254253
// CreateRevisionFromPaths uploads multiple paths (files or directories), returning a revision ID.
255254
// This is a convenience method that creates, uploads, and seals a revision.
256-
func (c *HTTPClient) CreateRevisionFromPaths(ctx context.Context, paths []string, opts UploadOptions) (UploadResult, error) {
255+
func (c *HTTPClient) CreateRevisionFromPaths(ctx context.Context, paths []string) (UploadResult, error) {
256+
opts := uploadOptions{
257+
SkipDeeproxyFiltering: true,
258+
}
259+
257260
res := UploadResult{
258261
FilteredFiles: make([]FilteredFile, 0),
259262
}
@@ -300,7 +303,7 @@ func (c *HTTPClient) CreateRevisionFromPaths(ctx context.Context, paths []string
300303

301304
// CreateRevisionFromDir uploads a directory and all its contents, returning a revision ID.
302305
// This is a convenience method for validating the directory path and calling CreateRevisionFromPaths with a single directory path.
303-
func (c *HTTPClient) CreateRevisionFromDir(ctx context.Context, dirPath string, opts UploadOptions) (UploadResult, error) {
306+
func (c *HTTPClient) CreateRevisionFromDir(ctx context.Context, dirPath string) (UploadResult, error) {
304307
info, err := os.Stat(dirPath)
305308
if err != nil {
306309
return UploadResult{}, uploadrevision.NewFileAccessError(dirPath, err)
@@ -310,12 +313,12 @@ func (c *HTTPClient) CreateRevisionFromDir(ctx context.Context, dirPath string,
310313
return UploadResult{}, fmt.Errorf("the provided path is not a directory: %s", dirPath)
311314
}
312315

313-
return c.CreateRevisionFromPaths(ctx, []string{dirPath}, opts)
316+
return c.CreateRevisionFromPaths(ctx, []string{dirPath})
314317
}
315318

316319
// CreateRevisionFromFile uploads a single file, returning a revision ID.
317320
// This is a convenience method for validating the file path and calling CreateRevisionFromPaths with a single file path.
318-
func (c *HTTPClient) CreateRevisionFromFile(ctx context.Context, filePath string, opts UploadOptions) (UploadResult, error) {
321+
func (c *HTTPClient) CreateRevisionFromFile(ctx context.Context, filePath string) (UploadResult, error) {
319322
info, err := os.Stat(filePath)
320323
if err != nil {
321324
return UploadResult{}, uploadrevision.NewFileAccessError(filePath, err)
@@ -325,5 +328,5 @@ func (c *HTTPClient) CreateRevisionFromFile(ctx context.Context, filePath string
325328
return UploadResult{}, fmt.Errorf("the provided path is not a regular file: %s", filePath)
326329
}
327330

328-
return c.CreateRevisionFromPaths(ctx, []string{filePath}, opts)
331+
return c.CreateRevisionFromPaths(ctx, []string{filePath})
329332
}

pkg/apiclients/fileupload/client_test.go

Lines changed: 15 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ func Test_CreateRevisionFromPaths(t *testing.T) {
9898
filepath.Join(dir.Name(), "README.md"), // Individual file
9999
}
100100

101-
res, err := client.CreateRevisionFromPaths(ctx, paths, fileupload.UploadOptions{})
101+
res, err := client.CreateRevisionFromPaths(ctx, paths)
102102
require.NoError(t, err)
103103

104104
assert.Empty(t, res.FilteredFiles)
@@ -115,25 +115,6 @@ func Test_CreateRevisionFromPaths(t *testing.T) {
115115
assert.Contains(t, uploadedPaths, "README.md")
116116
})
117117

118-
t.Run("get filters error", func(t *testing.T) {
119-
allFiles := []uploadrevision.LoadedFile{
120-
{Path: mainpath, Content: "package main"},
121-
{Path: utilspath, Content: "package utils"},
122-
{Path: "config.yaml", Content: "version: 1"},
123-
{Path: "README.md", Content: "# Project"},
124-
}
125-
126-
ctx, _, client, dir := setupTest(t, llcfg, allFiles, filters.AllowList{}, assert.AnError)
127-
128-
paths := []string{
129-
filepath.Join(dir.Name(), "src"), // Directory
130-
filepath.Join(dir.Name(), "README.md"), // Individual file
131-
}
132-
133-
_, err := client.CreateRevisionFromPaths(ctx, paths, fileupload.UploadOptions{})
134-
require.ErrorContains(t, err, "failed to load deeproxy filters")
135-
})
136-
137118
t.Run("error handling with better context", func(t *testing.T) {
138119
ctx, _, client, _ := setupTest(t, llcfg, []uploadrevision.LoadedFile{}, allowList, nil)
139120

@@ -142,7 +123,7 @@ func Test_CreateRevisionFromPaths(t *testing.T) {
142123
missingpath,
143124
}
144125

145-
_, err := client.CreateRevisionFromPaths(ctx, paths, fileupload.UploadOptions{})
126+
_, err := client.CreateRevisionFromPaths(ctx, paths)
146127
require.Error(t, err)
147128
var fileAccessErr *uploadrevision.FileAccessError
148129
assert.ErrorAs(t, err, &fileAccessErr)
@@ -178,7 +159,7 @@ func Test_CreateRevisionFromDir(t *testing.T) {
178159
}
179160
ctx, fakeSealableClient, client, dir := setupTest(t, llcfg, expectedFiles, allowList, nil)
180161

181-
res, err := client.CreateRevisionFromDir(ctx, dir.Name(), fileupload.UploadOptions{})
162+
res, err := client.CreateRevisionFromDir(ctx, dir.Name())
182163
require.NoError(t, err)
183164

184165
assert.Empty(t, res.FilteredFiles)
@@ -200,7 +181,7 @@ func Test_CreateRevisionFromDir(t *testing.T) {
200181
}
201182
ctx, fakeSealableClient, client, dir := setupTest(t, llcfg, expectedFiles, allowList, nil)
202183

203-
res, err := client.CreateRevisionFromDir(ctx, dir.Name(), fileupload.UploadOptions{})
184+
res, err := client.CreateRevisionFromDir(ctx, dir.Name())
204185
require.NoError(t, err)
205186

206187
assert.Empty(t, res.FilteredFiles)
@@ -234,7 +215,7 @@ func Test_CreateRevisionFromDir(t *testing.T) {
234215
}
235216
ctx, fakeSealableClient, client, dir := setupTest(t, llcfg, expectedFiles, allowList, nil)
236217

237-
res, err := client.CreateRevisionFromDir(ctx, dir.Name(), fileupload.UploadOptions{})
218+
res, err := client.CreateRevisionFromDir(ctx, dir.Name())
238219
require.NoError(t, err)
239220

240221
assert.Empty(t, res.FilteredFiles)
@@ -269,7 +250,7 @@ func Test_CreateRevisionFromDir(t *testing.T) {
269250
},
270251
}, allFiles, allowList, nil)
271252

272-
res, err := client.CreateRevisionFromDir(ctx, dir.Name(), fileupload.UploadOptions{})
253+
res, err := client.CreateRevisionFromDir(ctx, dir.Name())
273254
require.NoError(t, err)
274255

275256
var fileSizeErr *uploadrevision.FileSizeLimitError
@@ -312,7 +293,7 @@ func Test_CreateRevisionFromDir(t *testing.T) {
312293
},
313294
}, expectedFiles, allowList, nil)
314295

315-
res, err := client.CreateRevisionFromDir(ctx, dir.Name(), fileupload.UploadOptions{})
296+
res, err := client.CreateRevisionFromDir(ctx, dir.Name())
316297
require.NoError(t, err)
317298

318299
assert.Empty(t, res.FilteredFiles)
@@ -350,7 +331,7 @@ func Test_CreateRevisionFromDir(t *testing.T) {
350331
},
351332
}, expectedFiles, allowList, nil)
352333

353-
res, err := client.CreateRevisionFromDir(ctx, dir.Name(), fileupload.UploadOptions{})
334+
res, err := client.CreateRevisionFromDir(ctx, dir.Name())
354335
require.NoError(t, err)
355336

356337
assert.Empty(t, res.FilteredFiles)
@@ -394,7 +375,7 @@ func Test_CreateRevisionFromDir(t *testing.T) {
394375
},
395376
}, expectedFiles, allowList, nil)
396377

397-
res, err := client.CreateRevisionFromDir(ctx, dir.Name(), fileupload.UploadOptions{})
378+
res, err := client.CreateRevisionFromDir(ctx, dir.Name())
398379
require.NoError(t, err)
399380

400381
assert.Empty(t, res.FilteredFiles)
@@ -424,7 +405,7 @@ func Test_CreateRevisionFromDir(t *testing.T) {
424405
},
425406
}, expectedFiles, allowList, nil)
426407

427-
res, err := client.CreateRevisionFromDir(ctx, dir.Name(), fileupload.UploadOptions{})
408+
res, err := client.CreateRevisionFromDir(ctx, dir.Name())
428409
require.NoError(t, err)
429410

430411
assert.Empty(t, res.FilteredFiles)
@@ -433,45 +414,6 @@ func Test_CreateRevisionFromDir(t *testing.T) {
433414
expectEqualFiles(t, expectedFiles, uploadedFiles)
434415
})
435416

436-
t.Run("uploading a directory applies filtering", func(t *testing.T) {
437-
expectedFiles := []uploadrevision.LoadedFile{
438-
{
439-
Path: mainpath,
440-
Content: "package main\n\nfunc main() {}",
441-
},
442-
{
443-
Path: helperpath,
444-
Content: "package utils\n\nfunc Helper() {}",
445-
},
446-
{
447-
Path: gomodpath,
448-
Content: "foo bar",
449-
},
450-
}
451-
additionalFiles := []uploadrevision.LoadedFile{
452-
{
453-
Path: scriptpath,
454-
Content: "console.log('hi')",
455-
},
456-
{
457-
Path: packagelockpath,
458-
Content: "{}",
459-
},
460-
}
461-
//nolint:gocritic // Not an issue for tests.
462-
allFiles := append(expectedFiles, additionalFiles...)
463-
464-
ctx, fakeSealableClient, client, dir := setupTest(t, llcfg, allFiles, allowList, nil)
465-
466-
res, err := client.CreateRevisionFromDir(ctx, dir.Name(), fileupload.UploadOptions{})
467-
require.NoError(t, err)
468-
469-
assert.Len(t, res.FilteredFiles, 2)
470-
uploadedFiles, err := fakeSealableClient.GetSealedRevisionFiles(res.RevisionID)
471-
require.NoError(t, err)
472-
expectEqualFiles(t, expectedFiles, uploadedFiles)
473-
})
474-
475417
t.Run("uploading a directory with filtering disabled", func(t *testing.T) {
476418
allFiles := []uploadrevision.LoadedFile{
477419
{
@@ -498,7 +440,7 @@ func Test_CreateRevisionFromDir(t *testing.T) {
498440

499441
ctx, fakeSealableClient, client, dir := setupTest(t, llcfg, allFiles, allowList, nil)
500442

501-
res, err := client.CreateRevisionFromDir(ctx, dir.Name(), fileupload.UploadOptions{SkipDeeproxyFiltering: true})
443+
res, err := client.CreateRevisionFromDir(ctx, dir.Name())
502444
require.NoError(t, err)
503445

504446
assert.Empty(t, res.FilteredFiles)
@@ -532,7 +474,7 @@ func Test_CreateRevisionFromFile(t *testing.T) {
532474
}
533475
ctx, fakeSealableClient, client, dir := setupTest(t, llcfg, expectedFiles, allowList, nil)
534476

535-
res, err := client.CreateRevisionFromFile(ctx, path.Join(dir.Name(), "file1.txt"), fileupload.UploadOptions{})
477+
res, err := client.CreateRevisionFromFile(ctx, path.Join(dir.Name(), "file1.txt"))
536478
require.NoError(t, err)
537479

538480
assert.Empty(t, res.FilteredFiles)
@@ -557,7 +499,7 @@ func Test_CreateRevisionFromFile(t *testing.T) {
557499
},
558500
}, expectedFiles, allowList, nil)
559501

560-
res, err := client.CreateRevisionFromFile(ctx, path.Join(dir.Name(), "file1.txt"), fileupload.UploadOptions{})
502+
res, err := client.CreateRevisionFromFile(ctx, path.Join(dir.Name(), "file1.txt"))
561503
require.NoError(t, err)
562504

563505
var fileSizeErr *uploadrevision.FileSizeLimitError
@@ -590,7 +532,7 @@ func Test_CreateRevisionFromFile(t *testing.T) {
590532
},
591533
}, expectedFiles, allowList, nil)
592534

593-
res, err := client.CreateRevisionFromFile(ctx, path.Join(dir.Name(), "file1.txt"), fileupload.UploadOptions{})
535+
res, err := client.CreateRevisionFromFile(ctx, path.Join(dir.Name(), "file1.txt"))
594536
require.NoError(t, err)
595537

596538
var filePathErr *uploadrevision.FilePathLengthLimitError
@@ -606,25 +548,6 @@ func Test_CreateRevisionFromFile(t *testing.T) {
606548
expectEqualFiles(t, nil, uploadedFiles)
607549
})
608550

609-
t.Run("uploading a file applies filtering", func(t *testing.T) {
610-
allFiles := []uploadrevision.LoadedFile{
611-
{
612-
Path: "script.js",
613-
Content: "console.log('hi')",
614-
},
615-
}
616-
617-
ctx, fakeSealableClient, client, dir := setupTest(t, llcfg, allFiles, allowList, nil)
618-
619-
res, err := client.CreateRevisionFromFile(ctx, path.Join(dir.Name(), "script.js"), fileupload.UploadOptions{})
620-
require.NoError(t, err)
621-
622-
assert.Len(t, res.FilteredFiles, 1)
623-
uploadedFiles, err := fakeSealableClient.GetSealedRevisionFiles(res.RevisionID)
624-
require.NoError(t, err)
625-
expectEqualFiles(t, nil, uploadedFiles)
626-
})
627-
628551
t.Run("uploading a file with filtering disabled", func(t *testing.T) {
629552
expectedFiles := []uploadrevision.LoadedFile{
630553
{
@@ -635,7 +558,7 @@ func Test_CreateRevisionFromFile(t *testing.T) {
635558

636559
ctx, fakeSealableClient, client, dir := setupTest(t, llcfg, expectedFiles, allowList, nil)
637560

638-
res, err := client.CreateRevisionFromFile(ctx, path.Join(dir.Name(), "script.js"), fileupload.UploadOptions{SkipDeeproxyFiltering: true})
561+
res, err := client.CreateRevisionFromFile(ctx, path.Join(dir.Name(), "script.js"))
639562
require.NoError(t, err)
640563

641564
assert.Empty(t, res.FilteredFiles)

pkg/apiclients/fileupload/fake_client.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ func (f *FakeClient) WithError(err error) *FakeClient {
3232
return f
3333
}
3434

35-
func (f *FakeClient) CreateRevisionFromDir(ctx context.Context, dirPath string, opts UploadOptions) (UploadResult, error) {
35+
func (f *FakeClient) CreateRevisionFromDir(ctx context.Context, dirPath string) (UploadResult, error) {
3636
if f.err != nil {
3737
return UploadResult{}, f.err
3838
}
@@ -46,10 +46,10 @@ func (f *FakeClient) CreateRevisionFromDir(ctx context.Context, dirPath string,
4646
return UploadResult{}, fmt.Errorf("the provided path is not a directory: %s", dirPath)
4747
}
4848

49-
return f.CreateRevisionFromPaths(ctx, []string{dirPath}, opts)
49+
return f.CreateRevisionFromPaths(ctx, []string{dirPath})
5050
}
5151

52-
func (f *FakeClient) CreateRevisionFromFile(ctx context.Context, filePath string, opts UploadOptions) (UploadResult, error) {
52+
func (f *FakeClient) CreateRevisionFromFile(ctx context.Context, filePath string) (UploadResult, error) {
5353
if f.err != nil {
5454
return UploadResult{}, f.err
5555
}
@@ -63,10 +63,10 @@ func (f *FakeClient) CreateRevisionFromFile(ctx context.Context, filePath string
6363
return UploadResult{}, fmt.Errorf("the provided path is not a regular file: %s", filePath)
6464
}
6565

66-
return f.CreateRevisionFromPaths(ctx, []string{filePath}, opts)
66+
return f.CreateRevisionFromPaths(ctx, []string{filePath})
6767
}
6868

69-
func (f *FakeClient) CreateRevisionFromPaths(ctx context.Context, paths []string, opts UploadOptions) (UploadResult, error) {
69+
func (f *FakeClient) CreateRevisionFromPaths(ctx context.Context, paths []string) (UploadResult, error) {
7070
if f.err != nil {
7171
return UploadResult{}, f.err
7272
}

pkg/apiclients/fileupload/types.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ type Filters struct {
2323
}
2424

2525
// UploadOptions configures the behavior of file upload operations.
26-
type UploadOptions struct {
26+
type uploadOptions struct {
2727
SkipDeeproxyFiltering bool
2828
}
2929

0 commit comments

Comments
 (0)