aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Resnick <max@ofmax.li>2022-11-25 09:43:26 -0800
committerMax Resnick <max@ofmax.li>2022-11-25 09:43:26 -0800
commit9e79e588131b0d59abefd84405cb7908bc2baa77 (patch)
treea56aa371d2c750514b66a49ed858f8329fb2c95f
parent3c1c6bc584568ecc635a0b0fa4f68f3e2e9c1528 (diff)
downloadgo-git-server-9e79e588131b0d59abefd84405cb7908bc2baa77.tar.gz
stub git backend tests, add readme notes, etc
-rw-r--r--README.md9
-rw-r--r--internal/authz/middleware_test.go9
-rw-r--r--internal/git/handler.go1
-rw-r--r--internal/git/handler_test.go14
-rw-r--r--testpolicy.csv3
5 files changed, 33 insertions, 3 deletions
diff --git a/README.md b/README.md
index 8fbd96e..0b04925 100644
--- a/README.md
+++ b/README.md
@@ -17,3 +17,12 @@ The current focus is for a single user and CI user(s) and intends to become self
## Why
Tools like gitea are great, but they require things like a DBMS. This increases hosting comlexity and maintenance especially for small teams or single user bases.
+
+
+# TODO
+
+* Admin repo
+* read ini file
+* create repo
+* update gitweb config per repo
+* migration from gitolite
diff --git a/internal/authz/middleware_test.go b/internal/authz/middleware_test.go
index 4a11056..8dbc30f 100644
--- a/internal/authz/middleware_test.go
+++ b/internal/authz/middleware_test.go
@@ -30,7 +30,8 @@ func TestAuthentication(t *testing.T) {
statusCode int
handler func(http.ResponseWriter, *http.Request)
}{
- {username: okUserName,
+ {
+ username: okUserName,
token: token,
tm: tm,
statusCode: http.StatusOK,
@@ -44,14 +45,16 @@ func TestAuthentication(t *testing.T) {
},
},
- {username: badUserName,
+ {
+ username: badUserName,
token: token,
tm: tm,
statusCode: http.StatusForbidden,
description: "Bad usename",
handler: junkTestHandler,
},
- {username: okUserName,
+ {
+ username: okUserName,
token: badToken,
tm: tm,
statusCode: http.StatusForbidden,
diff --git a/internal/git/handler.go b/internal/git/handler.go
index 5a3b3e6..6f29483 100644
--- a/internal/git/handler.go
+++ b/internal/git/handler.go
@@ -18,6 +18,7 @@ func GitHttpBackendHandler(reposDir, backendCommand string) http.Handler {
Dir: ".",
Env: []string{
projectDirEnv,
+ // TODO we don't want to export all
"GIT_HTTP_EXPORT_ALL=1",
fmt.Sprintf("REMOTE_USER=%s", uid),
},
diff --git a/internal/git/handler_test.go b/internal/git/handler_test.go
new file mode 100644
index 0000000..88267b9
--- /dev/null
+++ b/internal/git/handler_test.go
@@ -0,0 +1,14 @@
+package git
+
+import (
+ "os"
+ "testing"
+)
+
+func TestGitHandler(t *testing.T) {
+ dir, err := os.MkdirTemp("", "go-git-tests")
+ if err != nil {
+ t.Fatalf("Couldn't create a temp directory for tests: %s", err)
+ }
+ _ := GitHttpBackendHandler(dir, "git http-backend")
+}
diff --git a/testpolicy.csv b/testpolicy.csv
new file mode 100644
index 0000000..3420ec1
--- /dev/null
+++ b/testpolicy.csv
@@ -0,0 +1,3 @@
+p,role:test,/repo/url,GET
+
+g,uid:jack,role:test