wildcardMetadataBackend mocks a backend that responds with a response for qname synthesized by wildcard and sets the zone/wildcard metadata value
(qname, wildcard string)
| 1035 | // wildcardMetadataBackend mocks a backend that responds with a response for qname synthesized by wildcard |
| 1036 | // and sets the zone/wildcard metadata value |
| 1037 | func wildcardMetadataBackend(qname, wildcard string) plugin.Handler { |
| 1038 | return plugin.HandlerFunc(func(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) (int, error) { |
| 1039 | m := new(dns.Msg) |
| 1040 | m.SetReply(r) |
| 1041 | m.Response, m.RecursionAvailable = true, true |
| 1042 | m.Answer = []dns.RR{test.A(qname + " 300 IN A 127.0.0.1")} |
| 1043 | metadata.SetValueFunc(ctx, "zone/wildcard", func() string { |
| 1044 | return wildcard |
| 1045 | }) |
| 1046 | w.WriteMsg(m) |
| 1047 | |
| 1048 | return dns.RcodeSuccess, nil |
| 1049 | }) |
| 1050 | } |
| 1051 | |
| 1052 | func TestServfailDoesNotShadowPositiveCache(t *testing.T) { |
| 1053 | c := New() |
no test coverage detected
searching dependent graphs…