Merge pull request #58867 from hzxuzhonghu/fix-cors-test-bug

Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

fix using defer in loop in cors test

**What this PR does / why we need it**:
fix bug in cors test


**Special notes for your reviewer**:
a small bug fix, wrap defer in a closure
**Release note**:

```release-note
NONE
```
This commit is contained in:
Kubernetes Submit Queue 2018-02-08 05:34:20 -08:00 committed by GitHub
commit b5387effe8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

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 {