aboutsummaryrefslogtreecommitdiffstats
path: root/integrations
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2020-11-13 20:51:07 +0800
committerGitHub <noreply@github.com>2020-11-13 14:51:07 +0200
commitc296f4fed66288431fa7ec3a64f990beccd29eb1 (patch)
tree6b2f1971303967671bd5da1d1149407e410d62bd /integrations
parent0ae35c66f2efe608e3176f796866c18461f0780f (diff)
downloadgitea-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.go8
-rw-r--r--integrations/git_helper_for_declarative_test.go2
-rw-r--r--integrations/integration_test.go12
-rw-r--r--integrations/oauth_test.go12
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)
}