@@ -3,6 +3,7 @@ package local_test
3
3
import (
4
4
"fmt"
5
5
"io"
6
+ "math/rand"
6
7
"net/http"
7
8
"net/http/httputil"
8
9
"testing"
@@ -16,9 +17,15 @@ import (
16
17
func TestServSimpleResponse (t * testing.T ) {
17
18
t .Parallel ()
18
19
20
+ rand .Seed (time .Now ().UnixNano ())
21
+
19
22
const testingMessage = "simple test"
20
23
24
+ randHeaderKey := randStringRunes (t , 32 )
25
+ randHeaderVal := randStringRunes (t , 32 )
26
+
21
27
handler := func (w http.ResponseWriter , r * http.Request ) {
28
+ w .Header ().Add (randHeaderKey , randHeaderVal )
22
29
_ , _ = w .Write ([]byte (testingMessage ))
23
30
24
31
assert .NotEmpty (t , r )
@@ -54,6 +61,7 @@ func TestServSimpleResponse(t *testing.T) {
54
61
assert .NotEmpty (t , resp .Header .Get ("X-Envoy-External-Address" ))
55
62
assert .Equal (t , "Content-Type" , resp .Header .Get ("Access-Control-Allow-Headers" ))
56
63
assert .Equal (t , fmt .Sprintf ("%d" , (len (testingMessage ))), resp .Header .Get ("Content-Length" ))
64
+ assert .Equal (t , randHeaderVal , resp .Header .Get (randHeaderKey ))
57
65
58
66
bodyBytes , err := io .ReadAll (resp .Body )
59
67
assert .NoError (t , err )
@@ -95,3 +103,18 @@ func TestServDumpResponse(t *testing.T) {
95
103
assert .Contains (t , respStr , "X-Forwarded-Proto: http" )
96
104
assert .Contains (t , respStr , "X-Request-Id" )
97
105
}
106
+
107
+ var letterRunes = []rune ("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" )
108
+
109
+ //nolint:gosec
110
+ func randStringRunes (t * testing.T , n int ) string {
111
+ t .Helper ()
112
+
113
+ b := make ([]rune , n )
114
+
115
+ for i := range b {
116
+ b [i ] = letterRunes [rand .Intn (len (letterRunes ))]
117
+ }
118
+
119
+ return string (b )
120
+ }
0 commit comments