diff options
author | KN4CK3R <admin@oldschoolhack.me> | 2022-12-10 01:11:46 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-10 02:11:46 +0200 |
commit | b54c064f89725b803bcc2a2017eec6895ad07175 (patch) | |
tree | b192e674dfdd9e0eccdd11273c608335c936ce82 /tests | |
parent | c0ca9c612b70c14f41d6d9a0f915ece899bd0188 (diff) | |
download | gitea-b54c064f89725b803bcc2a2017eec6895ad07175.tar.gz gitea-b54c064f89725b803bcc2a2017eec6895ad07175.zip |
Workaround for container registry push/pull errors (#21862) (#22068)
Backport of #21862
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/integration/api_packages_container_test.go | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/integration/api_packages_container_test.go b/tests/integration/api_packages_container_test.go index ba76ee4baa..60cbecd067 100644 --- a/tests/integration/api_packages_container_test.go +++ b/tests/integration/api_packages_container_test.go @@ -6,10 +6,12 @@ package integration import ( "bytes" + "crypto/sha256" "encoding/base64" "fmt" "net/http" "strings" + "sync" "testing" "code.gitea.io/gitea/models/db" @@ -594,6 +596,32 @@ func TestPackageContainer(t *testing.T) { }) } + // https://github.com/go-gitea/gitea/issues/19586 + t.Run("ParallelUpload", func(t *testing.T) { + defer tests.PrintCurrentTest(t)() + + url := fmt.Sprintf("%sv2/%s/parallel", setting.AppURL, user.Name) + + var wg sync.WaitGroup + for i := 0; i < 10; i++ { + wg.Add(1) + + content := []byte{byte(i)} + digest := fmt.Sprintf("sha256:%x", sha256.Sum256(content)) + + go func() { + defer wg.Done() + + req := NewRequestWithBody(t, "POST", fmt.Sprintf("%s/blobs/uploads?digest=%s", url, digest), bytes.NewReader(content)) + addTokenAuthHeader(req, userToken) + resp := MakeRequest(t, req, http.StatusCreated) + + assert.Equal(t, digest, resp.Header().Get("Docker-Content-Digest")) + }() + } + wg.Wait() + }) + t.Run("OwnerNameChange", func(t *testing.T) { defer tests.PrintCurrentTest(t)() |