From 1c75ce314b93ad9267a3a6071fc19edc9e316d9e Mon Sep 17 00:00:00 2001 From: RoyUP9 <87927115+RoyUP9@users.noreply.github.com> Date: Tue, 16 Nov 2021 15:49:08 +0200 Subject: [PATCH] fixed redact acceptance test (#472) --- acceptanceTests/tap_test.go | 18 ++++++++++-------- acceptanceTests/testsUtils.go | 15 +++++++++++++-- 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/acceptanceTests/tap_test.go b/acceptanceTests/tap_test.go index 08c6ac0d5..51b57a4ea 100644 --- a/acceptanceTests/tap_test.go +++ b/acceptanceTests/tap_test.go @@ -427,9 +427,10 @@ func TestTapRedact(t *testing.T) { } proxyUrl := getProxyUrl(defaultNamespaceName, defaultServiceName) + requestHeaders := map[string]string{"User-Header": "Mizu"} requestBody := map[string]string{"User": "Mizu"} for i := 0; i < defaultEntriesCount; i++ { - if _, requestErr := executeHttpPostRequest(fmt.Sprintf("%v/post", proxyUrl), requestBody); requestErr != nil { + if _, requestErr := executeHttpPostRequestWithHeaders(fmt.Sprintf("%v/post", proxyUrl), requestHeaders, requestBody); requestErr != nil { t.Errorf("failed to send proxy request, err: %v", requestErr) return } @@ -460,12 +461,12 @@ func TestTapRedact(t *testing.T) { headers := request["_headers"].([]interface{}) for _, headerInterface := range headers { header := headerInterface.(map[string]interface{}) - if header["name"].(string) != "User-Agent" { + if header["name"].(string) != "User-Header" { continue } - userAgent := header["value"].(string) - if userAgent != "[REDACTED]" { + userHeader := header["value"].(string) + if userHeader != "[REDACTED]" { return fmt.Errorf("unexpected result - user agent is not redacted") } } @@ -530,9 +531,10 @@ func TestTapNoRedact(t *testing.T) { } proxyUrl := getProxyUrl(defaultNamespaceName, defaultServiceName) + requestHeaders := map[string]string{"User-Header": "Mizu"} requestBody := map[string]string{"User": "Mizu"} for i := 0; i < defaultEntriesCount; i++ { - if _, requestErr := executeHttpPostRequest(fmt.Sprintf("%v/post", proxyUrl), requestBody); requestErr != nil { + if _, requestErr := executeHttpPostRequestWithHeaders(fmt.Sprintf("%v/post", proxyUrl), requestHeaders, requestBody); requestErr != nil { t.Errorf("failed to send proxy request, err: %v", requestErr) return } @@ -563,12 +565,12 @@ func TestTapNoRedact(t *testing.T) { headers := request["_headers"].([]interface{}) for _, headerInterface := range headers { header := headerInterface.(map[string]interface{}) - if header["name"].(string) != "User-Agent" { + if header["name"].(string) != "User-Header" { continue } - userAgent := header["value"].(string) - if userAgent == "[REDACTED]" { + userHeader := header["value"].(string) + if userHeader == "[REDACTED]" { return fmt.Errorf("unexpected result - user agent is redacted") } } diff --git a/acceptanceTests/testsUtils.go b/acceptanceTests/testsUtils.go index 98122dc18..79023e160 100644 --- a/acceptanceTests/testsUtils.go +++ b/acceptanceTests/testsUtils.go @@ -240,13 +240,24 @@ func executeHttpGetRequest(url string) (interface{}, error) { return executeHttpRequest(response, requestErr) } -func executeHttpPostRequest(url string, body interface{}) (interface{}, error) { +func executeHttpPostRequestWithHeaders(url string, headers map[string]string, body interface{}) (interface{}, error) { requestBody, jsonErr := json.Marshal(body) if jsonErr != nil { return nil, jsonErr } - response, requestErr := http.Post(url, "application/json", bytes.NewBuffer(requestBody)) + request, err := http.NewRequest(http.MethodPost, url, bytes.NewBuffer(requestBody)) + if err != nil { + return nil, err + } + + request.Header.Add("Content-Type", "application/json") + for headerKey, headerValue := range headers { + request.Header.Add(headerKey, headerValue) + } + + client := &http.Client{} + response, requestErr := client.Do(request) return executeHttpRequest(response, requestErr) }