Ignore order of metadata in tests
This commit is contained in:
parent
3812aa7ca2
commit
9a943a4896
|
@ -44,7 +44,7 @@ type httpTest struct {
|
|||
ResHeader map[string]string
|
||||
}
|
||||
|
||||
func (test *httpTest) Run(handler http.Handler, t *testing.T) {
|
||||
func (test *httpTest) Run(handler http.Handler, t *testing.T) *httptest.ResponseRecorder {
|
||||
t.Log(test.Name)
|
||||
|
||||
req, _ := http.NewRequest(test.Method, test.URL, test.ReqBody)
|
||||
|
@ -77,6 +77,8 @@ func (test *httpTest) Run(handler http.Handler, t *testing.T) {
|
|||
if test.ResBody != "" && string(w.Body.Bytes()) != test.ResBody {
|
||||
t.Errorf("Expected '%s' as body (got '%s'", test.ResBody, string(w.Body.Bytes()))
|
||||
}
|
||||
|
||||
return w
|
||||
}
|
||||
|
||||
type methodOverrideStore struct {
|
||||
|
|
16
head_test.go
16
head_test.go
|
@ -31,7 +31,7 @@ func TestHead(t *testing.T) {
|
|||
DataStore: headStore{},
|
||||
})
|
||||
|
||||
(&httpTest{
|
||||
res := (&httpTest{
|
||||
Name: "Successful request",
|
||||
Method: "HEAD",
|
||||
URL: "yes",
|
||||
|
@ -40,13 +40,19 @@ func TestHead(t *testing.T) {
|
|||
},
|
||||
Code: http.StatusNoContent,
|
||||
ResHeader: map[string]string{
|
||||
"Upload-Offset": "11",
|
||||
"Upload-Length": "44",
|
||||
"Upload-Metadata": "name bHVucmpzLnBuZw==,type aW1hZ2UvcG5n",
|
||||
"Cache-Control": "no-store",
|
||||
"Upload-Offset": "11",
|
||||
"Upload-Length": "44",
|
||||
"Cache-Control": "no-store",
|
||||
},
|
||||
}).Run(handler, t)
|
||||
|
||||
// Since the order of a map is not guaranteed in Go, we need to be prepared
|
||||
// for the case, that the order of the metadata may have been changed
|
||||
if v := res.Header().Get("Upload-Metadata"); v != "name bHVucmpzLnBuZw==,type aW1hZ2UvcG5n" &&
|
||||
v != "type aW1hZ2UvcG5n,name bHVucmpzLnBuZw==" {
|
||||
t.Errorf("Expected valid metadata (got '%s')", v)
|
||||
}
|
||||
|
||||
(&httpTest{
|
||||
Name: "Non-existing file",
|
||||
Method: "HEAD",
|
||||
|
|
Loading…
Reference in New Issue