0
Fork 0
mirror of https://github.com/caddyserver/caddy.git synced 2024-12-23 22:27:38 -05:00

Merge pull request #1334 from tw4452852/1329

proxy: refactor TestUpstreamHeadersUpdate and TestDownstreamHeadersUpdate
This commit is contained in:
Matt Holt 2017-01-08 19:29:38 -07:00 committed by GitHub
commit 6a84d9392e

View file

@ -532,43 +532,18 @@ func TestUpstreamHeadersUpdate(t *testing.T) {
replacer := httpserver.NewReplacer(r, nil, "") replacer := httpserver.NewReplacer(r, nil, "")
headerKey := "Merge-Me" for headerKey, expect := range map[string][]string{
got := actualHeaders[headerKey] "Merge-Me": {"Initial", "Merge-Value"},
expect := []string{"Initial", "Merge-Value"} "Add-Me": {"Add-Value"},
if !reflect.DeepEqual(got, expect) { "Add-Empty": nil,
t.Errorf("Request sent to upstream backend does not contain expected %v header: expect %v, but got %v", "Remove-Me": nil,
headerKey, expect, got) "Replace-Me": {replacer.Replace("{hostname}")},
} "Clear-Me": nil,
} {
headerKey = "Add-Me" if got := actualHeaders[headerKey]; !reflect.DeepEqual(got, expect) {
got = actualHeaders[headerKey] t.Errorf("Upstream request does not contain expected %v header: expect %v, but got %v",
expect = []string{"Add-Value"} headerKey, expect, got)
if !reflect.DeepEqual(got, expect) { }
t.Errorf("Request sent to upstream backend does not contain expected %v header: expect %v, but got %v",
headerKey, expect, got)
}
headerKey = "Add-Empty"
if _, ok := actualHeaders[headerKey]; ok {
t.Errorf("Request sent to upstream backend should not contain empty %v header", headerKey)
}
headerKey = "Remove-Me"
if _, ok := actualHeaders[headerKey]; ok {
t.Errorf("Request sent to upstream backend should not contain %v header", headerKey)
}
headerKey = "Replace-Me"
got = actualHeaders[headerKey]
expect = []string{replacer.Replace("{hostname}")}
if !reflect.DeepEqual(got, expect) {
t.Errorf("Request sent to upstream backend does not contain expected %v header: expect %v, but got %v",
headerKey, expect, got)
}
headerKey = "Clear-Me"
if _, ok := actualHeaders[headerKey]; ok {
t.Errorf("Request sent to upstream backend should not contain empty %v header", headerKey)
} }
if actualHost != expectHost { if actualHost != expectHost {
@ -617,49 +592,18 @@ func TestDownstreamHeadersUpdate(t *testing.T) {
replacer := httpserver.NewReplacer(r, nil, "") replacer := httpserver.NewReplacer(r, nil, "")
actualHeaders := w.Header() actualHeaders := w.Header()
headerKey := "Merge-Me" for headerKey, expect := range map[string][]string{
got := actualHeaders[headerKey] "Merge-Me": {"Initial", "Merge-Value"},
expect := []string{"Initial", "Merge-Value"} "Add-Me": {"Add-Value"},
if !reflect.DeepEqual(got, expect) { "Remove-Me": nil,
t.Errorf("Downstream response does not contain expected %s header: expect %v, but got %v", "Replace-Me": {replacer.Replace("{hostname}")},
headerKey, expect, got) "Content-Type": {"text/css"},
} "Overwrite-Me": {"Overwrite-Value"},
} {
headerKey = "Add-Me" if got := actualHeaders[headerKey]; !reflect.DeepEqual(got, expect) {
got = actualHeaders[headerKey] t.Errorf("Downstream response does not contain expected %s header: expect %v, but got %v",
expect = []string{"Add-Value"} headerKey, expect, got)
if !reflect.DeepEqual(got, expect) { }
t.Errorf("Downstream response does not contain expected %s header: expect %v, but got %v",
headerKey, expect, got)
}
headerKey = "Remove-Me"
if _, ok := actualHeaders[headerKey]; ok {
t.Errorf("Downstream response should not contain %v header received from upstream", headerKey)
}
headerKey = "Replace-Me"
got = actualHeaders[headerKey]
expect = []string{replacer.Replace("{hostname}")}
if !reflect.DeepEqual(got, expect) {
t.Errorf("Downstream response does not contain expected %s header: expect %v, but got %v",
headerKey, expect, got)
}
headerKey = "Content-Type"
got = actualHeaders[headerKey]
expect = []string{"text/css"}
if !reflect.DeepEqual(got, expect) {
t.Errorf("Downstream response does not contain expected %s header: expect %v, but got %v",
headerKey, expect, got)
}
headerKey = "Overwrite-Me"
got = actualHeaders[headerKey]
expect = []string{"Overwrite-Value"}
if !reflect.DeepEqual(got, expect) {
t.Errorf("Downstream response does not contain expected %s header: expect %v, but got %v",
headerKey, expect, got)
} }
} }