diff options
author | Igor Drozdov <idrozdov@gitlab.com> | 2019-04-25 10:19:34 +0300 |
---|---|---|
committer | Igor Drozdov <idrozdov@gitlab.com> | 2019-05-01 14:51:39 +0300 |
commit | 8886eb709e290baa6f526dffffe8de9bd4badbbb (patch) | |
tree | 8201cdfb5e9d51bc73c99c6a4181d30fa03ad1ac /go/internal/gitlabnet/testserver | |
parent | 344cc6b443e08ec5648fcf8a3035e46bb404fd6a (diff) | |
download | gitlab-shell-id-api-https.tar.gz |
Support calling internal API using HTTPSid-api-https
Diffstat (limited to 'go/internal/gitlabnet/testserver')
-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) } |