fix using defer in loop in cors test

This commit is contained in:
hzxuzhonghu 2018-01-26 16:56:12 +08:00
parent cd2692c49d
commit b835c46c86

View File

@ -42,21 +42,22 @@ func TestCORSAllowedOrigins(t *testing.T) {
http.HandlerFunc(func(http.ResponseWriter, *http.Request) {}), http.HandlerFunc(func(http.ResponseWriter, *http.Request) {}),
item.allowedOrigins, nil, nil, nil, "true", item.allowedOrigins, nil, nil, nil, "true",
) )
var response *http.Response
func() {
server := httptest.NewServer(handler) server := httptest.NewServer(handler)
defer server.Close() defer server.Close()
client := http.Client{}
request, err := http.NewRequest("GET", server.URL+"/version", nil) request, err := http.NewRequest("GET", server.URL+"/version", nil)
if err != nil { if err != nil {
t.Errorf("unexpected error: %v", err) t.Errorf("unexpected error: %v", err)
} }
request.Header.Set("Origin", item.origin) request.Header.Set("Origin", item.origin)
client := http.Client{}
response, err := client.Do(request) response, err = client.Do(request)
if err != nil { if err != nil {
t.Errorf("unexpected error: %v", err) t.Errorf("unexpected error: %v", err)
} }
}()
if item.allowed { if item.allowed {
if !reflect.DeepEqual(item.origin, response.Header.Get("Access-Control-Allow-Origin")) { if !reflect.DeepEqual(item.origin, response.Header.Get("Access-Control-Allow-Origin")) {
t.Errorf("Expected %#v, Got %#v", item.origin, response.Header.Get("Access-Control-Allow-Origin")) t.Errorf("Expected %#v, Got %#v", item.origin, response.Header.Get("Access-Control-Allow-Origin"))
@ -131,20 +132,22 @@ func TestCORSAllowedMethods(t *testing.T) {
http.HandlerFunc(func(http.ResponseWriter, *http.Request) {}), http.HandlerFunc(func(http.ResponseWriter, *http.Request) {}),
[]string{".*"}, test.allowedMethods, nil, nil, "true", []string{".*"}, test.allowedMethods, nil, nil, "true",
) )
var response *http.Response
func() {
server := httptest.NewServer(handler) server := httptest.NewServer(handler)
defer server.Close() defer server.Close()
client := http.Client{}
request, err := http.NewRequest(test.method, server.URL+"/version", nil) request, err := http.NewRequest(test.method, server.URL+"/version", nil)
if err != nil { if err != nil {
t.Fatalf("unexpected error: %v", err) t.Fatalf("unexpected error: %v", err)
} }
request.Header.Set("Origin", "allowed.com") request.Header.Set("Origin", "allowed.com")
client := http.Client{}
response, err := client.Do(request) response, err = client.Do(request)
if err != nil { if err != nil {
t.Fatalf("unexpected error: %v", err) t.Fatalf("unexpected error: %v", err)
} }
}()
methodAllowed := allowsMethod(response, test.method) methodAllowed := allowsMethod(response, test.method)
switch { switch {