Merge pull request #7177 from eplightning/fix-azure-npe

fix: Handle case of Azure returning auth error
This commit is contained in:
cert-manager-prow[bot] 2024-07-18 18:17:10 +00:00 committed by GitHub
commit 5f003f25a7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 12 additions and 1 deletions

View File

@ -210,7 +210,7 @@ func (c *DNSProvider) updateTXTRecord(ctx context.Context, fqdn string, updater
resp, err := c.recordClient.Get(ctx, c.resourceGroupName, zone, name, dns.RecordTypeTXT, nil)
if err != nil {
var respErr *azcore.ResponseError
if errors.As(err, &respErr); respErr.StatusCode == http.StatusNotFound {
if errors.As(err, &respErr); respErr != nil && respErr.StatusCode == http.StatusNotFound {
set = &dns.RecordSet{
Properties: &dns.RecordSetProperties{
TTL: to.Ptr(int64(60)),

View File

@ -128,6 +128,17 @@ func TestInvalidAzureDns(t *testing.T) {
assert.Error(t, err)
}
func TestAuthenticationError(t *testing.T) {
provider, err := NewDNSProviderCredentials("", "invalid-client-id", "invalid-client-secret", "subid", "tenid", "rg", "example.com", util.RecursiveNameservers, false, &v1.AzureManagedIdentity{})
assert.NoError(t, err)
err = provider.Present(context.TODO(), "example.com", "_acme-challenge.example.com.", "123d==")
assert.Error(t, err)
err = provider.CleanUp(context.TODO(), "example.com", "_acme-challenge.example.com.", "123d==")
assert.Error(t, err)
}
func populateFederatedToken(t *testing.T, filename string, content string) {
t.Helper()