1package dns 2 3import ( 4 "testing" 5 6 "github.com/go-acme/lego/v3/platform/tester" 7 "github.com/go-acme/lego/v3/providers/dns/exec" 8 "github.com/stretchr/testify/assert" 9 "github.com/stretchr/testify/require" 10) 11 12var envTest = tester.NewEnvTest("EXEC_PATH") 13 14func TestKnownDNSProviderSuccess(t *testing.T) { 15 defer envTest.RestoreEnv() 16 envTest.Apply(map[string]string{ 17 "EXEC_PATH": "abc", 18 }) 19 20 provider, err := NewDNSChallengeProviderByName("exec") 21 require.NoError(t, err) 22 assert.NotNil(t, provider) 23 24 assert.IsType(t, &exec.DNSProvider{}, provider, "The loaded DNS provider doesn't have the expected type.") 25} 26 27func TestKnownDNSProviderError(t *testing.T) { 28 defer envTest.RestoreEnv() 29 envTest.ClearEnv() 30 31 provider, err := NewDNSChallengeProviderByName("exec") 32 assert.Error(t, err) 33 assert.Nil(t, provider) 34} 35 36func TestUnknownDNSProvider(t *testing.T) { 37 provider, err := NewDNSChallengeProviderByName("foobar") 38 assert.Error(t, err) 39 assert.Nil(t, provider) 40} 41