diff options
author | Igor <idrozdov@gitlab.com> | 2019-04-24 11:12:28 +0000 |
---|---|---|
committer | Nick Thomas <nick@gitlab.com> | 2019-04-24 11:12:28 +0000 |
commit | 9d9e1617ab7173ed245860612280284c7c904b58 (patch) | |
tree | 0c7eae65818430d632f60433195aa08ce122aa8f /go/internal/gitlabnet/testserver/testserver.go | |
parent | 6e9b4dec537171c643e67fc6a73b79dd29afd068 (diff) | |
download | gitlab-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.go | 23 |
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() { |