From 1df0a1d252f424c33e74455eee48222d7ef65b93 Mon Sep 17 00:00:00 2001 From: dancheg97 Date: Sun, 9 Jul 2023 18:26:01 +0300 Subject: [PATCH] fixed file size for mock and scope of time patch --- modules/setting/packages.go | 1 + routers/api/packages/arch/arch.go | 1 + services/packages/packages.go | 2 ++ tests/integration/api_packages_arch_test.go | 15 +++++++++++---- 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/modules/setting/packages.go b/modules/setting/packages.go index dc8d98d29f..0eb5a586c6 100644 --- a/modules/setting/packages.go +++ b/modules/setting/packages.go @@ -24,6 +24,7 @@ var ( LimitTotalOwnerCount int64 LimitTotalOwnerSize int64 LimitSizeAlpine int64 + LimitSizeArch int64 LimitSizeCargo int64 LimitSizeChef int64 LimitSizeComposer int64 diff --git a/routers/api/packages/arch/arch.go b/routers/api/packages/arch/arch.go index 6d489d84d7..f52fcd27aa 100644 --- a/routers/api/packages/arch/arch.go +++ b/routers/api/packages/arch/arch.go @@ -59,6 +59,7 @@ func Push(ctx *context.Context) { return } + // Check if message is outdated. if time.Since(t) > time.Hour { apiError(ctx, http.StatusUnauthorized, "outdated message") return diff --git a/services/packages/packages.go b/services/packages/packages.go index bdc56efeef..b7dd75d33d 100644 --- a/services/packages/packages.go +++ b/services/packages/packages.go @@ -355,6 +355,8 @@ func CheckSizeQuotaExceeded(ctx context.Context, doer, owner *user_model.User, p switch packageType { case packages_model.TypeAlpine: typeSpecificSize = setting.Packages.LimitSizeAlpine + case packages_model.TypeArch: + typeSpecificSize = setting.Packages.LimitSizeArch case packages_model.TypeCargo: typeSpecificSize = setting.Packages.LimitSizeCargo case packages_model.TypeChef: diff --git a/tests/integration/api_packages_arch_test.go b/tests/integration/api_packages_arch_test.go index 2d1c77ec2e..bba6896b1c 100644 --- a/tests/integration/api_packages_arch_test.go +++ b/tests/integration/api_packages_arch_test.go @@ -249,6 +249,8 @@ ht719b7ZWR3+SRcXySXC/cP8DL/N12kaf8wQSBkjjLKkAPBDnLyL32YFQur67qtbXtxcd/23w375 assert.NoError(t, unittest.PrepareTestDatabase()) + setting.Packages.LimitSizeArch = 99999999999999 + user := &user_model.User{ Name: "dancheg97", Email: "dancheg97@fmnx.su", @@ -267,7 +269,7 @@ ht719b7ZWR3+SRcXySXC/cP8DL/N12kaf8wQSBkjjLKkAPBDnLyL32YFQur67qtbXtxcd/23w375 req := NewRequestWithJSON(t, "POST", "/api/v1/user/gpg_keys?token="+token, api.CreateGPGKeyOption{ ArmoredKey: gpgkey, }) - MakeRequest(t, req, http.StatusOK) + MakeRequest(t, req, http.StatusCreated) pkgData, err := base64.StdEncoding.DecodeString(pkg) assert.NoError(t, err) @@ -286,12 +288,11 @@ ht719b7ZWR3+SRcXySXC/cP8DL/N12kaf8wQSBkjjLKkAPBDnLyL32YFQur67qtbXtxcd/23w375 wayback, err := time.Parse(time.RFC3339, "2023-07-04T19:57:09+03:00") assert.NoError(t, err) - patch := monkey.Patch(time.Now, func() time.Time { return wayback }) - defer patch.Unpatch() - t.Run("Push", func(t *testing.T) { defer tests.PrintCurrentTest(t)() + patch := monkey.Patch(time.Now, func() time.Time { return wayback }) + req := NewRequest(t, "PUT", path.Join(rootURL, "/push")) req.Header.Set("filename", "randpkg-1-1-x86_64.pkg.tar.zst") @@ -304,6 +305,8 @@ ht719b7ZWR3+SRcXySXC/cP8DL/N12kaf8wQSBkjjLKkAPBDnLyL32YFQur67qtbXtxcd/23w375 req.Body = io.NopCloser(bytes.NewReader(pkgData)) MakeRequest(t, req, http.StatusOK) + + patch.Unpatch() }) t.Run("Get", func(t *testing.T) { @@ -338,6 +341,8 @@ ht719b7ZWR3+SRcXySXC/cP8DL/N12kaf8wQSBkjjLKkAPBDnLyL32YFQur67qtbXtxcd/23w375 t.Run("Remove", func(t *testing.T) { defer tests.PrintCurrentTest(t)() + patch := monkey.Patch(time.Now, func() time.Time { return wayback }) + req := NewRequest(t, "PUT", path.Join(rootURL, "/push")) req.Header.Set("username", "dancheg97") @@ -349,5 +354,7 @@ ht719b7ZWR3+SRcXySXC/cP8DL/N12kaf8wQSBkjjLKkAPBDnLyL32YFQur67qtbXtxcd/23w375 req.Body = io.NopCloser(bytes.NewReader(mdSigData)) MakeRequest(t, req, http.StatusOK) + + patch.Unpatch() }) }