feat: Add tests for the repository picking behaviour
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
2024-01-06 14:47:47 +01:00
parent 3692168346
commit 493758f56f
9 changed files with 555 additions and 105 deletions

View File

@@ -23,7 +23,7 @@ import (
"github.com/urfave/cli/v2"
)
func handleSubdomain(domain string, cname string, path, giteaUrl string, giteaClient *gitea.Client, w http.ResponseWriter) {
func handleSubdomain(domain string, cname string, path, giteaUrl string, giteaClient *repo.GiteaClient, w http.ResponseWriter) {
hostParts := strings.Split(domain, ".")
username := hostParts[0]
@@ -45,10 +45,10 @@ func handleSubdomain(domain string, cname string, path, giteaUrl string, giteaCl
return
}
pages.ServeFile(username, repo.Name, path, giteaUrl, w)
pages.ServeFile(username, repo.Name, path, giteaClient, w)
}
func Handler(pagesDomain, giteaUrl string, giteaClient *gitea.Client) http.HandlerFunc {
func Handler(pagesDomain, giteaUrl string, giteaClient *repo.GiteaClient) http.HandlerFunc {
return func(w http.ResponseWriter, req *http.Request) {
w.Header().Set("Server", "rio")
@@ -97,12 +97,16 @@ func runServer(ctx *cli.Context) error {
// Setup the Gitea stuff
httpClient := http.Client{Timeout: 10 * time.Second}
giteaClient, err := gitea.NewClient(
giteaApiClient, err := gitea.NewClient(
giteaUrl,
gitea.SetHTTPClient(&httpClient),
gitea.SetToken(""),
gitea.SetUserAgent("rio"),
)
if err != nil {
return err
}
giteaClient := repo.NewGiteaClient(giteaUrl, giteaApiClient)
// Listen on the port
addr := ctx.String("listen-host") + ":" + ctx.String("listen-port")
@@ -163,12 +167,12 @@ func runServer(ctx *cli.Context) error {
certsFile,
&cache,
acmeClient,
giteaClient,
&giteaClient,
)
listener = tls.NewListener(listener, tlsConfig)
}
if err := http.Serve(listener, Handler(domain, giteaUrl, giteaClient)); err != nil {
if err := http.Serve(listener, Handler(domain, giteaUrl, &giteaClient)); err != nil {
fmt.Printf("Listening failed")
return err
}