mirror of
				https://github.com/go-gitea/gitea
				synced 2025-10-31 11:28:24 +00:00 
			
		
		
		
	Decouple the different contexts from each other (#24786)
Replace #16455 Close #21803 Mixing different Gitea contexts together causes some problems: 1. Unable to respond proper content when error occurs, eg: Web should respond HTML while API should respond JSON 2. Unclear dependency, eg: it's unclear when Context is used in APIContext, which fields should be initialized, which methods are necessary. To make things clear, this PR introduces a Base context, it only provides basic Req/Resp/Data features. This PR mainly moves code. There are still many legacy problems and TODOs in code, leave unrelated changes to future PRs.
This commit is contained in:
		| @@ -9,7 +9,6 @@ import ( | ||||
|  | ||||
| 	"code.gitea.io/gitea/models/unittest" | ||||
| 	"code.gitea.io/gitea/models/webhook" | ||||
| 	"code.gitea.io/gitea/modules/context" | ||||
| 	"code.gitea.io/gitea/modules/test" | ||||
|  | ||||
| 	"github.com/stretchr/testify/assert" | ||||
| @@ -18,12 +17,12 @@ import ( | ||||
| func TestTestHook(t *testing.T) { | ||||
| 	unittest.PrepareTestEnv(t) | ||||
|  | ||||
| 	ctx := test.MockContext(t, "user2/repo1/wiki/_pages") | ||||
| 	ctx := test.MockAPIContext(t, "user2/repo1/wiki/_pages") | ||||
| 	ctx.SetParams(":id", "1") | ||||
| 	test.LoadRepo(t, ctx, 1) | ||||
| 	test.LoadRepoCommit(t, ctx) | ||||
| 	test.LoadUser(t, ctx, 2) | ||||
| 	TestHook(&context.APIContext{Context: ctx, Org: nil}) | ||||
| 	TestHook(ctx) | ||||
| 	assert.EqualValues(t, http.StatusNoContent, ctx.Resp.Status()) | ||||
|  | ||||
| 	unittest.AssertExistsAndLoadBean(t, &webhook.HookTask{ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user