Add Google Cloud DNS plugin (#3011)
Signed-off-by: Palash Nigam <npalash25@gmail.com> Closes: #2822
This commit is contained in:
parent
bde393096f
commit
194b0f95b4
13 changed files with 825 additions and 0 deletions
48
plugin/clouddns/setup_test.go
Normal file
48
plugin/clouddns/setup_test.go
Normal file
|
@ -0,0 +1,48 @@
|
|||
package clouddns
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
|
||||
"github.com/caddyserver/caddy"
|
||||
"google.golang.org/api/option"
|
||||
)
|
||||
|
||||
func TestSetupCloudDNS(t *testing.T) {
|
||||
f := func(ctx context.Context, opt option.ClientOption) (gcpDNS, error) {
|
||||
return fakeGCPClient{}, nil
|
||||
}
|
||||
|
||||
tests := []struct {
|
||||
body string
|
||||
expectedError bool
|
||||
}{
|
||||
{`clouddns`, false},
|
||||
{`clouddns :`, true},
|
||||
{`clouddns ::`, true},
|
||||
{`clouddns example.org.:example-project:zone-name`, false},
|
||||
{`clouddns example.org.:example-project:zone-name { }`, false},
|
||||
{`clouddns example.org.:example-project: { }`, true},
|
||||
{`clouddns example.org.:example-project:zone-name { }`, false},
|
||||
{`clouddns example.org.:example-project:zone-name { wat
|
||||
}`, true},
|
||||
{`clouddns example.org.:example-project:zone-name {
|
||||
fallthrough
|
||||
}`, false},
|
||||
{`clouddns example.org.:example-project:zone-name {
|
||||
credentials
|
||||
}`, true},
|
||||
{`clouddns example.org.:example-project:zone-name example.org.:example-project:zone-name {
|
||||
}`, true},
|
||||
|
||||
{`clouddns example.org {
|
||||
}`, true},
|
||||
}
|
||||
|
||||
for _, test := range tests {
|
||||
c := caddy.NewTestController("dns", test.body)
|
||||
if err := setup(c, f); (err == nil) == test.expectedError {
|
||||
t.Errorf("Unexpected errors: %v", err)
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue