Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'workhorse/internal/upload/saved_file_tracker_test.go')
-rw-r--r--workhorse/internal/upload/saved_file_tracker_test.go39
1 files changed, 39 insertions, 0 deletions
diff --git a/workhorse/internal/upload/saved_file_tracker_test.go b/workhorse/internal/upload/saved_file_tracker_test.go
new file mode 100644
index 00000000000..e5a5e8f23a7
--- /dev/null
+++ b/workhorse/internal/upload/saved_file_tracker_test.go
@@ -0,0 +1,39 @@
+package upload
+
+import (
+ "context"
+
+ "github.com/dgrijalva/jwt-go"
+
+ "net/http"
+ "testing"
+
+ "github.com/stretchr/testify/require"
+
+ "gitlab.com/gitlab-org/gitlab-workhorse/internal/filestore"
+ "gitlab.com/gitlab-org/gitlab-workhorse/internal/testhelper"
+)
+
+func TestSavedFileTracking(t *testing.T) {
+ testhelper.ConfigureSecret()
+
+ r, err := http.NewRequest("PUT", "/url/path", nil)
+ require.NoError(t, err)
+
+ tracker := SavedFileTracker{Request: r}
+ require.Equal(t, "accelerate", tracker.Name())
+
+ file := &filestore.FileHandler{}
+ ctx := context.Background()
+ tracker.ProcessFile(ctx, "test", file, nil)
+ require.Equal(t, 1, tracker.Count())
+
+ tracker.Finalize(ctx)
+ token, err := jwt.ParseWithClaims(r.Header.Get(RewrittenFieldsHeader), &MultipartClaims{}, testhelper.ParseJWT)
+ require.NoError(t, err)
+
+ rewrittenFields := token.Claims.(*MultipartClaims).RewrittenFields
+ require.Equal(t, 1, len(rewrittenFields))
+
+ require.Contains(t, rewrittenFields, "test")
+}