Files
GitOcean-Old/internal/app/git_http_test.go
T
2026-06-08 13:34:53 -05:00

32 lines
899 B
Go

package app
import (
"net/http"
"net/url"
"testing"
)
func TestParseGitPath(t *testing.T) {
owner, repo, rest, ok := parseGitPath("/Alice/Demo.git/info/refs")
if !ok {
t.Fatal("expected path to parse")
}
if owner != "Alice" || repo != "Demo" || rest != "/info/refs" {
t.Fatalf("unexpected parse: %s %s %s", owner, repo, rest)
}
if _, _, _, ok := parseGitPath("/bad/path"); ok {
t.Fatal("expected invalid path")
}
}
func TestGitService(t *testing.T) {
req := &http.Request{Method: http.MethodGet, URL: &url.URL{RawQuery: "service=git-upload-pack"}}
if got := gitService(req); got != "git-upload-pack" {
t.Fatalf("unexpected upload-pack service: %q", got)
}
req = &http.Request{Method: http.MethodPost, URL: &url.URL{Path: "/alice/demo.git/git-receive-pack"}}
if got := gitService(req); got != "git-receive-pack" {
t.Fatalf("unexpected receive-pack service: %q", got)
}
}