Files
codit/backend/internal/git/http_test.go

39 lines
937 B
Go

package git
import "net/http"
import "net/http/httptest"
import "path/filepath"
import "testing"
type flushRecorder struct {
*httptest.ResponseRecorder
flushed bool
}
func (f *flushRecorder) Flush() {
f.flushed = true
}
func TestRepoPathFromRequest(t *testing.T) {
var server HTTPServer
var req *http.Request
var got string
server = HTTPServer{baseDir: filepath.Join("data", "git")}
req = httptest.NewRequest(http.MethodGet, "/p/r.git/info/refs", nil)
got = server.repoPathFromRequest(req)
if got != filepath.Join("data", "git", "p", "r.git") {
t.Fatalf("unexpected repo path: %s", got)
}
}
func TestStatusRecorderFlush(t *testing.T) {
var base *flushRecorder
var recorder *statusRecorder
base = &flushRecorder{ResponseRecorder: httptest.NewRecorder()}
recorder = &statusRecorder{ResponseWriter: base, status: http.StatusOK}
recorder.Flush()
if !base.flushed {
t.Fatalf("expected Flush() to be forwarded")
}
}