summaryrefslogtreecommitdiff
path: root/go/internal/gitlabnet/testserver/testserver.go
diff options
context:
space:
mode:
authorIgor <idrozdov@gitlab.com>2019-04-24 11:12:28 +0000
committerNick Thomas <nick@gitlab.com>2019-04-24 11:12:28 +0000
commit9d9e1617ab7173ed245860612280284c7c904b58 (patch)
tree0c7eae65818430d632f60433195aa08ce122aa8f /go/internal/gitlabnet/testserver/testserver.go
parent6e9b4dec537171c643e67fc6a73b79dd29afd068 (diff)
downloadgitlab-shell-9d9e1617ab7173ed245860612280284c7c904b58.tar.gz
Support calling internal api using HTTP
Diffstat (limited to 'go/internal/gitlabnet/testserver/testserver.go')
-rw-r--r--go/internal/gitlabnet/testserver/testserver.go23
1 files changed, 16 insertions, 7 deletions
diff --git a/go/internal/gitlabnet/testserver/testserver.go b/go/internal/gitlabnet/testserver/testserver.go
index 9640fd7..3e6499d 100644
--- a/go/internal/gitlabnet/testserver/testserver.go
+++ b/go/internal/gitlabnet/testserver/testserver.go
@@ -5,6 +5,7 @@ import (
"log"
"net"
"net/http"
+ "net/http/httptest"
"os"
"path"
"path/filepath"
@@ -12,7 +13,7 @@ import (
var (
tempDir, _ = ioutil.TempDir("", "gitlab-shell-test-api")
- TestSocket = path.Join(tempDir, "internal.sock")
+ testSocket = path.Join(tempDir, "internal.sock")
)
type TestRequestHandler struct {
@@ -20,14 +21,14 @@ type TestRequestHandler struct {
Handler func(w http.ResponseWriter, r *http.Request)
}
-func StartSocketHttpServer(handlers []TestRequestHandler) (func(), error) {
- if err := os.MkdirAll(filepath.Dir(TestSocket), 0700); err != nil {
- return nil, err
+func StartSocketHttpServer(handlers []TestRequestHandler) (func(), string, error) {
+ if err := os.MkdirAll(filepath.Dir(testSocket), 0700); err != nil {
+ return nil, "", err
}
- socketListener, err := net.Listen("unix", TestSocket)
+ socketListener, err := net.Listen("unix", testSocket)
if err != nil {
- return nil, err
+ return nil, "", err
}
server := http.Server{
@@ -38,7 +39,15 @@ func StartSocketHttpServer(handlers []TestRequestHandler) (func(), error) {
}
go server.Serve(socketListener)
- return cleanupSocket, nil
+ url := "http+unix://" + testSocket
+
+ return cleanupSocket, url, nil
+}
+
+func StartHttpServer(handlers []TestRequestHandler) (func(), string, error) {
+ server := httptest.NewServer(buildHandler(handlers))
+
+ return server.Close, server.URL, nil
}
func cleanupSocket() {