diff options
author | Nick Thomas <nick@gitlab.com> | 2019-05-01 15:31:32 +0000 |
---|---|---|
committer | Nick Thomas <nick@gitlab.com> | 2019-05-01 15:31:32 +0000 |
commit | 1f6b19d8d208f696b8227095d741c355d106a11d (patch) | |
tree | 70c44f6e6af2f10379bfc2d288ee300b9c160346 /go/internal/gitlabnet/testserver/testserver.go | |
parent | 805bdd0d333a047b5fb92a4feb075a7db95cba56 (diff) | |
parent | cffbe0ebd86a71ce719767153d1f227172646be5 (diff) | |
download | gitlab-shell-1f6b19d8d208f696b8227095d741c355d106a11d.tar.gz |
Merge branch 'id-api-https' into 'master'
Support calling internal API using HTTPS
Closes #179
See merge request gitlab-org/gitlab-shell!297
Diffstat (limited to 'go/internal/gitlabnet/testserver/testserver.go')
-rw-r--r-- | go/internal/gitlabnet/testserver/testserver.go | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/go/internal/gitlabnet/testserver/testserver.go b/go/internal/gitlabnet/testserver/testserver.go index 3e6499d..bf896e6 100644 --- a/go/internal/gitlabnet/testserver/testserver.go +++ b/go/internal/gitlabnet/testserver/testserver.go @@ -1,6 +1,7 @@ package testserver import ( + "crypto/tls" "io/ioutil" "log" "net" @@ -9,6 +10,8 @@ import ( "os" "path" "path/filepath" + + "gitlab.com/gitlab-org/gitlab-shell/go/internal/testhelper" ) var ( @@ -50,6 +53,23 @@ func StartHttpServer(handlers []TestRequestHandler) (func(), string, error) { return server.Close, server.URL, nil } +func StartHttpsServer(handlers []TestRequestHandler) (func(), string, error) { + crt := path.Join(testhelper.TestRoot, "certs/valid/server.crt") + key := path.Join(testhelper.TestRoot, "certs/valid/server.key") + + server := httptest.NewUnstartedServer(buildHandler(handlers)) + cer, err := tls.LoadX509KeyPair(crt, key) + + if err != nil { + return nil, "", err + } + + server.TLS = &tls.Config{Certificates: []tls.Certificate{cer}} + server.StartTLS() + + return server.Close, server.URL, nil +} + func cleanupSocket() { os.RemoveAll(tempDir) } |