@@ -11,17 +11,7 @@ import (
11
11
)
12
12
13
13
func TestService_ServeRequest (t * testing.T ) {
14
- server := httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {}))
15
- t .Cleanup (server .Close )
16
-
17
- serverURL , err := url .Parse (server .URL )
18
- require .NoError (t , err )
19
-
20
- target , err := NewTarget (serverURL .Host , defaultHealthCheckConfig , defaultResponseTimeout )
21
- require .NoError (t , err )
22
-
23
- service := NewService ("test" , "" , defaultServiceOptions )
24
- service .active = target
14
+ service := testCreateService (t , defaultServiceOptions )
25
15
26
16
req := httptest .NewRequest (http .MethodPost , "http://example.com/" , strings .NewReader ("" ))
27
17
w := httptest .NewRecorder ()
@@ -31,17 +21,7 @@ func TestService_ServeRequest(t *testing.T) {
31
21
}
32
22
33
23
func TestService_EnforceMaxRequestBodySize (t * testing.T ) {
34
- server := httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {}))
35
- t .Cleanup (server .Close )
36
-
37
- serverURL , err := url .Parse (server .URL )
38
- require .NoError (t , err )
39
-
40
- target , err := NewTarget (serverURL .Host , defaultHealthCheckConfig , defaultResponseTimeout )
41
- require .NoError (t , err )
42
-
43
- service := NewService ("test" , "" , ServiceOptions {MaxRequestBodySize : 10 })
44
- service .active = target
24
+ service := testCreateService (t , ServiceOptions {MaxRequestBodySize : 10 })
45
25
46
26
req := httptest .NewRequest (http .MethodPost , "http://example.com/" , strings .NewReader ("" ))
47
27
w := httptest .NewRecorder ()
@@ -57,17 +37,8 @@ func TestService_EnforceMaxRequestBodySize(t *testing.T) {
57
37
}
58
38
59
39
func TestService_RedirectToHTTPWhenTLSRequired (t * testing.T ) {
60
- server := httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {}))
61
- t .Cleanup (server .Close )
62
-
63
- serverURL , err := url .Parse (server .URL )
64
- require .NoError (t , err )
40
+ service := testCreateService (t , ServiceOptions {TLSHostname : "example.com" })
65
41
66
- target , err := NewTarget (serverURL .Host , defaultHealthCheckConfig , defaultResponseTimeout )
67
- require .NoError (t , err )
68
-
69
- service := NewService ("test" , "" , ServiceOptions {TLSHostname : "example.com" })
70
- service .active = target
71
42
require .True (t , service .options .RequireTLS ())
72
43
73
44
req := httptest .NewRequest (http .MethodGet , "http://example.com/" , nil )
@@ -82,3 +53,19 @@ func TestService_RedirectToHTTPWhenTLSRequired(t *testing.T) {
82
53
83
54
require .Equal (t , http .StatusOK , w .Result ().StatusCode )
84
55
}
56
+
57
+ func testCreateService (t * testing.T , options ServiceOptions ) * Service {
58
+ server := httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {}))
59
+ t .Cleanup (server .Close )
60
+
61
+ serverURL , err := url .Parse (server .URL )
62
+ require .NoError (t , err )
63
+
64
+ target , err := NewTarget (serverURL .Host , defaultHealthCheckConfig , defaultResponseTimeout )
65
+ require .NoError (t , err )
66
+
67
+ service := NewService ("test" , "" , options )
68
+ service .active = target
69
+
70
+ return service
71
+ }
0 commit comments