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:
authorJaime Martinez <jmartinez@gitlab.com>2020-01-22 02:54:16 +0300
committerJaime Martinez <jmartinez@gitlab.com>2020-01-22 02:54:16 +0300
commit953861046dc51f29493316c835a2b5532a61dd18 (patch)
treec2575cf686e59bcc6d827ca9cd27b8738b2fe4e1
parentf563f82393fbd77d87eb795fdb4e4c2274da9525 (diff)
update acceptance test structure to improve readability and follow the style guideimprove-acceptance-tests-readability
-rw-r--r--acceptance_test.go214
-rw-r--r--helpers_test.go1
2 files changed, 109 insertions, 106 deletions
diff --git a/acceptance_test.go b/acceptance_test.go
index 380fe31c..065a6dda 100644
--- a/acceptance_test.go
+++ b/acceptance_test.go
@@ -40,6 +40,8 @@ var (
)
func skipUnlessEnabled(t *testing.T, conditions ...string) {
+ t.Helper()
+
if testing.Short() {
t.Log("Acceptance tests disabled")
t.SkipNow()
@@ -137,10 +139,10 @@ func TestKnownHostReturns200(t *testing.T) {
},
}
- for _, test := range tests {
- t.Run(test.name, func(t *testing.T) {
+ for _, tt := range tests {
+ t.Run(tt.name, func(t *testing.T) {
for _, spec := range listeners {
- rsp, err := GetPageFromListener(t, spec, test.host, test.path)
+ rsp, err := GetPageFromListener(t, spec, tt.host, tt.path)
require.NoError(t, err)
rsp.Body.Close()
@@ -491,71 +493,71 @@ func TestArtifactProxyRequest(t *testing.T) {
testServer.StartTLS()
defer testServer.Close()
- cases := []struct {
- Host string
- Path string
- Status int
- BinaryOption string
- Content string
- Length int64
- CacheControl string
- ContentType string
- Description string
+ tests := []struct {
+ name string
+ host string
+ path string
+ status int
+ binaryOption string
+ content string
+ length int64
+ cacheControl string
+ contentType string
}{
{
- "group.gitlab-example.com",
- "/-/project/-/jobs/1/artifacts/200.html",
- http.StatusOK,
- "",
- content,
- contentLength,
- "max-age=3600",
- "text/html; charset=utf-8",
- "basic proxied request",
+ name: "basic proxied request",
+ host: "group.gitlab-example.com",
+ path: "/-/project/-/jobs/1/artifacts/200.html",
+ status: http.StatusOK,
+ binaryOption: "",
+ content: content,
+ length: contentLength,
+ cacheControl: "max-age=3600",
+ contentType: "text/html; charset=utf-8",
},
{
- "group.gitlab-example.com",
- "/-/subgroup/project/-/jobs/1/artifacts/200.html",
- http.StatusOK,
- "",
- content,
- contentLength,
- "max-age=3600",
- "text/html; charset=utf-8",
- "basic proxied request for subgroup",
+ name: "basic proxied request for subgroup",
+ host: "group.gitlab-example.com",
+ path: "/-/subgroup/project/-/jobs/1/artifacts/200.html",
+ status: http.StatusOK,
+ binaryOption: "",
+ content: content,
+ length: contentLength,
+ cacheControl: "max-age=3600",
+ contentType: "text/html; charset=utf-8",
},
{
- "group.gitlab-example.com",
- "/-/project/-/jobs/1/artifacts/delayed_200.html",
- http.StatusBadGateway,
- "-artifacts-server-timeout=1",
- "",
- 0,
- "",
- "text/html; charset=utf-8",
- "502 error while attempting to proxy",
+ name: "502 error while attempting to proxy",
+ host: "group.gitlab-example.com",
+ path: "/-/project/-/jobs/1/artifacts/delayed_200.html",
+ status: http.StatusBadGateway,
+ binaryOption: "-artifacts-server-timeout=1",
+ content: "",
+ length: 0,
+ cacheControl: "",
+ contentType: "text/html; charset=utf-8",
},
{
- "group.gitlab-example.com",
- "/-/project/-/jobs/1/artifacts/404.html",
- http.StatusNotFound,
- "",
- "",
- 0,
- "",
- "text/html; charset=utf-8",
- "Proxying 404 from server",
+ name: "Proxying 404 from server",
+ host: "group.gitlab-example.com",
+ path: "/-/project/-/jobs/1/artifacts/404.html",
+ status: http.StatusNotFound,
+ binaryOption: "",
+ content: "",
+ length: 0,
+ cacheControl: "",
+ contentType: "text/html; charset=utf-8",
},
{
- "group.gitlab-example.com",
- "/-/project/-/jobs/1/artifacts/500.html",
- http.StatusInternalServerError,
- "",
- "",
- 0,
- "",
- "text/html; charset=utf-8",
- "Proxying 500 from server",
+ name: "Proxying 500 from server",
+ host: "group.gitlab-example.com",
+ path: "/-/project/-/jobs/1/artifacts/500.html",
+ status: http.StatusInternalServerError,
+ binaryOption: "",
+ content: "",
+ length: 0,
+ cacheControl: "",
+ contentType: "text/html; charset=utf-8",
},
}
@@ -564,9 +566,9 @@ func TestArtifactProxyRequest(t *testing.T) {
artifactServerURL := testServer.URL + "/api/v4"
t.Log("Artifact server URL", artifactServerURL)
- for _, c := range cases {
+ for _, tt := range tests {
- t.Run(fmt.Sprintf("Proxy Request Test: %s", c.Description), func(t *testing.T) {
+ t.Run(tt.name, func(t *testing.T) {
teardown := RunPagesProcessWithSSLCertFile(
t,
*pagesBinary,
@@ -574,23 +576,23 @@ func TestArtifactProxyRequest(t *testing.T) {
"",
certFile,
"-artifacts-server="+artifactServerURL,
- c.BinaryOption,
+ tt.binaryOption,
)
defer teardown()
- resp, err := GetPageFromListener(t, httpListener, c.Host, c.Path)
+ resp, err := GetPageFromListener(t, httpListener, tt.host, tt.path)
require.NoError(t, err)
defer resp.Body.Close()
- require.Equal(t, c.Status, resp.StatusCode)
- require.Equal(t, c.ContentType, resp.Header.Get("Content-Type"))
+ require.Equal(t, tt.status, resp.StatusCode)
+ require.Equal(t, tt.contentType, resp.Header.Get("Content-Type"))
- if !((c.Status == http.StatusBadGateway) || (c.Status == http.StatusNotFound) || (c.Status == http.StatusInternalServerError)) {
+ if !((tt.status == http.StatusBadGateway) || (tt.status == http.StatusNotFound) || (tt.status == http.StatusInternalServerError)) {
body, err := ioutil.ReadAll(resp.Body)
require.NoError(t, err)
- require.Equal(t, c.Content, string(body))
- require.Equal(t, c.Length, resp.ContentLength)
- require.Equal(t, c.CacheControl, resp.Header.Get("Cache-Control"))
+ require.Equal(t, tt.content, string(body))
+ require.Equal(t, tt.length, resp.ContentLength)
+ require.Equal(t, tt.cacheControl, resp.Header.Get("Cache-Control"))
}
})
}
@@ -613,47 +615,47 @@ func TestPrivateArtifactProxyRequest(t *testing.T) {
testServer.StartTLS()
defer testServer.Close()
- cases := []struct {
- Host string
- Path string
- Status int
- BinaryOption string
- Description string
+ tests := []struct {
+ name string
+ host string
+ path string
+ status int
+ binaryOption string
}{
{
- "group.gitlab-example.com",
- "/-/private/-/jobs/1/artifacts/200.html",
- http.StatusOK,
- "",
- "basic proxied request for private project",
+ name: "basic proxied request for private project",
+ host: "group.gitlab-example.com",
+ path: "/-/private/-/jobs/1/artifacts/200.html",
+ status: http.StatusOK,
+ binaryOption: "",
},
{
- "group.gitlab-example.com",
- "/-/subgroup/private/-/jobs/1/artifacts/200.html",
- http.StatusOK,
- "",
- "basic proxied request for subgroup",
+ name: "basic proxied request for subgroup",
+ host: "group.gitlab-example.com",
+ path: "/-/subgroup/private/-/jobs/1/artifacts/200.html",
+ status: http.StatusOK,
+ binaryOption: "",
},
{
- "group.gitlab-example.com",
- "/-/private/-/jobs/1/artifacts/delayed_200.html",
- http.StatusBadGateway,
- "-artifacts-server-timeout=1",
- "502 error while attempting to proxy",
+ name: "502 error while attempting to proxy",
+ host: "group.gitlab-example.com",
+ path: "/-/private/-/jobs/1/artifacts/delayed_200.html",
+ status: http.StatusBadGateway,
+ binaryOption: "-artifacts-server-timeout=1",
},
{
- "group.gitlab-example.com",
- "/-/private/-/jobs/1/artifacts/404.html",
- http.StatusNotFound,
- "",
- "Proxying 404 from server",
+ name: "Proxying 404 from server",
+ host: "group.gitlab-example.com",
+ path: "/-/private/-/jobs/1/artifacts/404.html",
+ status: http.StatusNotFound,
+ binaryOption: "",
},
{
- "group.gitlab-example.com",
- "/-/private/-/jobs/1/artifacts/500.html",
- http.StatusInternalServerError,
- "",
- "Proxying 500 from server",
+ name: "Proxying 500 from server",
+ host: "group.gitlab-example.com",
+ path: "/-/private/-/jobs/1/artifacts/500.html",
+ status: http.StatusInternalServerError,
+ binaryOption: "",
},
}
@@ -662,9 +664,9 @@ func TestPrivateArtifactProxyRequest(t *testing.T) {
artifactServerURL := testServer.URL + "/api/v4"
t.Log("Artifact server URL", artifactServerURL)
- for _, c := range cases {
+ for _, tt := range tests {
- t.Run(fmt.Sprintf("Proxy Request Test with AC: %s", c.Description), func(t *testing.T) {
+ t.Run(tt.name, func(t *testing.T) {
teardown := RunPagesProcessWithSSLCertFile(
t,
*pagesBinary,
@@ -677,11 +679,11 @@ func TestPrivateArtifactProxyRequest(t *testing.T) {
"-auth-server="+testServer.URL,
"-auth-redirect-uri=https://projects.gitlab-example.com/auth",
"-auth-secret=something-very-secret",
- c.BinaryOption,
+ tt.binaryOption,
)
defer teardown()
- resp, err := GetRedirectPage(t, httpListener, c.Host, c.Path)
+ resp, err := GetRedirectPage(t, httpListener, tt.host, tt.path)
require.NoError(t, err)
defer resp.Body.Close()
@@ -714,7 +716,7 @@ func TestPrivateArtifactProxyRequest(t *testing.T) {
// Will redirect auth callback to correct host
url, err = url.Parse(authrsp.Header.Get("Location"))
require.NoError(t, err)
- require.Equal(t, c.Host, url.Host)
+ require.Equal(t, tt.host, url.Host)
require.Equal(t, "/auth", url.Path)
// Request auth callback in project domain
@@ -723,9 +725,9 @@ func TestPrivateArtifactProxyRequest(t *testing.T) {
// server returns the ticket, user will be redirected to the project page
require.Equal(t, http.StatusFound, authrsp.StatusCode)
cookie = authrsp.Header.Get("Set-Cookie")
- resp, err = GetRedirectPageWithCookie(t, httpsListener, c.Host, c.Path, cookie)
+ resp, err = GetRedirectPageWithCookie(t, httpsListener, tt.host, tt.path, cookie)
- require.Equal(t, c.Status, resp.StatusCode)
+ require.Equal(t, tt.status, resp.StatusCode)
require.NoError(t, err)
defer resp.Body.Close()
diff --git a/helpers_test.go b/helpers_test.go
index 06a268b7..29ed87de 100644
--- a/helpers_test.go
+++ b/helpers_test.go
@@ -209,6 +209,7 @@ func RunPagesProcessWithAuthServerWithSSL(t *testing.T, pagesPath string, listen
func runPagesProcess(t *testing.T, wait bool, pagesPath string, listeners []ListenSpec, promPort string, extraEnv []string, extraArgs ...string) (teardown func()) {
t.Helper()
+
_, err := os.Stat(pagesPath)
require.NoError(t, err)