重构路由
This commit is contained in:
@@ -30,7 +30,7 @@ func NewDummy() (*ProviderDummy, error) {
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (p *ProviderDummy) Repos(ctx context.Context, owner string) (map[string]string, error) {
|
||||
func (p *ProviderDummy) Repos(_ context.Context, owner string) (map[string]string, error) {
|
||||
dir, err := os.ReadDir(filepath.Join(p.BaseDir, owner))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@@ -44,7 +44,7 @@ func (p *ProviderDummy) Repos(ctx context.Context, owner string) (map[string]str
|
||||
return repos, nil
|
||||
}
|
||||
|
||||
func (p *ProviderDummy) Branches(ctx context.Context, owner, repo string) (map[string]*core.BranchInfo, error) {
|
||||
func (p *ProviderDummy) Branches(_ context.Context, owner, repo string) (map[string]*core.BranchInfo, error) {
|
||||
dir, err := os.ReadDir(filepath.Join(p.BaseDir, owner, repo))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
||||
@@ -99,47 +99,3 @@ func Test_fail_back(t *testing.T) {
|
||||
assert.Equal(t, "hello world 2", string(data))
|
||||
})
|
||||
}
|
||||
|
||||
func Test_get_v_route(t *testing.T) {
|
||||
server := core.NewDefaultTestServer()
|
||||
defer server.Close()
|
||||
server.AddFile("org1/repo1/gh-pages/index.html", "hello world")
|
||||
server.AddFile("org1/repo1/gh-pages/.pages.yaml", `
|
||||
v-route: true
|
||||
`)
|
||||
data, _, err := server.OpenFile("https://org1.example.com/repo1/")
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, "hello world", string(data))
|
||||
|
||||
data, _, err = server.OpenFile("https://org1.example.com/repo1/404")
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, "hello world", string(data))
|
||||
}
|
||||
|
||||
func Test_get_v_ignore(t *testing.T) {
|
||||
server := core.NewDefaultTestServer()
|
||||
defer server.Close()
|
||||
server.AddFile("org1/repo1/gh-pages/index.html", "hello world")
|
||||
server.AddFile("org1/repo1/gh-pages/bad.html", "hello world")
|
||||
server.AddFile("org1/repo1/gh-pages/.pages.yaml", `
|
||||
ignore: .pages.yaml
|
||||
`)
|
||||
data, _, err := server.OpenFile("https://org1.example.com/repo1/")
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, "hello world", string(data))
|
||||
|
||||
data, _, err = server.OpenFile("https://org1.example.com/repo1/bad.html")
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, "hello world", string(data))
|
||||
server.AddFile("org1/repo1/gh-pages/.pages.yaml", `
|
||||
ignore: bad.*
|
||||
`)
|
||||
data, _, err = server.OpenFile("https://org1.example.com/repo1/")
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, "hello world", string(data))
|
||||
_, resp, _ := server.OpenFile("https://org1.example.com/repo1/bad.html")
|
||||
assert.Equal(t, 404, resp.StatusCode)
|
||||
// 默认排除的内容
|
||||
_, resp, _ = server.OpenFile("https://org1.example.com/repo1/.pages.yaml")
|
||||
assert.Equal(t, 404, resp.StatusCode)
|
||||
}
|
||||
36
tests/filter_block_test.go
Normal file
36
tests/filter_block_test.go
Normal file
@@ -0,0 +1,36 @@
|
||||
package tests
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
"gopkg.d7z.net/gitea-pages/tests/core"
|
||||
)
|
||||
|
||||
func Test_filter_block(t *testing.T) {
|
||||
server := core.NewDefaultTestServer()
|
||||
defer server.Close()
|
||||
server.AddFile("org1/repo1/gh-pages/index.html", "hello world")
|
||||
server.AddFile("org1/repo1/gh-pages/bad.html", "hello world")
|
||||
data, _, err := server.OpenFile("https://org1.example.com/repo1/")
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, "hello world", string(data))
|
||||
|
||||
data, _, err = server.OpenFile("https://org1.example.com/repo1/bad.html")
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, "hello world", string(data))
|
||||
server.AddFile("org1/repo1/gh-pages/.pages.yaml", `
|
||||
routes:
|
||||
- path: "bad.html"
|
||||
block:
|
||||
code:
|
||||
`)
|
||||
data, _, err = server.OpenFile("https://org1.example.com/repo1/")
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, "hello world", string(data))
|
||||
_, resp, _ := server.OpenFile("https://org1.example.com/repo1/bad.html")
|
||||
assert.Equal(t, 403, resp.StatusCode)
|
||||
// 默认排除的内容
|
||||
_, resp, _ = server.OpenFile("https://org1.example.com/repo1/.pages.yaml")
|
||||
assert.Equal(t, 403, resp.StatusCode)
|
||||
}
|
||||
35
tests/filter_failback_test.go
Normal file
35
tests/filter_failback_test.go
Normal file
@@ -0,0 +1,35 @@
|
||||
package tests
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
"gopkg.d7z.net/gitea-pages/tests/core"
|
||||
)
|
||||
|
||||
func Test_filter_failback(t *testing.T) {
|
||||
server := core.NewDefaultTestServer()
|
||||
defer server.Close()
|
||||
server.AddFile("org1/repo1/gh-pages/index.html", "hello world")
|
||||
server.AddFile("org1/repo1/gh-pages/404.html", "404 page")
|
||||
server.AddFile("org1/repo1/gh-pages/.pages.yaml", `
|
||||
routes:
|
||||
- path: "**"
|
||||
failback:
|
||||
path: index.html
|
||||
|
||||
`)
|
||||
//data, _, err := server.OpenFile("https://org1.example.com/repo1/")
|
||||
//assert.NoError(t, err)
|
||||
//assert.Equal(t, "hello world", string(data))
|
||||
//
|
||||
//// 测试默认回退
|
||||
//data, _, err = server.OpenFile("https://org1.example.com/repo1/404")
|
||||
//assert.NoError(t, err)
|
||||
//assert.Equal(t, "hello world", string(data))
|
||||
|
||||
// 测试存在的页面
|
||||
data, _, err := server.OpenFile("https://org1.example.com/repo1/404.html")
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, "404 page", string(data))
|
||||
}
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
"gopkg.d7z.net/gitea-pages/tests/core"
|
||||
)
|
||||
|
||||
func Test_proxy(t *testing.T) {
|
||||
func test_proxy(t *testing.T) {
|
||||
server := core.NewDefaultTestServer()
|
||||
hs := core.NewServer()
|
||||
defer server.Close()
|
||||
@@ -17,8 +17,12 @@ func Test_proxy(t *testing.T) {
|
||||
|
||||
server.AddFile("org1/repo1/gh-pages/index.html", "hello world")
|
||||
server.AddFile("org1/repo1/gh-pages/.pages.yaml", `
|
||||
routes:
|
||||
- path: /api/**
|
||||
reverse_proxy:
|
||||
prefix: /api
|
||||
target: %s
|
||||
proxy:
|
||||
/api: %s/test
|
||||
/abi: %s/
|
||||
`, hs.URL, hs.URL)
|
||||
data, _, err := server.OpenFile("https://org1.example.com/repo1/")
|
||||
@@ -36,7 +40,7 @@ proxy:
|
||||
assert.Equal(t, 404, resp.StatusCode)
|
||||
}
|
||||
|
||||
func Test_cname_proxy(t *testing.T) {
|
||||
func test_cname_proxy(t *testing.T) {
|
||||
server := core.NewDefaultTestServer()
|
||||
hs := core.NewServer()
|
||||
defer server.Close()
|
||||
@@ -9,14 +9,16 @@ import (
|
||||
_ "gopkg.d7z.net/gitea-pages/pkg/renders"
|
||||
)
|
||||
|
||||
func Test_get_render(t *testing.T) {
|
||||
func Test_Filter_Template(t *testing.T) {
|
||||
server := core.NewDefaultTestServer()
|
||||
defer server.Close()
|
||||
server.AddFile("org1/repo1/gh-pages/index.html", "hello world")
|
||||
server.AddFile("org1/repo1/gh-pages/tmpl/index.html", "hello world,{{ .Request.Host }}")
|
||||
server.AddFile("org1/repo1/gh-pages/tmpl/ignore.html", "hello world, No Template")
|
||||
server.AddFile("org1/repo1/gh-pages/.pages.yaml", `
|
||||
templates:
|
||||
gotemplate: tmpl/*.html
|
||||
routes:
|
||||
- path: tmpl/index.html
|
||||
template:
|
||||
`)
|
||||
data, _, err := server.OpenFile("https://org1.example.com/repo1/")
|
||||
assert.NoError(t, err)
|
||||
@@ -25,4 +27,8 @@ templates:
|
||||
data, _, err = server.OpenFile("https://org1.example.com/repo1/tmpl/index.html")
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, "hello world,org1.example.com", string(data))
|
||||
|
||||
data, _, err = server.OpenFile("https://org1.example.com/repo1/tmpl/ignore.html")
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, "hello world, No Template", string(data))
|
||||
}
|
||||
Reference in New Issue
Block a user