mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-29 10:57:44 +09:00 
			
		
		
		
	Fix LFS route mock, realm, middleware names (#32488)
1. move "internal-lfs" route mock to "common-lfs" 2. fine tune tests 3. fix "realm" strings, according to RFC: https://datatracker.ietf.org/doc/html/rfc2617: * realm = "realm" "=" realm-value * realm-value = quoted-string 4. clarify some names of the middlewares, rename `ignXxx` to `optXxx` to match `reqXxx`, and rename ambiguous `requireSignIn` to `reqGitSignIn`
This commit is contained in:
		| @@ -4,14 +4,18 @@ | ||||
| package integration | ||||
|  | ||||
| import ( | ||||
| 	gocontext "context" | ||||
| 	"net/url" | ||||
| 	"slices" | ||||
| 	"strings" | ||||
| 	"sync" | ||||
| 	"testing" | ||||
|  | ||||
| 	auth_model "code.gitea.io/gitea/models/auth" | ||||
| 	"code.gitea.io/gitea/modules/git" | ||||
| 	"code.gitea.io/gitea/modules/setting" | ||||
| 	"code.gitea.io/gitea/modules/web" | ||||
| 	"code.gitea.io/gitea/routers/private" | ||||
| 	"code.gitea.io/gitea/routers/common" | ||||
| 	"code.gitea.io/gitea/services/context" | ||||
|  | ||||
| 	"github.com/stretchr/testify/assert" | ||||
| @@ -25,7 +29,7 @@ func TestGitLFSSSH(t *testing.T) { | ||||
|  | ||||
| 		var mu sync.Mutex | ||||
| 		var routerCalls []string | ||||
| 		web.RouteMock(private.RouterMockPointInternalLFS, func(ctx *context.PrivateContext) { | ||||
| 		web.RouteMock(common.RouterMockPointCommonLFS, func(ctx *context.Base) { | ||||
| 			mu.Lock() | ||||
| 			routerCalls = append(routerCalls, ctx.Req.Method+" "+ctx.Req.URL.Path) | ||||
| 			mu.Unlock() | ||||
| @@ -42,20 +46,18 @@ func TestGitLFSSSH(t *testing.T) { | ||||
| 			setting.LFS.AllowPureSSH = true | ||||
| 			require.NoError(t, cfg.Save()) | ||||
|  | ||||
| 			// do LFS SSH transfer? | ||||
| 			_, _, cmdErr := git.NewCommand(gocontext.Background(), "config", "lfs.sshtransfer", "always").RunStdString(&git.RunOpts{Dir: dstPath}) | ||||
| 			assert.NoError(t, cmdErr) | ||||
| 			lfsCommitAndPushTest(t, dstPath, 10) | ||||
| 		}) | ||||
|  | ||||
| 		// FIXME: Here we only see the following calls, but actually there should be calls to "PUT"? | ||||
| 		// 0 = {string} "GET /api/internal/repo/user2/repo1.git/info/lfs/locks" | ||||
| 		// 1 = {string} "POST /api/internal/repo/user2/repo1.git/info/lfs/objects/batch" | ||||
| 		// 2 = {string} "GET /api/internal/repo/user2/repo1.git/info/lfs/locks" | ||||
| 		// 3 = {string} "POST /api/internal/repo/user2/repo1.git/info/lfs/locks" | ||||
| 		// 4 = {string} "GET /api/internal/repo/user2/repo1.git/info/lfs/locks" | ||||
| 		// 5 = {string} "GET /api/internal/repo/user2/repo1.git/info/lfs/locks" | ||||
| 		// 6 = {string} "GET /api/internal/repo/user2/repo1.git/info/lfs/locks" | ||||
| 		// 7 = {string} "POST /api/internal/repo/user2/repo1.git/info/lfs/locks/24/unlock" | ||||
| 		assert.NotEmpty(t, routerCalls) | ||||
| 		// assert.Contains(t, routerCalls, "PUT /api/internal/repo/user2/repo1.git/info/lfs/objects/....") | ||||
| 		countBatch := slices.ContainsFunc(routerCalls, func(s string) bool { | ||||
| 			return strings.Contains(s, "POST /api/internal/repo/user2/repo1.git/info/lfs/objects/batch") | ||||
| 		}) | ||||
| 		countUpload := slices.ContainsFunc(routerCalls, func(s string) bool { | ||||
| 			return strings.Contains(s, "PUT /user2/repo1.git/info/lfs/objects/") | ||||
| 		}) | ||||
| 		assert.NotZero(t, countBatch) | ||||
| 		assert.NotZero(t, countUpload) | ||||
| 	}) | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user