diff options
Diffstat (limited to 'plugin')
-rw-r--r-- | plugin/clouddns/setup.go | 34 | ||||
-rw-r--r-- | plugin/clouddns/setup_test.go | 4 |
2 files changed, 17 insertions, 21 deletions
diff --git a/plugin/clouddns/setup.go b/plugin/clouddns/setup.go index 35c7e9179..7de8efe89 100644 --- a/plugin/clouddns/setup.go +++ b/plugin/clouddns/setup.go @@ -17,27 +17,23 @@ import ( var log = clog.NewWithPlugin("clouddns") -func init() { - plugin.Register("clouddns", - func(c *caddy.Controller) error { - f := func(ctx context.Context, opt option.ClientOption) (gcpDNS, error) { - var err error - var client *gcp.Service - if opt != nil { - client, err = gcp.NewService(ctx, opt) - } else { - // if credentials file is not provided in the Corefile - // authenticate the client using env variables - client, err = gcp.NewService(ctx) - } - return gcpClient{client}, err - } - return setup(c, f) - }, - ) +func init() { plugin.Register("clouddns", setup) } + +// exposed for testing +var f = func(ctx context.Context, opt option.ClientOption) (gcpDNS, error) { + var err error + var client *gcp.Service + if opt != nil { + client, err = gcp.NewService(ctx, opt) + } else { + // if credentials file is not provided in the Corefile + // authenticate the client using env variables + client, err = gcp.NewService(ctx) + } + return gcpClient{client}, err } -func setup(c *caddy.Controller, f func(ctx context.Context, opt option.ClientOption) (gcpDNS, error)) error { +func setup(c *caddy.Controller) error { for c.Next() { keyPairs := map[string]struct{}{} keys := map[string][]string{} diff --git a/plugin/clouddns/setup_test.go b/plugin/clouddns/setup_test.go index be9c51d92..6d2997298 100644 --- a/plugin/clouddns/setup_test.go +++ b/plugin/clouddns/setup_test.go @@ -9,7 +9,7 @@ import ( ) func TestSetupCloudDNS(t *testing.T) { - f := func(ctx context.Context, opt option.ClientOption) (gcpDNS, error) { + f = func(ctx context.Context, opt option.ClientOption) (gcpDNS, error) { return fakeGCPClient{}, nil } @@ -41,7 +41,7 @@ func TestSetupCloudDNS(t *testing.T) { for _, test := range tests { c := caddy.NewTestController("dns", test.body) - if err := setup(c, f); (err == nil) == test.expectedError { + if err := setup(c); (err == nil) == test.expectedError { t.Errorf("Unexpected errors: %v", err) } } |