summaryrefslogtreecommitdiff
path: root/internal/gitlabnet/httpsclient_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/gitlabnet/httpsclient_test.go')
-rw-r--r--internal/gitlabnet/httpsclient_test.go125
1 files changed, 0 insertions, 125 deletions
diff --git a/internal/gitlabnet/httpsclient_test.go b/internal/gitlabnet/httpsclient_test.go
deleted file mode 100644
index 0acd425..0000000
--- a/internal/gitlabnet/httpsclient_test.go
+++ /dev/null
@@ -1,125 +0,0 @@
-package gitlabnet
-
-import (
- "fmt"
- "io/ioutil"
- "net/http"
- "path"
- "testing"
-
- "github.com/stretchr/testify/assert"
- "github.com/stretchr/testify/require"
- "gitlab.com/gitlab-org/gitlab-shell/internal/config"
- "gitlab.com/gitlab-org/gitlab-shell/internal/gitlabnet/testserver"
- "gitlab.com/gitlab-org/gitlab-shell/internal/testhelper"
-)
-
-func TestSuccessfulRequests(t *testing.T) {
- testCases := []struct {
- desc string
- config *config.Config
- }{
- {
- desc: "Valid CaFile",
- config: &config.Config{
- HttpSettings: config.HttpSettingsConfig{CaFile: path.Join(testhelper.TestRoot, "certs/valid/server.crt")},
- },
- },
- {
- desc: "Valid CaPath",
- config: &config.Config{
- HttpSettings: config.HttpSettingsConfig{CaPath: path.Join(testhelper.TestRoot, "certs/valid")},
- },
- },
- {
- desc: "Self signed cert option enabled",
- config: &config.Config{
- HttpSettings: config.HttpSettingsConfig{SelfSignedCert: true},
- },
- },
- {
- desc: "Invalid cert with self signed cert option enabled",
- config: &config.Config{
- HttpSettings: config.HttpSettingsConfig{SelfSignedCert: true, CaFile: path.Join(testhelper.TestRoot, "certs/valid/server.crt")},
- },
- },
- }
-
- for _, tc := range testCases {
- t.Run(tc.desc, func(t *testing.T) {
- client, cleanup := setupWithRequests(t, tc.config)
- defer cleanup()
-
- response, err := client.Get("/hello")
- require.NoError(t, err)
- require.NotNil(t, response)
-
- defer response.Body.Close()
-
- responseBody, err := ioutil.ReadAll(response.Body)
- assert.NoError(t, err)
- assert.Equal(t, string(responseBody), "Hello")
- })
- }
-}
-
-func TestFailedRequests(t *testing.T) {
- testCases := []struct {
- desc string
- config *config.Config
- }{
- {
- desc: "Invalid CaFile",
- config: &config.Config{
- HttpSettings: config.HttpSettingsConfig{CaFile: path.Join(testhelper.TestRoot, "certs/invalid/server.crt")},
- },
- },
- {
- desc: "Invalid CaPath",
- config: &config.Config{
- HttpSettings: config.HttpSettingsConfig{CaPath: path.Join(testhelper.TestRoot, "certs/invalid")},
- },
- },
- {
- desc: "Empty config",
- config: &config.Config{},
- },
- }
-
- for _, tc := range testCases {
- t.Run(tc.desc, func(t *testing.T) {
- client, cleanup := setupWithRequests(t, tc.config)
- defer cleanup()
-
- _, err := client.Get("/hello")
- require.Error(t, err)
-
- assert.Equal(t, err.Error(), "Internal API unreachable")
- })
- }
-}
-
-func setupWithRequests(t *testing.T, config *config.Config) (*GitlabClient, func()) {
- testDirCleanup, err := testhelper.PrepareTestRootDir()
- require.NoError(t, err)
- defer testDirCleanup()
-
- requests := []testserver.TestRequestHandler{
- {
- Path: "/api/v4/internal/hello",
- Handler: func(w http.ResponseWriter, r *http.Request) {
- require.Equal(t, http.MethodGet, r.Method)
-
- fmt.Fprint(w, "Hello")
- },
- },
- }
-
- url, cleanup := testserver.StartHttpsServer(t, requests)
-
- config.GitlabUrl = url
- client, err := GetClient(config)
- require.NoError(t, err)
-
- return client, cleanup
-}