summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/xenolf/lego/providers/dns/dns_providers_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/xenolf/lego/providers/dns/dns_providers_test.go')
-rw-r--r--vendor/github.com/xenolf/lego/providers/dns/dns_providers_test.go50
1 files changed, 50 insertions, 0 deletions
diff --git a/vendor/github.com/xenolf/lego/providers/dns/dns_providers_test.go b/vendor/github.com/xenolf/lego/providers/dns/dns_providers_test.go
new file mode 100644
index 000000000..3f87ffd33
--- /dev/null
+++ b/vendor/github.com/xenolf/lego/providers/dns/dns_providers_test.go
@@ -0,0 +1,50 @@
+package dns
+
+import (
+ "os"
+ "reflect"
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+ "github.com/xenolf/lego/providers/dns/exoscale"
+)
+
+var (
+ apiKey string
+ apiSecret string
+)
+
+func init() {
+ apiSecret = os.Getenv("EXOSCALE_API_SECRET")
+ apiKey = os.Getenv("EXOSCALE_API_KEY")
+}
+
+func restoreExoscaleEnv() {
+ os.Setenv("EXOSCALE_API_KEY", apiKey)
+ os.Setenv("EXOSCALE_API_SECRET", apiSecret)
+}
+
+func TestKnownDNSProviderSuccess(t *testing.T) {
+ os.Setenv("EXOSCALE_API_KEY", "abc")
+ os.Setenv("EXOSCALE_API_SECRET", "123")
+ provider, err := NewDNSChallengeProviderByName("exoscale")
+ assert.NoError(t, err)
+ assert.NotNil(t, provider)
+ if reflect.TypeOf(provider) != reflect.TypeOf(&exoscale.DNSProvider{}) {
+ t.Errorf("Not loaded correct DNS proviver: %v is not *exoscale.DNSProvider", reflect.TypeOf(provider))
+ }
+ restoreExoscaleEnv()
+}
+
+func TestKnownDNSProviderError(t *testing.T) {
+ os.Setenv("EXOSCALE_API_KEY", "")
+ os.Setenv("EXOSCALE_API_SECRET", "")
+ _, err := NewDNSChallengeProviderByName("exoscale")
+ assert.Error(t, err)
+ restoreExoscaleEnv()
+}
+
+func TestUnknownDNSProvider(t *testing.T) {
+ _, err := NewDNSChallengeProviderByName("foobar")
+ assert.Error(t, err)
+}