diff options
author | Lunny Xiao <xiaolunwen@gmail.com> | 2020-11-13 20:51:07 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-13 14:51:07 +0200 |
commit | c296f4fed66288431fa7ec3a64f990beccd29eb1 (patch) | |
tree | 6b2f1971303967671bd5da1d1149407e410d62bd /integrations | |
parent | 0ae35c66f2efe608e3176f796866c18461f0780f (diff) | |
download | gitea-c296f4fed66288431fa7ec3a64f990beccd29eb1.tar.gz gitea-c296f4fed66288431fa7ec3a64f990beccd29eb1.zip |
Introduce go chi web framework as frontend of macaron, so that we can move routes from macaron to chi step by step (#7420)
* When route cannot be found on chi, go to macaron
* Stick chi version to 1.5.0
* Follow router log setting
Diffstat (limited to 'integrations')
-rw-r--r-- | integrations/create_no_session_test.go | 8 | ||||
-rw-r--r-- | integrations/git_helper_for_declarative_test.go | 2 | ||||
-rw-r--r-- | integrations/integration_test.go | 12 | ||||
-rw-r--r-- | integrations/oauth_test.go | 12 |
4 files changed, 23 insertions, 11 deletions
diff --git a/integrations/create_no_session_test.go b/integrations/create_no_session_test.go index 5380d17509..671c6cd517 100644 --- a/integrations/create_no_session_test.go +++ b/integrations/create_no_session_test.go @@ -58,8 +58,8 @@ func TestSessionFileCreation(t *testing.T) { oldSessionConfig := setting.SessionConfig.ProviderConfig defer func() { setting.SessionConfig.ProviderConfig = oldSessionConfig - mac = routes.NewMacaron() - routes.RegisterRoutes(mac) + c = routes.NewChi() + routes.RegisterRoutes(c) }() var config session.Options @@ -83,8 +83,8 @@ func TestSessionFileCreation(t *testing.T) { setting.SessionConfig.ProviderConfig = string(newConfigBytes) - mac = routes.NewMacaron() - routes.RegisterRoutes(mac) + c = routes.NewChi() + routes.RegisterRoutes(c) t.Run("NoSessionOnViewIssue", func(t *testing.T) { defer PrintCurrentTest(t)() diff --git a/integrations/git_helper_for_declarative_test.go b/integrations/git_helper_for_declarative_test.go index 5823ce38dc..04b4c99013 100644 --- a/integrations/git_helper_for_declarative_test.go +++ b/integrations/git_helper_for_declarative_test.go @@ -82,7 +82,7 @@ func onGiteaRun(t *testing.T, callback func(*testing.T, *url.URL), prepare ...bo defer prepareTestEnv(t, 1)() } s := http.Server{ - Handler: mac, + Handler: c, } u, err := url.Parse(setting.AppURL) diff --git a/integrations/integration_test.go b/integrations/integration_test.go index 13a1bac370..1e42fb5333 100644 --- a/integrations/integration_test.go +++ b/integrations/integration_test.go @@ -34,13 +34,13 @@ import ( "code.gitea.io/gitea/routers" "code.gitea.io/gitea/routers/routes" - "gitea.com/macaron/macaron" "github.com/PuerkitoBio/goquery" + "github.com/go-chi/chi" "github.com/stretchr/testify/assert" "github.com/unknwon/com" ) -var mac *macaron.Macaron +var c chi.Router type NilResponseRecorder struct { httptest.ResponseRecorder @@ -67,8 +67,8 @@ func TestMain(m *testing.M) { defer cancel() initIntegrationTest() - mac = routes.NewMacaron() - routes.RegisterRoutes(mac) + c = routes.NewChi() + routes.RegisterRoutes(c) // integration test settings... if setting.Cfg != nil { @@ -404,7 +404,7 @@ const NoExpectedStatus = -1 func MakeRequest(t testing.TB, req *http.Request, expectedStatus int) *httptest.ResponseRecorder { t.Helper() recorder := httptest.NewRecorder() - mac.ServeHTTP(recorder, req) + c.ServeHTTP(recorder, req) if expectedStatus != NoExpectedStatus { if !assert.EqualValues(t, expectedStatus, recorder.Code, "Request: %s %s", req.Method, req.URL.String()) { @@ -417,7 +417,7 @@ func MakeRequest(t testing.TB, req *http.Request, expectedStatus int) *httptest. func MakeRequestNilResponseRecorder(t testing.TB, req *http.Request, expectedStatus int) *NilResponseRecorder { t.Helper() recorder := NewNilResponseRecorder() - mac.ServeHTTP(recorder, req) + c.ServeHTTP(recorder, req) if expectedStatus != NoExpectedStatus { if !assert.EqualValues(t, expectedStatus, recorder.Code, "Request: %s %s", req.Method, req.URL.String()) { diff --git a/integrations/oauth_test.go b/integrations/oauth_test.go index 1307baba89..a9e48b061f 100644 --- a/integrations/oauth_test.go +++ b/integrations/oauth_test.go @@ -5,7 +5,9 @@ package integrations import ( + "bytes" "encoding/json" + "io/ioutil" "testing" "code.gitea.io/gitea/modules/setting" @@ -233,11 +235,21 @@ func TestRefreshTokenInvalidation(t *testing.T) { "redirect_uri": "a", "refresh_token": parsed.RefreshToken, }) + // tip: Why this changed, because macaron will set req.Body back when consume the req but chi will not. + bs, err := ioutil.ReadAll(refreshReq.Body) + assert.NoError(t, err) + + refreshReq.Body = ioutil.NopCloser(bytes.NewReader(bs)) MakeRequest(t, refreshReq, 200) + + refreshReq.Body = ioutil.NopCloser(bytes.NewReader(bs)) MakeRequest(t, refreshReq, 200) // test with invalidation setting.OAuth2.InvalidateRefreshTokens = true + refreshReq.Body = ioutil.NopCloser(bytes.NewReader(bs)) MakeRequest(t, refreshReq, 200) + + refreshReq.Body = ioutil.NopCloser(bytes.NewReader(bs)) MakeRequest(t, refreshReq, 400) } |