aboutsummaryrefslogtreecommitdiff
path: root/plugin/dnstap/handler_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'plugin/dnstap/handler_test.go')
-rw-r--r--plugin/dnstap/handler_test.go67
1 files changed, 63 insertions, 4 deletions
diff --git a/plugin/dnstap/handler_test.go b/plugin/dnstap/handler_test.go
index 617c8e675..3809bc4d0 100644
--- a/plugin/dnstap/handler_test.go
+++ b/plugin/dnstap/handler_test.go
@@ -1,8 +1,12 @@
package dnstap
import (
+ "errors"
+ "net"
+ "strings"
"testing"
+ "github.com/coredns/coredns/plugin"
"github.com/coredns/coredns/plugin/dnstap/test"
mwtest "github.com/coredns/coredns/plugin/test"
@@ -20,8 +24,8 @@ func testCase(t *testing.T, tapq, tapr *tap.Message, q, r *dns.Msg) {
return 0, w.WriteMsg(r)
}),
- IO: &w,
- Pack: false,
+ IO: &w,
+ JoinRawMessage: false,
}
_, err := h.ServeDNS(context.TODO(), &mwtest.ResponseWriter{}, q)
if err != nil {
@@ -52,7 +56,62 @@ func TestDnstap(t *testing.T) {
mwtest.A("example.org. 3600 IN A 10.0.0.1"),
},
}.Msg()
- tapq := test.TestingData().ToClientQuery()
- tapr := test.TestingData().ToClientResponse()
+ tapq, _ := test.TestingData().ToClientQuery()
+ tapr, _ := test.TestingData().ToClientResponse()
testCase(t, tapq, tapr, q, r)
}
+
+type noWriter struct {
+}
+
+func (n noWriter) Dnstap(d tap.Dnstap) {
+}
+
+func endWith(c int, err error) plugin.Handler {
+ return mwtest.HandlerFunc(func(_ context.Context, w dns.ResponseWriter, _ *dns.Msg) (int, error) {
+ w.WriteMsg(nil) // trigger plugin dnstap to log client query and response
+ // maybe dnstap should log the client query when no message is written...
+ return c, err
+ })
+}
+
+type badAddr struct {
+}
+
+func (bad badAddr) Network() string {
+ return "bad network"
+}
+func (bad badAddr) String() string {
+ return "bad address"
+}
+
+type badRW struct {
+ dns.ResponseWriter
+}
+
+func (bad *badRW) RemoteAddr() net.Addr {
+ return badAddr{}
+}
+
+func TestError(t *testing.T) {
+ h := Dnstap{
+ Next: endWith(0, nil),
+ IO: noWriter{},
+ JoinRawMessage: false,
+ }
+ rw := &badRW{&mwtest.ResponseWriter{}}
+
+ // the dnstap error will show only if there is no plugin error
+ _, err := h.ServeDNS(context.TODO(), rw, nil)
+ if err == nil || !strings.HasPrefix(err.Error(), "plugin/dnstap") {
+ t.Fatal("must return the dnstap error but have:", err)
+ }
+
+ // plugin errors will always overwrite dnstap errors
+ pluginErr := errors.New("plugin error")
+ h.Next = endWith(0, pluginErr)
+ _, err = h.ServeDNS(context.TODO(), rw, nil)
+ if err != pluginErr {
+ t.Fatal("must return the plugin error but have:", err)
+ }
+}
on value='jarred/workers'>jarred/workers Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
path: root/test/bun.js/concat.test.js (unfollow)
AgeCommit message (Expand)AuthorFilesLines
2023-03-02Ensure prettier knows where to lookGravatar Jarred Sumner 6-5/+24
2023-03-02add tests for scoped dependency aliasing (#2271)Gravatar Alex Lam S.L 3-15/+111
2023-03-02fix tmp dir in fetch.tests.js (#2270)Gravatar Ciro Spaciari 1-1/+2
2023-03-02Remake typings for FFI dlopen/linkSymbols + introduce Pointer type (#2227)Gravatar u9g 4-28/+222
2023-03-02put AbortSignal in WebCore namespace (#2267)Gravatar Ciro Spaciari 9-69/+70
2023-03-02only free sink after promises solves (#2268)Gravatar Ciro Spaciari 2-10/+10
2023-03-02Fix `Bun.sleepSync` to actually use milliseconds (#2242)Gravatar Justin Whear 3-5/+57
2023-03-01fix(bindings): mark `JSCInitialize` (#2265)Gravatar Derrick Farris 1-0/+1
2023-03-01Add page descriptions (#2260)Gravatar Colin McDonnell 1-46/+132
2023-03-01fix bun server segfault with abortsignal (#2261)Gravatar Ciro Spaciari 3-133/+79
2023-03-01fix(node:http): match Node `http.request()` GET/HEAD w/ body (#2262)Gravatar Derrick Farris 2-2/+31
2023-03-01Add a test for https request in node:httpGravatar Jarred Sumner 2-17/+28
2023-03-01fix(node:http/https): fix passing `URL` objs to `http.request`(#2253) (#2258)Gravatar Derrick Farris 2-43/+63
2023-03-01Revert "Update clap (#2238)"Gravatar Jarred Sumner 16-290/+1840
2023-03-01Revert "Add `-D`, `--dev` flags for bun install (#2240)"Gravatar Jarred Sumner 1-9/+9
2023-03-01Use GitHub action ID instead of SHA for test workflowGravatar Ashcon Partovi 1-1/+1
2023-03-01avoids segfault after aborted onReject in Bun.serve streams (#2256)Gravatar Ciro Spaciari 1-7/+8
2023-03-01Run tests in CI for bun-linux-aarch64Gravatar Ashcon Partovi 2-1/+30
2023-03-01Revert spawnSync changeGravatar Jarred Sumner 1-1/+2
2023-03-01Update bindings.zigGravatar Jarred Sumner 1-1/+3
2023-03-01fix deinit behavior when connection is aborted using ResponseStream and abort...Gravatar Ciro Spaciari 3-34/+174
2023-03-01fix Bun.file.arrayBuffer() segmentation fault on empty file #2248 (#2249)Gravatar Ciro Spaciari 3-7/+23
2023-03-01Fix async in sqliteGravatar Colin McDonnell 1-2/+2
2023-02-28Forces a specific libdir for c-ares (#2241)Gravatar Justin Whear 1-1/+5
2023-02-28Make Bun.gc(true) more aggressiveGravatar Jarred Sumner 1-0/+3
2023-02-28Expose JSC::Options via `BUN_JSC_` prefixGravatar Jarred Sumner 6-8/+47
2023-02-28fixupGravatar Jarred Sumner 1-1/+1
2023-02-28Fix typecheckGravatar Colin McDonnell 2-1/+4
2023-02-28Fix incorrect Bun version in docs (#2236)Gravatar Derrick Farris 1-1/+1
2023-02-28just some comments fix (#2237)Gravatar Ciro Spaciari 1-4/+2
2023-02-28Add `-D`, `--dev` flags for bun install (#2240)Gravatar Justin Whear 1-9/+9
2023-02-28Document punningGravatar Colin McDonnell 1-1/+18