重构项目

This commit is contained in:
ExplodingDragon
2025-11-13 23:31:23 +08:00
parent 54bbef0205
commit 02df131beb
12 changed files with 248 additions and 68 deletions

View File

@@ -73,8 +73,12 @@ func (t *TestServer) AddFile(path, data string, args ...interface{}) {
}
func (t *TestServer) OpenFile(url string) ([]byte, *http.Response, error) {
return t.OpenRequest(http.MethodGet, url, nil)
}
func (t *TestServer) OpenRequest(method, url string, body io.Reader) ([]byte, *http.Response, error) {
recorder := httptest.NewRecorder()
t.server.ServeHTTP(recorder, httptest.NewRequest(http.MethodGet, url, nil))
t.server.ServeHTTP(recorder, httptest.NewRequest(method, url, body))
response := recorder.Result()
if response.Body != nil {
defer response.Body.Close()

View File

@@ -7,7 +7,8 @@ import (
"gopkg.d7z.net/gitea-pages/tests/core"
)
func test_proxy(t *testing.T) {
func TestProxy(t *testing.T) {
t.Skip()
server := core.NewDefaultTestServer()
hs := core.NewServer()
defer server.Close()
@@ -40,7 +41,8 @@ proxy:
assert.Equal(t, 404, resp.StatusCode)
}
func test_cname_proxy(t *testing.T) {
func TestCnameProxy(t *testing.T) {
t.Skip()
server := core.NewDefaultTestServer()
hs := core.NewServer()
defer server.Close()

View File

@@ -1,6 +1,7 @@
package tests
import (
"net/http"
"testing"
"github.com/stretchr/testify/assert"
@@ -15,7 +16,7 @@ func Test_JS(t *testing.T) {
function get(a,b) {
return a + b;
}
request.Write()
response.write('512 + 512 = ' + get(512,512))
`)
server.AddFile("org1/repo1/gh-pages/.pages.yaml", `
routes:
@@ -30,5 +31,28 @@ routes:
data, _, err = server.OpenFile("https://org1.example.com/repo1/api/v1/get")
assert.NoError(t, err)
assert.Equal(t, "512 + 512 = 1024", string(data))
}
func Test_JS_Request(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/index.js", `response.write(request.method+' /'+request.path)`)
server.AddFile("org1/repo1/gh-pages/.pages.yaml", `
routes:
- path: "api/v1/**"
qjs:
exec: "index.js"
`)
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/api/v1/fetch")
assert.NoError(t, err)
assert.Equal(t, "GET /api/v1/fetch", string(data))
data, _, err = server.OpenRequest(http.MethodPost, "https://org1.example.com/repo1/api/v1/fetch", nil)
assert.NoError(t, err)
assert.Equal(t, "POST /api/v1/fetch", string(data))
}