@@ -6,31 +6,36 @@ import (
6
6
"net/http/httputil"
7
7
"net/url"
8
8
"testing"
9
-
10
- "github.com/stretchr/testify/assert"
11
9
)
12
10
13
11
// TestBuild_AddHeaders tests that Build's returned ReverseProxy Director adds the proper request headers
14
12
func TestBuild_AddHeaders (t * testing.T ) {
15
13
u , err := url .Parse ("http://127.0.0.1" )
16
- assert .Nil (t , err , "error should be nil" )
14
+ if err != nil {
15
+ t .Fatalf ("got error %v, want nil" , err )
16
+ }
17
17
proxy := Build (u )
18
- assert .NotNil (t , proxy , "Build should not return nil" )
18
+ if proxy == nil {
19
+ t .Fatal ("got nil, want non-nil proxy" )
20
+ }
19
21
20
22
req := httptest .NewRequest ("GET" , "/test" , nil )
21
23
proxy .Director (req )
22
24
23
25
// Check that headers were added to req
24
- assert .Equal (t , req .Header .Get (http .CanonicalHeaderKey ("X-Forwarded-Proto" )), "https" ,
25
- "X-Forwarded-Proto should be present" )
26
- assert .Equal (t , req .Header .Get (http .CanonicalHeaderKey ("X-Forwarded-Port" )), "443" ,
27
- "X-Forwarded-Port should be present" )
28
-
26
+ if got := req .Header .Get (http .CanonicalHeaderKey ("X-Forwarded-Proto" )); got != "https" {
27
+ t .Errorf ("X-Forwarded-Proto: got %q, want %q" , got , "https" )
28
+ }
29
+ if got := req .Header .Get (http .CanonicalHeaderKey ("X-Forwarded-Port" )); got != "443" {
30
+ t .Errorf ("X-Forwarded-Port: got %q, want %q" , got , "443" )
31
+ }
29
32
}
30
33
31
34
func TestNewDirector (t * testing.T ) {
32
35
u , err := url .Parse ("http://127.0.0.1" )
33
- assert .Nil (t , err , "error should be nil" )
36
+ if err != nil {
37
+ t .Fatalf ("got error %v, want nil" , err )
38
+ }
34
39
director := newDirector (u , nil )
35
40
36
41
defaultProxy := httputil .NewSingleHostReverseProxy (u )
@@ -42,7 +47,15 @@ func TestNewDirector(t *testing.T) {
42
47
defaultDirector (expectedReq )
43
48
director (testReq )
44
49
45
- assert .EqualValues (t , expectedReq , testReq ,
46
- "default proxy and package directors should modify the request in the same way" )
50
+ // Compare relevant fields of the requests
51
+ if got , want := testReq .URL .String (), expectedReq .URL .String (); got != want {
52
+ t .Errorf ("URL: got %q, want %q" , got , want )
53
+ }
54
+ if got , want := testReq .Host , expectedReq .Host ; got != want {
55
+ t .Errorf ("Host: got %q, want %q" , got , want )
56
+ }
57
+ if got , want := testReq .RemoteAddr , expectedReq .RemoteAddr ; got != want {
58
+ t .Errorf ("RemoteAddr: got %q, want %q" , got , want )
59
+ }
47
60
// TODO: add more test cases
48
61
}
0 commit comments