Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-pages.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZeger-Jan van de Weg <git@zjvandeweg.nl>2017-08-30 22:29:57 +0300
committerZeger-Jan van de Weg <git@zjvandeweg.nl>2017-09-08 20:18:43 +0300
commitda9570f37b6c8ad71dc5636e33c31d49018c2821 (patch)
treedb21860e362df4e9d210b599450c42c0c04e4355 /acceptance_test.go
parentcdb4ab073c7c4c3a9ef53df4c6f13e6642878395 (diff)
Add multiflag support for new flag implementation
In the parent of this commit, I've added a new flag implementation to support config using env vars or a config file. This commits add support for multiflag value setting, when using a csv like structure for those values. This was needed as for those only the first value was being read.
Diffstat (limited to 'acceptance_test.go')
-rw-r--r--acceptance_test.go54
1 files changed, 43 insertions, 11 deletions
diff --git a/acceptance_test.go b/acceptance_test.go
index f71bd85f..d6fc1400 100644
--- a/acceptance_test.go
+++ b/acceptance_test.go
@@ -3,6 +3,7 @@ package main
import (
"fmt"
"io/ioutil"
+ "net"
"net/http"
"net/http/httptest"
"os"
@@ -307,21 +308,52 @@ func TestProxyRequest(t *testing.T) {
func TestEnvironmentVariablesConfig(t *testing.T) {
skipUnlessEnabled(t)
- os.Setenv("REDIRECT_HTTP", "true")
- defer func() { os.Unsetenv("REDIRECT_HTTP") }()
+ os.Setenv("LISTEN_HTTP", net.JoinHostPort(httpListener.Host, httpListener.Port))
+ defer func() { os.Unsetenv("LISTEN_HTTP") }()
- teardown := RunPagesProcess(t, *pagesBinary, listeners, "")
+ teardown := RunPagesProcess(t, *pagesBinary, []ListenSpec{}, "")
defer teardown()
- rsp, err := GetRedirectPage(t, httpListener, "group.gitlab-example.com", "project/")
- assert.NoError(t, err)
- defer rsp.Body.Close()
- assert.Equal(t, http.StatusTemporaryRedirect, rsp.StatusCode)
- assert.Equal(t, 1, len(rsp.Header["Location"]))
- assert.Equal(t, "https://group.gitlab-example.com/project/", rsp.Header.Get("Location"))
+ rsp, err := GetPageFromListener(t, httpListener, "group.gitlab-example.com:", "project/")
- rsp, err = GetPageFromListener(t, httpsListener, "group.gitlab-example.com", "project/")
assert.NoError(t, err)
- defer rsp.Body.Close()
+ rsp.Body.Close()
assert.Equal(t, http.StatusOK, rsp.StatusCode)
}
+
+func TestMixedConfigSources(t *testing.T) {
+ skipUnlessEnabled(t)
+ os.Setenv("LISTEN_HTTP", net.JoinHostPort(httpListener.Host, httpListener.Port))
+ defer func() { os.Unsetenv("LISTEN_HTTP") }()
+
+ teardown := RunPagesProcess(t, *pagesBinary, []ListenSpec{httpsListener}, "")
+ defer teardown()
+
+ for _, listener := range []ListenSpec{httpListener, httpsListener} {
+ rsp, err := GetPageFromListener(t, listener, "group.gitlab-example.com", "project/")
+
+ assert.NoError(t, err)
+ rsp.Body.Close()
+ assert.Equal(t, http.StatusOK, rsp.StatusCode)
+ }
+}
+
+func TestMultiFlagEnvironmentVariables(t *testing.T) {
+ skipUnlessEnabled(t)
+ listenSpec := []ListenSpec{{"http", "127.0.0.1", "37001"}, {"http", "127.0.0.1", "37002"}}
+ envVarValue := fmt.Sprintf("%s,%s", net.JoinHostPort("127.0.0.1", "37001"), net.JoinHostPort("127.0.0.1", "37002"))
+
+ os.Setenv("LISTEN_HTTP", envVarValue)
+ defer func() { os.Unsetenv("LISTEN_HTTP") }()
+
+ teardown := RunPagesProcess(t, *pagesBinary, []ListenSpec{}, "")
+ defer teardown()
+
+ for _, listener := range listenSpec {
+ rsp, err := GetPageFromListener(t, listener, "group.gitlab-example.com", "project/")
+
+ assert.NoError(t, err)
+ rsp.Body.Close()
+ assert.Equal(t, http.StatusOK, rsp.StatusCode)
+ }
+}