diff options
Diffstat (limited to 'plugin/forwardcrd/fakes_test.go')
-rw-r--r-- | plugin/forwardcrd/fakes_test.go | 86 |
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 } |