aboutsummaryrefslogtreecommitdiff
path: root/plugin/forwardcrd/fakes_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'plugin/forwardcrd/fakes_test.go')
-rw-r--r--plugin/forwardcrd/fakes_test.go86
1 files changed, 86 insertions, 0 deletions
diff --git a/plugin/forwardcrd/fakes_test.go b/plugin/forwardcrd/fakes_test.go
new file mode 100644
index 000000000..9b6cb0bcf
--- /dev/null
+++ b/plugin/forwardcrd/fakes_test.go
@@ -0,0 +1,86 @@
+package forwardcrd
+
+import (
+ "context"
+ "sync"
+
+ "github.com/coredns/coredns/plugin/forward"
+
+ "github.com/miekg/dns"
+)
+
+type TestPluginHandler struct {
+ mutex sync.Mutex
+ ReceivedConfig forward.ForwardConfig
+ onStartupCallCount int
+ onShutdownCallCount int
+}
+
+func (t *TestPluginHandler) ServeDNS(context.Context, dns.ResponseWriter, *dns.Msg) (int, error) {
+ return 0, nil
+}
+
+func (t *TestPluginHandler) Name() string { return "" }
+
+func (t *TestPluginHandler) OnStartup() error {
+ t.mutex.Lock()
+ defer t.mutex.Unlock()
+ t.onStartupCallCount++
+ return nil
+}
+
+func (t *TestPluginHandler) OnShutdown() error {
+ t.mutex.Lock()
+ defer t.mutex.Unlock()
+ t.onShutdownCallCount++
+ return nil
+}
+
+func (t *TestPluginHandler) OnStartupCallCount() int {
+ t.mutex.Lock()
+ defer t.mutex.Unlock()
+ return t.onStartupCallCount
+}
+
+func (t *TestPluginHandler) OnShutdownCallCount() int {
+ t.mutex.Lock()
+ defer t.mutex.Unlock()
+ return t.onShutdownCallCount
+}
+
+type TestPluginInstancer struct {
+ mutex sync.Mutex
+ testPluginHandlers []*TestPluginHandler
+}
+
+func (t *TestPluginInstancer) NewWithConfig(config forward.ForwardConfig) (lifecyclePluginHandler, error) {
+ t.mutex.Lock()
+ defer t.mutex.Unlock()
+
+ testPluginHandler := &TestPluginHandler{
+ ReceivedConfig: config,
+ }
+ t.testPluginHandlers = append(t.testPluginHandlers, testPluginHandler)
+ return testPluginHandler, nil
+}
+
+func (t *TestPluginInstancer) NewWithConfigArgsForCall(index int) *TestPluginHandler {
+ t.mutex.Lock()
+ defer t.mutex.Unlock()
+
+ return t.testPluginHandlers[index]
+}
+
+func (t *TestPluginInstancer) NewWithConfigCallCount() int {
+ t.mutex.Lock()
+ defer t.mutex.Unlock()
+
+ return len(t.testPluginHandlers)
+}
+
+type TestController struct {
+}
+
+func (t *TestController) Run(threads int) {}
+func (t *TestController) HasSynced() bool { return true }
+func (t *TestController) Stop() error { return nil }