From d2494a92270239364d5759401f1721b91f348931 Mon Sep 17 00:00:00 2001 From: Matthew Christopher Date: Sat, 21 Oct 2023 19:19:31 -0700 Subject: [PATCH] Add HEAD method to generic_client * Refactor existing method called Head, as it was using GET not HEAD. --- .../crd_aks_fleet_20230315preview_test.go | 5 +- .../crd_aks_managedcluster_20210501_test.go | 2 +- ...aks_managedcluster_20230102preview_test.go | 2 +- .../crd_appconfiguration_configstore_test.go | 2 +- .../crd_authorization_roleassignment_test.go | 4 +- .../controllers/crd_batch_account_test.go | 2 +- .../crd_cache_redis_20201201_test.go | 2 +- .../crd_cache_redis_20230401_test.go | 2 +- ...crd_cache_redisenterprise_20210301_test.go | 2 +- ...crd_cache_redisenterprise_20230701_test.go | 2 +- v2/internal/controllers/crd_cdn_test.go | 2 +- .../controllers/crd_compute_disk_test.go | 2 +- .../crd_compute_diskencryptionset_test.go | 2 +- .../crd_compute_image_20210701_test.go | 2 +- .../crd_compute_image_20220301_test.go | 2 +- .../controllers/crd_compute_snapshot_test.go | 2 +- .../crd_compute_vm_20201201_test.go | 2 +- .../crd_compute_vm_20220301_test.go | 2 +- ...d_containerinstance_containergroup_test.go | 2 +- .../controllers/crd_datafactory_test.go | 5 +- .../crd_dataprotection_backuppolicy_test.go | 2 +- .../crd_dataprotection_backupvault_test.go | 2 +- .../crd_dbformysql_flexibleserver_test.go | 2 +- ...postgresql_flexibleserver_20210601_test.go | 2 +- ...sql_flexibleserver_20220120preview_test.go | 2 +- .../controllers/crd_devices_iothub_test.go | 2 +- .../controllers/crd_eventgrid_domain_test.go | 2 +- .../controllers/crd_eventgrid_topic_test.go | 2 +- .../crd_insights_actiongroup_test.go | 2 +- .../crd_insights_autoscalesetting_test.go | 2 +- .../crd_insights_component_test.go | 6 +- .../crd_insights_metricalert_test.go | 2 +- .../crd_insights_scheduledqueryrule_test.go | 2 +- ...nagedidentity_userassignedidentity_test.go | 4 +- .../crd_networking_applicationgateway_test.go | 2 +- .../crd_networking_bastionhost_test.go | 2 +- .../crd_networking_dnsresolver_test.go | 6 +- .../crd_networking_dnszone_test.go | 2 +- .../crd_networking_forwardingrule_test.go | 4 +- .../crd_networking_loadbalancer_test.go | 2 +- .../crd_networking_natgateway_test.go | 2 +- .../controllers/crd_networking_nsg_test.go | 2 +- .../crd_networking_privatednszone_test.go | 2 +- .../crd_networking_privateendpoint_test.go | 2 +- .../crd_networking_privatelinkservice_test.go | 2 +- .../crd_networking_publicip_test.go | 2 +- .../crd_networking_publicipprefix_test.go | 2 +- .../crd_networking_routetable_test.go | 6 +- ...d_networking_trafficmanagerprofile_test.go | 2 +- .../crd_networking_virtualnetwork_test.go | 4 +- ...d_networking_virtualnetworkpeering_test.go | 4 +- .../crd_operationalinsights_workspace_test.go | 2 +- .../crd_resources_resourcegroup_test.go | 2 +- .../crd_search_searchservice_test.go | 2 +- v2/internal/controllers/crd_signalr_test.go | 2 +- .../crd_sql_server_failover_group_test.go | 2 +- .../controllers/crd_sql_server_test.go | 2 +- ...rd_storage_storageaccount_20210401_test.go | 2 +- ...rd_storage_storageaccount_20220901_test.go | 2 +- .../crd_subscription_alias_test.go | 2 +- v2/internal/controllers/crd_synapse_test.go | 2 +- .../controllers/crd_web_serverfarm_test.go | 2 +- v2/internal/controllers/crd_web_site_test.go | 2 +- v2/internal/controllers/owner_arm_id_test.go | 6 +- .../controllers/reconcile_policy_test.go | 6 +- .../controllers/secrets_from_azure_test.go | 2 +- .../genericarmclient/generic_client.go | 61 +++++++++- .../genericarmclient/generic_client_test.go | 12 +- .../recordings/Test_NewResourceGroup.yaml | 110 +++++++++++++++--- .../testcommon/azure_be_deleted_matcher.go | 2 +- .../testcommon/kube_per_test_context.go | 2 +- v2/test/private_endpoint_test.go | 2 +- v2/test/reconcile_policy_test.go | 4 +- v2/test/single_operator_multitenant_test.go | 6 +- 74 files changed, 256 insertions(+), 111 deletions(-) diff --git a/v2/internal/controllers/crd_aks_fleet_20230315preview_test.go b/v2/internal/controllers/crd_aks_fleet_20230315preview_test.go index be2932da4ca..a6072cb76e8 100644 --- a/v2/internal/controllers/crd_aks_fleet_20230315preview_test.go +++ b/v2/internal/controllers/crd_aks_fleet_20230315preview_test.go @@ -8,12 +8,13 @@ package controllers_test import ( "testing" + . "github.com/onsi/gomega" + aks "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20230202preview" fleet "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20230315preview" "github.com/Azure/azure-service-operator/v2/internal/testcommon" "github.com/Azure/azure-service-operator/v2/internal/util/to" "github.com/Azure/azure-service-operator/v2/pkg/genruntime" - . "github.com/onsi/gomega" ) func Test_AKS_Fleet_20230315_CRUD(t *testing.T) { @@ -115,7 +116,7 @@ func Test_AKS_Fleet_20230315_CRUD(t *testing.T) { tc.DeleteResourceAndWait(flt) // Ensure that fleet was really deleted in Azure - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(fleet.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(fleet.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_aks_managedcluster_20210501_test.go b/v2/internal/controllers/crd_aks_managedcluster_20210501_test.go index 89b77dc6192..bd1012a8c20 100644 --- a/v2/internal/controllers/crd_aks_managedcluster_20210501_test.go +++ b/v2/internal/controllers/crd_aks_managedcluster_20210501_test.go @@ -105,7 +105,7 @@ func Test_AKS_ManagedCluster_20210501_CRUD(t *testing.T) { tc.DeleteResourceAndWait(cluster) // Ensure that the cluster was really deleted in Azure - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(aks.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(aks.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_aks_managedcluster_20230102preview_test.go b/v2/internal/controllers/crd_aks_managedcluster_20230102preview_test.go index 43923a64238..4cd095528d4 100644 --- a/v2/internal/controllers/crd_aks_managedcluster_20230102preview_test.go +++ b/v2/internal/controllers/crd_aks_managedcluster_20230102preview_test.go @@ -121,7 +121,7 @@ func Test_AKS_ManagedCluster_20230202Preview_CRUD(t *testing.T) { tc.DeleteResourceAndWait(cluster) // Ensure that the cluster was really deleted in Azure - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(aks.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(aks.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_appconfiguration_configstore_test.go b/v2/internal/controllers/crd_appconfiguration_configstore_test.go index 495ba7bce82..33dad78bb24 100644 --- a/v2/internal/controllers/crd_appconfiguration_configstore_test.go +++ b/v2/internal/controllers/crd_appconfiguration_configstore_test.go @@ -64,7 +64,7 @@ func Test_AppConfiguration_ConfigurationStore_CRUD(t *testing.T) { tc.DeleteResourceAndWait(cs) - exists, _, err := tc.AzureClient.HeadByID( + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID( tc.Ctx, armId, string(appconfig.APIVersion_Value)) diff --git a/v2/internal/controllers/crd_authorization_roleassignment_test.go b/v2/internal/controllers/crd_authorization_roleassignment_test.go index 0444fb87c22..7b2554652a7 100644 --- a/v2/internal/controllers/crd_authorization_roleassignment_test.go +++ b/v2/internal/controllers/crd_authorization_roleassignment_test.go @@ -76,7 +76,7 @@ func Test_Authorization_RoleAssignment_OnResourceGroup_CRUD(t *testing.T) { tc.DeleteResourceAndWait(roleAssignment) // Ensure that the resource group was really deleted in Azure - exists, _, err := tc.AzureClient.HeadByID( + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID( tc.Ctx, armId, string(authorization.APIVersion_Value)) @@ -163,7 +163,7 @@ func Test_Authorization_RoleAssignment_OnStorageAccount_CRUD(t *testing.T) { tc.DeleteResourceAndWait(roleAssignment) // Ensure that the resource group was really deleted in Azure - exists, _, err := tc.AzureClient.HeadByID( + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID( tc.Ctx, armId, string(authorization.APIVersion_Value)) diff --git a/v2/internal/controllers/crd_batch_account_test.go b/v2/internal/controllers/crd_batch_account_test.go index 493b22844fd..09a122b6374 100644 --- a/v2/internal/controllers/crd_batch_account_test.go +++ b/v2/internal/controllers/crd_batch_account_test.go @@ -37,7 +37,7 @@ func Test_Batch_Account_CRUD(t *testing.T) { tc.DeleteResourceAndWait(account) // Ensure that the account was really deleted in Azure - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(batch.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(batch.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_cache_redis_20201201_test.go b/v2/internal/controllers/crd_cache_redis_20201201_test.go index 77e673f66ba..8e451e05d2d 100644 --- a/v2/internal/controllers/crd_cache_redis_20201201_test.go +++ b/v2/internal/controllers/crd_cache_redis_20201201_test.go @@ -74,7 +74,7 @@ func Test_Cache_Redis_20201201_CRUD(t *testing.T) { tc.DeleteResourcesAndWait(redis1, redis2) // Ensure that the resource was really deleted in Azure - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(cache.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(cache.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_cache_redis_20230401_test.go b/v2/internal/controllers/crd_cache_redis_20230401_test.go index 35264af876e..90b2a6bfc55 100644 --- a/v2/internal/controllers/crd_cache_redis_20230401_test.go +++ b/v2/internal/controllers/crd_cache_redis_20230401_test.go @@ -77,7 +77,7 @@ func Test_Cache_Redis_20230401_CRUD(t *testing.T) { tc.DeleteResourcesAndWait(redis1, redis2) // Ensure that the resource was really deleted in Azure - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(cache.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(cache.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_cache_redisenterprise_20210301_test.go b/v2/internal/controllers/crd_cache_redisenterprise_20210301_test.go index 2547ca3952f..89476f2ecc8 100644 --- a/v2/internal/controllers/crd_cache_redisenterprise_20210301_test.go +++ b/v2/internal/controllers/crd_cache_redisenterprise_20210301_test.go @@ -69,7 +69,7 @@ func Test_Cache_RedisEnterprise_20210301_CRUD(t *testing.T) { tc.DeleteResourceAndWait(&redis) // Ensure that the resource was really deleted in Azure - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(cache.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(cache.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_cache_redisenterprise_20230701_test.go b/v2/internal/controllers/crd_cache_redisenterprise_20230701_test.go index 42565c34349..4cae99a06a7 100644 --- a/v2/internal/controllers/crd_cache_redisenterprise_20230701_test.go +++ b/v2/internal/controllers/crd_cache_redisenterprise_20230701_test.go @@ -69,7 +69,7 @@ func Test_Cache_RedisEnterprise_20230701_CRUD(t *testing.T) { tc.DeleteResourceAndWait(&redis) // Ensure that the resource was really deleted in Azure - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(cache.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(cache.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_cdn_test.go b/v2/internal/controllers/crd_cdn_test.go index a255de3f98d..9133b850811 100644 --- a/v2/internal/controllers/crd_cdn_test.go +++ b/v2/internal/controllers/crd_cdn_test.go @@ -48,7 +48,7 @@ func Test_CDN_Profile_CRUD(t *testing.T) { armId := *profile.Status.Id tc.DeleteResourceAndWait(profile) - exists, _, err := tc.AzureClient.HeadByID( + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID( tc.Ctx, armId, string(cdn.APIVersion_Value)) diff --git a/v2/internal/controllers/crd_compute_disk_test.go b/v2/internal/controllers/crd_compute_disk_test.go index e7e4de3cae1..47dc3dfeb72 100644 --- a/v2/internal/controllers/crd_compute_disk_test.go +++ b/v2/internal/controllers/crd_compute_disk_test.go @@ -57,7 +57,7 @@ func Test_Compute_Disk_CRUD(t *testing.T) { tc.DeleteResourceAndWait(disk) // Ensure that the resource group was really deleted in Azure - exists, _, err := tc.AzureClient.HeadByID( + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID( tc.Ctx, armId, string(compute.APIVersion_Value)) diff --git a/v2/internal/controllers/crd_compute_diskencryptionset_test.go b/v2/internal/controllers/crd_compute_diskencryptionset_test.go index f7706ead2a8..bac9d591982 100644 --- a/v2/internal/controllers/crd_compute_diskencryptionset_test.go +++ b/v2/internal/controllers/crd_compute_diskencryptionset_test.go @@ -112,7 +112,7 @@ func Test_Compute_DiskEncryptionSet_CRUD(t *testing.T) { tc.DeleteResourceAndWait(diskEncryptionSet) // Ensure delete - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(compute.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(compute.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_compute_image_20210701_test.go b/v2/internal/controllers/crd_compute_image_20210701_test.go index 80ed5636dd2..09defe82a1b 100644 --- a/v2/internal/controllers/crd_compute_image_20210701_test.go +++ b/v2/internal/controllers/crd_compute_image_20210701_test.go @@ -82,7 +82,7 @@ func Test_Compute_Image_20210701_CRUD(t *testing.T) { tc.DeleteResourceAndWait(image) // Ensure that the resource was really deleted in Azure - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, imageARMId, string(compute2021.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, imageARMId, string(compute2021.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_compute_image_20220301_test.go b/v2/internal/controllers/crd_compute_image_20220301_test.go index fee8d814f92..efaba8a50b6 100644 --- a/v2/internal/controllers/crd_compute_image_20220301_test.go +++ b/v2/internal/controllers/crd_compute_image_20220301_test.go @@ -82,7 +82,7 @@ func Test_Compute_Image_20220301_CRUD(t *testing.T) { tc.DeleteResourceAndWait(image) // Ensure that the resource was really deleted in Azure - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, imageARMId, string(compute2022.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, imageARMId, string(compute2022.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_compute_snapshot_test.go b/v2/internal/controllers/crd_compute_snapshot_test.go index f5c7cd6d432..3863b8ba8cf 100644 --- a/v2/internal/controllers/crd_compute_snapshot_test.go +++ b/v2/internal/controllers/crd_compute_snapshot_test.go @@ -56,7 +56,7 @@ func Test_Compute_Snapshot_CRUD(t *testing.T) { tc.DeleteResourceAndWait(snapshot) // Ensure that the resource was really deleted in Azure - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(compute.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(compute.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_compute_vm_20201201_test.go b/v2/internal/controllers/crd_compute_vm_20201201_test.go index 0ad89a24b3d..15726c9ce86 100644 --- a/v2/internal/controllers/crd_compute_vm_20201201_test.go +++ b/v2/internal/controllers/crd_compute_vm_20201201_test.go @@ -140,7 +140,7 @@ func Test_Compute_VM_20201201_CRUD(t *testing.T) { tc.DeleteResourceAndWait(vm) // Ensure that the resource was really deleted in Azure - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(compute2020.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(compute2020.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_compute_vm_20220301_test.go b/v2/internal/controllers/crd_compute_vm_20220301_test.go index 6ed8ef2b034..cf587ab6a8b 100644 --- a/v2/internal/controllers/crd_compute_vm_20220301_test.go +++ b/v2/internal/controllers/crd_compute_vm_20220301_test.go @@ -97,7 +97,7 @@ func Test_Compute_VM_20220301_CRUD(t *testing.T) { tc.DeleteResourceAndWait(vm) // Ensure that the resource was really deleted in Azure - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(compute2022.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(compute2022.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_containerinstance_containergroup_test.go b/v2/internal/controllers/crd_containerinstance_containergroup_test.go index bbba05b546b..80a4df554d7 100644 --- a/v2/internal/controllers/crd_containerinstance_containergroup_test.go +++ b/v2/internal/controllers/crd_containerinstance_containergroup_test.go @@ -74,7 +74,7 @@ func Test_ContainerInstance_ContainerGroup_CRUD(t *testing.T) { tc.DeleteResourcesAndWait(&cg) // Ensure that the resource was really deleted in Azure - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(containerinstance.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(containerinstance.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_datafactory_test.go b/v2/internal/controllers/crd_datafactory_test.go index e5def92420c..3a690e2cdff 100644 --- a/v2/internal/controllers/crd_datafactory_test.go +++ b/v2/internal/controllers/crd_datafactory_test.go @@ -10,10 +10,11 @@ import ( . "github.com/onsi/gomega" + v1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" + datafactory "github.com/Azure/azure-service-operator/v2/api/datafactory/v1api20180601" "github.com/Azure/azure-service-operator/v2/internal/testcommon" "github.com/Azure/azure-service-operator/v2/internal/util/to" - v1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" ) func Test_Data_Factory_CRUD(t *testing.T) { @@ -57,7 +58,7 @@ func Test_Data_Factory_CRUD(t *testing.T) { tc.DeleteResourceAndWait(factory) // Ensure that the data factory was really deleted in Azure - exists, _, err := tc.AzureClient.HeadByID( + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID( tc.Ctx, factoryArmId, string(datafactory.APIVersion_Value)) diff --git a/v2/internal/controllers/crd_dataprotection_backuppolicy_test.go b/v2/internal/controllers/crd_dataprotection_backuppolicy_test.go index 9c76c7482f4..a36e1b6ca34 100644 --- a/v2/internal/controllers/crd_dataprotection_backuppolicy_test.go +++ b/v2/internal/controllers/crd_dataprotection_backuppolicy_test.go @@ -111,7 +111,7 @@ func Test_Dataprotection_Backuppolicy_CRUD(t *testing.T) { tc.DeleteResourceAndWait(backupPolicy) // Ensure that the resource group was really deleted in Azure - exists, _, err := tc.AzureClient.HeadByID( + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID( tc.Ctx, armId, string(dataprotection.APIVersion_Value), diff --git a/v2/internal/controllers/crd_dataprotection_backupvault_test.go b/v2/internal/controllers/crd_dataprotection_backupvault_test.go index 4c837430faa..0a858c0e827 100644 --- a/v2/internal/controllers/crd_dataprotection_backupvault_test.go +++ b/v2/internal/controllers/crd_dataprotection_backupvault_test.go @@ -86,7 +86,7 @@ func Test_Dataprotection_Backupvault_CRUD(t *testing.T) { tc.DeleteResourceAndWait(backupVault) // Ensure that the resource group was really deleted in Azure - exists, _, err := tc.AzureClient.HeadByID( + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID( tc.Ctx, armId, string(dataprotection.APIVersion_Value)) diff --git a/v2/internal/controllers/crd_dbformysql_flexibleserver_test.go b/v2/internal/controllers/crd_dbformysql_flexibleserver_test.go index a7e01152dc2..3e358a72035 100644 --- a/v2/internal/controllers/crd_dbformysql_flexibleserver_test.go +++ b/v2/internal/controllers/crd_dbformysql_flexibleserver_test.go @@ -87,7 +87,7 @@ func Test_DBForMySQL_FlexibleServer_CRUD(t *testing.T) { tc.DeleteResourceAndWait(flexibleServer) // Ensure that the resource was really deleted in Azure - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(mysql.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(mysql.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_dbforpostgresql_flexibleserver_20210601_test.go b/v2/internal/controllers/crd_dbforpostgresql_flexibleserver_20210601_test.go index 3756ce91bcf..477dd623177 100644 --- a/v2/internal/controllers/crd_dbforpostgresql_flexibleserver_20210601_test.go +++ b/v2/internal/controllers/crd_dbforpostgresql_flexibleserver_20210601_test.go @@ -118,7 +118,7 @@ func Test_DBForPostgreSQL_FlexibleServer_20210601_CRUD(t *testing.T) { tc.DeleteResourceAndWait(flexibleServer) // Ensure that the resource was really deleted in Azure - exists, retryAfter, err := tc.AzureClient.HeadByID(ctx, armId, string(postgresql.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(ctx, armId, string(postgresql.APIVersion_Value)) g.Expect(err).ToNot(HaveOccurred()) g.Expect(retryAfter).To(BeZero()) g.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_dbforpostgresql_flexibleserver_20220120preview_test.go b/v2/internal/controllers/crd_dbforpostgresql_flexibleserver_20220120preview_test.go index 11e982b5f08..2458bbf0bc8 100644 --- a/v2/internal/controllers/crd_dbforpostgresql_flexibleserver_20220120preview_test.go +++ b/v2/internal/controllers/crd_dbforpostgresql_flexibleserver_20220120preview_test.go @@ -128,7 +128,7 @@ func Test_DBForPostgreSQL_FlexibleServer_20220120preview_CRUD(t *testing.T) { tc.DeleteResourceAndWait(flexibleServer) // Ensure that the resource was really deleted in Azure - exists, retryAfter, err := tc.AzureClient.HeadByID(ctx, armId, string(postgresql.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(ctx, armId, string(postgresql.APIVersion_Value)) g.Expect(err).ToNot(HaveOccurred()) g.Expect(retryAfter).To(BeZero()) g.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_devices_iothub_test.go b/v2/internal/controllers/crd_devices_iothub_test.go index 36f677c4a5f..05164da26a7 100644 --- a/v2/internal/controllers/crd_devices_iothub_test.go +++ b/v2/internal/controllers/crd_devices_iothub_test.go @@ -57,7 +57,7 @@ func Test_Devices_IotHub_CRUD(t *testing.T) { tc.DeleteResourceAndWait(iothub) // Ensure delete - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(devices.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(devices.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_eventgrid_domain_test.go b/v2/internal/controllers/crd_eventgrid_domain_test.go index 901b25494b0..7f9f34bc787 100644 --- a/v2/internal/controllers/crd_eventgrid_domain_test.go +++ b/v2/internal/controllers/crd_eventgrid_domain_test.go @@ -92,7 +92,7 @@ func Test_EventGrid_Domain(t *testing.T) { tc.DeleteResourceAndWait(domain) // Ensure that the resource group was really deleted in Azure - exists, _, err := tc.AzureClient.HeadByID( + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID( tc.Ctx, armId, string(eventgrid.APIVersion_Value)) diff --git a/v2/internal/controllers/crd_eventgrid_topic_test.go b/v2/internal/controllers/crd_eventgrid_topic_test.go index 3ea1a2d91c7..a7837375aed 100644 --- a/v2/internal/controllers/crd_eventgrid_topic_test.go +++ b/v2/internal/controllers/crd_eventgrid_topic_test.go @@ -55,7 +55,7 @@ func Test_EventGrid_Topic(t *testing.T) { tc.DeleteResourceAndWait(topic) // Ensure that the resource group was really deleted in Azure - exists, _, err := tc.AzureClient.HeadByID( + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID( tc.Ctx, armId, string(eventgrid.APIVersion_Value)) diff --git a/v2/internal/controllers/crd_insights_actiongroup_test.go b/v2/internal/controllers/crd_insights_actiongroup_test.go index 7f5ef57847b..c64d0986216 100644 --- a/v2/internal/controllers/crd_insights_actiongroup_test.go +++ b/v2/internal/controllers/crd_insights_actiongroup_test.go @@ -47,7 +47,7 @@ func Test_Insights_ActionGroup_CRUD(t *testing.T) { tc.DeleteResourceAndWait(actionGroup) // Ensure delete - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(insights.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(insights.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_insights_autoscalesetting_test.go b/v2/internal/controllers/crd_insights_autoscalesetting_test.go index e5a96c63b8b..883be523eef 100644 --- a/v2/internal/controllers/crd_insights_autoscalesetting_test.go +++ b/v2/internal/controllers/crd_insights_autoscalesetting_test.go @@ -88,7 +88,7 @@ func Test_Insights_Autoscalesetting_CRUD(t *testing.T) { tc.DeleteResourceAndWait(setting) // Ensure delete - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(insights.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(insights.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_insights_component_test.go b/v2/internal/controllers/crd_insights_component_test.go index fbca25774da..1377acbf699 100644 --- a/v2/internal/controllers/crd_insights_component_test.go +++ b/v2/internal/controllers/crd_insights_component_test.go @@ -51,7 +51,7 @@ func Test_Insights_Component_CRUD(t *testing.T) { tc.DeleteResourceAndWait(component) // Ensure that the resource was really deleted in Azure - exists, _, err := tc.AzureClient.HeadByID( + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID( tc.Ctx, armId, string(insights.APIVersion_Value)) @@ -115,7 +115,7 @@ func Insights_WebTest_CRUD(tc *testcommon.KubePerTestContext, rg *resources.Reso tc.DeleteResourceAndWait(webtest) // Ensure that the resource was really deleted in Azure - exists, _, err := tc.AzureClient.HeadByID( + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID( tc.Ctx, armId, string(insightswebtest.APIVersion_Value)) @@ -155,7 +155,7 @@ func Test_Insights_Component_ExportConfigMap(t *testing.T) { tc.DeleteResourceAndWait(component) // Ensure that the resource was really deleted in Azure - exists, _, err := tc.AzureClient.HeadByID( + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID( tc.Ctx, armId, string(insights.APIVersion_Value)) diff --git a/v2/internal/controllers/crd_insights_metricalert_test.go b/v2/internal/controllers/crd_insights_metricalert_test.go index 055e1f9e6f1..c7c6ef09334 100644 --- a/v2/internal/controllers/crd_insights_metricalert_test.go +++ b/v2/internal/controllers/crd_insights_metricalert_test.go @@ -74,7 +74,7 @@ func Test_Insights_MetricAlert_CRUD(t *testing.T) { tc.DeleteResourceAndWait(alert) // Ensure delete - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(insights.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(insights.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_insights_scheduledqueryrule_test.go b/v2/internal/controllers/crd_insights_scheduledqueryrule_test.go index 305eb398f20..b46803ec81e 100644 --- a/v2/internal/controllers/crd_insights_scheduledqueryrule_test.go +++ b/v2/internal/controllers/crd_insights_scheduledqueryrule_test.go @@ -71,7 +71,7 @@ func Test_Insights_ScheduledQueryRule_CRUD(t *testing.T) { tc.DeleteResourceAndWait(rule) // Ensure delete - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(insights.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(insights.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_managedidentity_userassignedidentity_test.go b/v2/internal/controllers/crd_managedidentity_userassignedidentity_test.go index 99be45f8f63..65180112a5f 100644 --- a/v2/internal/controllers/crd_managedidentity_userassignedidentity_test.go +++ b/v2/internal/controllers/crd_managedidentity_userassignedidentity_test.go @@ -62,7 +62,7 @@ func Test_ManagedIdentity_UserAssignedIdentity_CRUD(t *testing.T) { tc.DeleteResourceAndWait(mi) // Ensure that the resource group was really deleted in Azure - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(managedidentity2018.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(managedidentity2018.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) @@ -108,7 +108,7 @@ func FederatedIdentityCredentials_CRUD(tc *testcommon.KubePerTestContext, umi *m tc.DeleteResourceAndWait(fic) // Ensure that the resource was really deleted in Azure - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(managedidentity2022.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(managedidentity2022.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_networking_applicationgateway_test.go b/v2/internal/controllers/crd_networking_applicationgateway_test.go index 0b638a74c29..9710aefe773 100644 --- a/v2/internal/controllers/crd_networking_applicationgateway_test.go +++ b/v2/internal/controllers/crd_networking_applicationgateway_test.go @@ -117,7 +117,7 @@ func Test_Networking_ApplicationGateway_CRUD(t *testing.T) { armId := *applicationGateway.Status.Id tc.DeleteResourcesAndWait(applicationGateway, publicIPAddress, subnet, vnet) // Ensure that the resource was really deleted in Azure - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(network.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(network.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_networking_bastionhost_test.go b/v2/internal/controllers/crd_networking_bastionhost_test.go index 8df0698f6ef..b9f420b2cab 100644 --- a/v2/internal/controllers/crd_networking_bastionhost_test.go +++ b/v2/internal/controllers/crd_networking_bastionhost_test.go @@ -67,7 +67,7 @@ func Test_Networking_BastionHost_CRUD(t *testing.T) { tc.DeleteResourceAndWait(publicIPAddress) // Ensure that the resource was really deleted in Azure - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armID, string(network.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armID, string(network.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_networking_dnsresolver_test.go b/v2/internal/controllers/crd_networking_dnsresolver_test.go index c0c8562b988..c212898ae05 100644 --- a/v2/internal/controllers/crd_networking_dnsresolver_test.go +++ b/v2/internal/controllers/crd_networking_dnsresolver_test.go @@ -59,7 +59,7 @@ func Test_Networking_DnsResolver_CRUD(t *testing.T) { tc.DeleteResourceAndWait(resolver) // Ensure delete - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(network.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(network.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) @@ -98,7 +98,7 @@ func DnsResolver_InboundEndpoint_CRUD(tc *testcommon.KubePerTestContext, resolve tc.DeleteResourceAndWait(inbound) // Ensure delete - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(network.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(network.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) @@ -125,7 +125,7 @@ func DnsResolver_OutboundEndpoint_CRUD(tc *testcommon.KubePerTestContext, resolv tc.DeleteResourceAndWait(outbound) // Ensure delete - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(network.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(network.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_networking_dnszone_test.go b/v2/internal/controllers/crd_networking_dnszone_test.go index 7045541e643..e88d19a95d6 100644 --- a/v2/internal/controllers/crd_networking_dnszone_test.go +++ b/v2/internal/controllers/crd_networking_dnszone_test.go @@ -44,7 +44,7 @@ func Test_Networking_DnsZone_CRUD(t *testing.T) { tc.DeleteResourceAndWait(zone) //Ensure that the resource was really deleted in Azure - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(network.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(network.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_networking_forwardingrule_test.go b/v2/internal/controllers/crd_networking_forwardingrule_test.go index 3fa0be46ba1..4cbc92b8cc2 100644 --- a/v2/internal/controllers/crd_networking_forwardingrule_test.go +++ b/v2/internal/controllers/crd_networking_forwardingrule_test.go @@ -66,7 +66,7 @@ func Test_Networking_ForwardingRuleSet_CRUD(t *testing.T) { tc.DeleteResourceAndWait(ruleSet) // Ensure delete - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(network.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(network.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) @@ -95,7 +95,7 @@ func DnsForwardingRuleset_ForwardingRules_CRUD(tc *testcommon.KubePerTestContext tc.DeleteResourceAndWait(rule) // Ensure delete - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(network.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(network.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_networking_loadbalancer_test.go b/v2/internal/controllers/crd_networking_loadbalancer_test.go index 5d93f1fb7fc..7d47b02a4ce 100644 --- a/v2/internal/controllers/crd_networking_loadbalancer_test.go +++ b/v2/internal/controllers/crd_networking_loadbalancer_test.go @@ -111,7 +111,7 @@ func Test_Networking_LoadBalancer_CRUD(t *testing.T) { tc.DeleteResourceAndWait(loadBalancer) // Ensure that the resource was really deleted in Azure - exists, retryAfter, err := tc.AzureClient.HeadByID(ctx, armId, string(network.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(ctx, armId, string(network.APIVersion_Value)) g.Expect(err).ToNot(HaveOccurred()) g.Expect(retryAfter).To(BeZero()) g.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_networking_natgateway_test.go b/v2/internal/controllers/crd_networking_natgateway_test.go index 8ea66770b65..9f1cfaac600 100644 --- a/v2/internal/controllers/crd_networking_natgateway_test.go +++ b/v2/internal/controllers/crd_networking_natgateway_test.go @@ -56,7 +56,7 @@ func Test_Networking_NatGateway_CRUD(t *testing.T) { tc.DeleteResourceAndWait(natgw) // Ensure delete - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(network.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(network.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_networking_nsg_test.go b/v2/internal/controllers/crd_networking_nsg_test.go index 4486cd6c789..f772db87d63 100644 --- a/v2/internal/controllers/crd_networking_nsg_test.go +++ b/v2/internal/controllers/crd_networking_nsg_test.go @@ -58,7 +58,7 @@ func Test_Networking_NetworkSecurityGroup_CRUD(t *testing.T) { tc.DeleteResourceAndWait(nsg) // Ensure that the resource was really deleted in Azure - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(network.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(network.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_networking_privatednszone_test.go b/v2/internal/controllers/crd_networking_privatednszone_test.go index bc7a369ffb2..2b40859f740 100644 --- a/v2/internal/controllers/crd_networking_privatednszone_test.go +++ b/v2/internal/controllers/crd_networking_privatednszone_test.go @@ -55,7 +55,7 @@ func Test_Networking_PrivateDnsZone_CRUD(t *testing.T) { armId, hasID := genruntime.GetResourceID(zone) tc.Expect(hasID).To(BeTrue()) - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(network.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(network.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_networking_privateendpoint_test.go b/v2/internal/controllers/crd_networking_privateendpoint_test.go index 32459716e70..34e7ea24377 100644 --- a/v2/internal/controllers/crd_networking_privateendpoint_test.go +++ b/v2/internal/controllers/crd_networking_privateendpoint_test.go @@ -59,7 +59,7 @@ func Test_Networking_PrivateEndpoint_CRUD(t *testing.T) { tc.DeleteResourceAndWait(endpoint) // Ensure delete - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(network.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(network.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_networking_privatelinkservice_test.go b/v2/internal/controllers/crd_networking_privatelinkservice_test.go index d6eb381c64d..431789704c4 100644 --- a/v2/internal/controllers/crd_networking_privatelinkservice_test.go +++ b/v2/internal/controllers/crd_networking_privatelinkservice_test.go @@ -93,7 +93,7 @@ func Test_Networking_PrivateLinkService_CRUD(t *testing.T) { tc.DeleteResourceAndWait(pls) // Ensure delete - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(network20220701.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(network20220701.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_networking_publicip_test.go b/v2/internal/controllers/crd_networking_publicip_test.go index c4b066afeda..4e4278186d6 100644 --- a/v2/internal/controllers/crd_networking_publicip_test.go +++ b/v2/internal/controllers/crd_networking_publicip_test.go @@ -40,7 +40,7 @@ func Test_Networking_PublicIP_CRUD(t *testing.T) { tc.DeleteResourceAndWait(publicIPAddress) // Ensure that the resource was really deleted in Azure - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(network.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(network.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_networking_publicipprefix_test.go b/v2/internal/controllers/crd_networking_publicipprefix_test.go index 460b80960b4..aa42fc64648 100644 --- a/v2/internal/controllers/crd_networking_publicipprefix_test.go +++ b/v2/internal/controllers/crd_networking_publicipprefix_test.go @@ -50,7 +50,7 @@ func Test_Networking_PublicIPPrefix_CRUD(t *testing.T) { tc.DeleteResourceAndWait(publicIpPrefix) // Ensure delete - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(network.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(network.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_networking_routetable_test.go b/v2/internal/controllers/crd_networking_routetable_test.go index 8b88764ec04..b85957c186c 100644 --- a/v2/internal/controllers/crd_networking_routetable_test.go +++ b/v2/internal/controllers/crd_networking_routetable_test.go @@ -50,7 +50,7 @@ func Test_Networking_RouteTable_CRUD(t *testing.T) { tc.DeleteResourceAndWait(routeTable) // Ensure that the resource was really deleted in Azure - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(network.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(network.APIVersion_Value)) g.Expect(err).ToNot(HaveOccurred()) g.Expect(retryAfter).To(BeZero()) g.Expect(exists).To(BeFalse()) @@ -105,7 +105,7 @@ func Routes_CRUD(tc *testcommon.KubePerTestContext, routeTable *network.RouteTab tc.DeleteResourcesAndWait(ipv4Route, ipv6Route) // Ensure that the resource was really deleted in Azure - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(network.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(network.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) @@ -150,7 +150,7 @@ func Test_Networking_Route_CreatedThenRouteTableUpdated_RouteStillExists(t *test tc.PatchResourceAndWait(old, routeTable) // Now ensure that the Route still exists - exists, _, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(network.APIVersion_Value)) + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(network.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(exists).To(BeTrue()) } diff --git a/v2/internal/controllers/crd_networking_trafficmanagerprofile_test.go b/v2/internal/controllers/crd_networking_trafficmanagerprofile_test.go index abde24dd2ea..c644eadb2dd 100644 --- a/v2/internal/controllers/crd_networking_trafficmanagerprofile_test.go +++ b/v2/internal/controllers/crd_networking_trafficmanagerprofile_test.go @@ -86,7 +86,7 @@ func Test_Networking_TrafficManagerProfile(t *testing.T) { tc.DeleteResourceAndWait(tmp) // Ensure delete - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(network.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(network.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_networking_virtualnetwork_test.go b/v2/internal/controllers/crd_networking_virtualnetwork_test.go index 15ec47ce24c..ccf149a30e6 100644 --- a/v2/internal/controllers/crd_networking_virtualnetwork_test.go +++ b/v2/internal/controllers/crd_networking_virtualnetwork_test.go @@ -42,7 +42,7 @@ func Test_Networking_VirtualNetwork_CRUD(t *testing.T) { tc.DeleteResourceAndWait(vnet) // Ensure that the resource was really deleted in Azure - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(network.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(network.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) @@ -109,7 +109,7 @@ func Test_Networking_Subnet_CreatedThenVNETUpdated_SubnetStillExists(t *testing. // Now ensure that the Subnet still exists // Ensure that the resource was really deleted in Azure - exists, _, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(network.APIVersion_Value)) + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(network.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(exists).To(BeTrue()) } diff --git a/v2/internal/controllers/crd_networking_virtualnetworkpeering_test.go b/v2/internal/controllers/crd_networking_virtualnetworkpeering_test.go index d0ca271bed5..9c81b09c73f 100644 --- a/v2/internal/controllers/crd_networking_virtualnetworkpeering_test.go +++ b/v2/internal/controllers/crd_networking_virtualnetworkpeering_test.go @@ -53,7 +53,7 @@ func Test_Networking_VirtualNetworkPeering_CRUD(t *testing.T) { tc.DeleteResourceAndWait(peering) // Ensure that the resource was really deleted in Azure - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(network.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(network.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) @@ -93,7 +93,7 @@ func Test_Networking_VirtualNetworkPeering_CreatedThenVNETUpdated_PeeringStillEx tc.PatchResourceAndWait(old, vnet1) // Now ensure that the VirtualNetworkPeering still exists - exists, _, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(network.APIVersion_Value)) + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(network.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(exists).To(BeTrue()) } diff --git a/v2/internal/controllers/crd_operationalinsights_workspace_test.go b/v2/internal/controllers/crd_operationalinsights_workspace_test.go index 2ac97823ef9..faad3cabb57 100644 --- a/v2/internal/controllers/crd_operationalinsights_workspace_test.go +++ b/v2/internal/controllers/crd_operationalinsights_workspace_test.go @@ -50,7 +50,7 @@ func Test_OperationalInsights_Workspace_CRUD(t *testing.T) { tc.DeleteResourceAndWait(workspace) // Ensure that the resource was really deleted in Azure - exists, _, err := tc.AzureClient.HeadByID( + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID( tc.Ctx, armId, string(operationalinsights.APIVersion_Value)) diff --git a/v2/internal/controllers/crd_resources_resourcegroup_test.go b/v2/internal/controllers/crd_resources_resourcegroup_test.go index 170a5c9cd10..3c88d559b78 100644 --- a/v2/internal/controllers/crd_resources_resourcegroup_test.go +++ b/v2/internal/controllers/crd_resources_resourcegroup_test.go @@ -39,7 +39,7 @@ func Test_Resources_ResourceGroup_CRUD(t *testing.T) { // Ensure that the resource group was really deleted in Azure // TODO: Do we want to just use an SDK here? This process is quite icky as is... - exists, _, err := tc.AzureClient.HeadByID( + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID( tc.Ctx, armId, "2020-06-01") diff --git a/v2/internal/controllers/crd_search_searchservice_test.go b/v2/internal/controllers/crd_search_searchservice_test.go index b4af8a6cc35..2d90be73b60 100644 --- a/v2/internal/controllers/crd_search_searchservice_test.go +++ b/v2/internal/controllers/crd_search_searchservice_test.go @@ -63,7 +63,7 @@ func Test_Search_SearchService_CRUD(t *testing.T) { tc.DeleteResourceAndWait(service) // Ensure delete - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(search.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(search.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_signalr_test.go b/v2/internal/controllers/crd_signalr_test.go index 7728a7dcde6..63d3d03e53f 100644 --- a/v2/internal/controllers/crd_signalr_test.go +++ b/v2/internal/controllers/crd_signalr_test.go @@ -100,7 +100,7 @@ func Test_SignalRService_SignalR_CRUD(t *testing.T) { tc.DeleteResourcesAndWait(&signalR) // Ensure that the resource was really deleted in Azure - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(signalrservice.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(signalrservice.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_sql_server_failover_group_test.go b/v2/internal/controllers/crd_sql_server_failover_group_test.go index fc9386c7e63..df661dc4306 100644 --- a/v2/internal/controllers/crd_sql_server_failover_group_test.go +++ b/v2/internal/controllers/crd_sql_server_failover_group_test.go @@ -96,7 +96,7 @@ func Test_SQL_Server_FailoverGroup_CRUD(t *testing.T) { armId := *failoverGroup.Status.Id tc.DeleteResourceAndWait(failoverGroup) - exists, _, err := tc.AzureClient.HeadByID( + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID( tc.Ctx, armId, string(sql.APIVersion_Value)) diff --git a/v2/internal/controllers/crd_sql_server_test.go b/v2/internal/controllers/crd_sql_server_test.go index 040851c11d1..05fb3446aa7 100644 --- a/v2/internal/controllers/crd_sql_server_test.go +++ b/v2/internal/controllers/crd_sql_server_test.go @@ -298,7 +298,7 @@ func SQL_Server_OutboundFirewallRule_CRUD(tc *testcommon.KubePerTestContext, ser armId := *outboundRule.Status.Id tc.DeleteResourceAndWait(outboundRule) - exists, _, err := tc.AzureClient.HeadByID( + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID( tc.Ctx, armId, string(sql.APIVersion_Value)) diff --git a/v2/internal/controllers/crd_storage_storageaccount_20210401_test.go b/v2/internal/controllers/crd_storage_storageaccount_20210401_test.go index 286c676db4b..8e1e68104c5 100644 --- a/v2/internal/controllers/crd_storage_storageaccount_20210401_test.go +++ b/v2/internal/controllers/crd_storage_storageaccount_20210401_test.go @@ -61,7 +61,7 @@ func Test_Storage_StorageAccount_20210401_CRUD(t *testing.T) { tc.DeleteResourceAndWait(acct) // Ensure that the account was really deleted in Azure - exists, _, err := tc.AzureClient.HeadByID( + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID( tc.Ctx, armId, string(storage.APIVersion_Value)) diff --git a/v2/internal/controllers/crd_storage_storageaccount_20220901_test.go b/v2/internal/controllers/crd_storage_storageaccount_20220901_test.go index 66c46223cb0..6c0e36f7190 100644 --- a/v2/internal/controllers/crd_storage_storageaccount_20220901_test.go +++ b/v2/internal/controllers/crd_storage_storageaccount_20220901_test.go @@ -73,7 +73,7 @@ func Test_Storage_StorageAccount_20220901_CRUD(t *testing.T) { tc.DeleteResourceAndWait(acct) // Ensure that the account was really deleted in Azure - exists, _, err := tc.AzureClient.HeadByID( + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID( tc.Ctx, armId, string(storage.APIVersion_Value)) diff --git a/v2/internal/controllers/crd_subscription_alias_test.go b/v2/internal/controllers/crd_subscription_alias_test.go index 47752a69db9..001d01c57f3 100644 --- a/v2/internal/controllers/crd_subscription_alias_test.go +++ b/v2/internal/controllers/crd_subscription_alias_test.go @@ -86,7 +86,7 @@ func Test_SubscriptionAndAlias_CRUD(t *testing.T) { tc.DeleteResourceAndWait(sub) // Ensure that the resource was really deleted in Azure - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(subscription.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(subscription.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/internal/controllers/crd_synapse_test.go b/v2/internal/controllers/crd_synapse_test.go index 1debb25954e..fdf84c30f25 100644 --- a/v2/internal/controllers/crd_synapse_test.go +++ b/v2/internal/controllers/crd_synapse_test.go @@ -85,7 +85,7 @@ func Test_Workspace_BigDataPool(t *testing.T) { tc.DeleteResourceAndWait(ws) // Ensure that the workspace was really deleted in Azure - exists, _, err := tc.AzureClient.HeadByID( + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID( tc.Ctx, wsArmId, string(synapse.APIVersion_Value)) diff --git a/v2/internal/controllers/crd_web_serverfarm_test.go b/v2/internal/controllers/crd_web_serverfarm_test.go index e0329490cf0..f7d10a243c0 100644 --- a/v2/internal/controllers/crd_web_serverfarm_test.go +++ b/v2/internal/controllers/crd_web_serverfarm_test.go @@ -38,7 +38,7 @@ func Test_Web_ServerFarm_CRUD(t *testing.T) { tc.DeleteResourcesAndWait(serverFarm) - exists, _, err := tc.AzureClient.HeadByID( + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID( tc.Ctx, armId, string(v1api20220301.APIVersion_Value)) diff --git a/v2/internal/controllers/crd_web_site_test.go b/v2/internal/controllers/crd_web_site_test.go index 00cd2f956f8..1330a666c50 100644 --- a/v2/internal/controllers/crd_web_site_test.go +++ b/v2/internal/controllers/crd_web_site_test.go @@ -50,7 +50,7 @@ func Test_Web_Site_CRUD(t *testing.T) { tc.DeleteResourceAndWait(site) - exists, _, err := tc.AzureClient.HeadByID( + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID( tc.Ctx, armId, string(web.APIVersion_Value)) diff --git a/v2/internal/controllers/owner_arm_id_test.go b/v2/internal/controllers/owner_arm_id_test.go index 40ffec1524d..773be7b2486 100644 --- a/v2/internal/controllers/owner_arm_id_test.go +++ b/v2/internal/controllers/owner_arm_id_test.go @@ -47,7 +47,7 @@ func Test_OwnerIsARMIDOfResourceGroup_ResourceSuccessfullyReconciled(t *testing. tc.DeleteResourceAndWait(acct) // Ensure that the account was really deleted in Azure - exists, _, err := tc.AzureClient.HeadByID( + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID( tc.Ctx, acctARMID, string(storage.APIVersion_Value)) @@ -97,7 +97,7 @@ func Test_OwnerIsARMIDOfParent_ChildResourceSuccessfullyReconciled(t *testing.T) tc.DeleteResourceAndWait(blobContainer) // Ensure that the container was really deleted in Azure - exists, _, err := tc.AzureClient.HeadByID( + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID( tc.Ctx, containerARMID, string(storage.APIVersion_Value)) @@ -162,7 +162,7 @@ func Test_OwnerIsARMID_ExtensionResourceSuccessfullyReconciled(t *testing.T) { tc.DeleteResourceAndWait(roleAssignment) // Ensure that the role assignment was really deleted in Azure - exists, _, err := tc.AzureClient.HeadByID( + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID( tc.Ctx, armId, string(authorization.APIVersion_Value)) diff --git a/v2/internal/controllers/reconcile_policy_test.go b/v2/internal/controllers/reconcile_policy_test.go index b6d4c4d85cf..55ab10e896a 100644 --- a/v2/internal/controllers/reconcile_policy_test.go +++ b/v2/internal/controllers/reconcile_policy_test.go @@ -119,7 +119,7 @@ func Test_ReconcilePolicy_SkippedParentDeleted_ChildIssuesDeleteToAzure(t *testi tc.DeleteResourceAndWait(acct) // Ensure that the account was really deleted in Azure - exists, _, err := tc.AzureClient.HeadByID( + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID( tc.Ctx, resourceId, string(storage.APIVersion_Value)) @@ -224,7 +224,7 @@ func testDeleteSkipped(t *testing.T, policy string) { tc.DeleteResourceAndWait(rg) // Ensure that the resource group was NOT deleted in Azure - exists, _, err := tc.AzureClient.HeadByID( + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID( tc.Ctx, armId, "2020-06-01") @@ -244,7 +244,7 @@ func testDeleteSkipped(t *testing.T, policy string) { tc.DeleteResourceAndWait(newRG) // Ensure that now the RG was deleted - exists, _, err = tc.AzureClient.HeadByID( + exists, _, err = tc.AzureClient.CheckExistenceWithGetByID( tc.Ctx, armId, "2020-06-01") diff --git a/v2/internal/controllers/secrets_from_azure_test.go b/v2/internal/controllers/secrets_from_azure_test.go index bcdbe2afda7..478646e25d1 100644 --- a/v2/internal/controllers/secrets_from_azure_test.go +++ b/v2/internal/controllers/secrets_from_azure_test.go @@ -79,7 +79,7 @@ func Test_WhenObjectPullSecretsAndSecretAlreadyExists_WarningConditionIsSet(t *t tc.DeleteResourceAndWait(acct) // Ensure that the account was really deleted in Azure - exists, _, err := tc.AzureClient.HeadByID( + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID( tc.Ctx, armId, string(storage.APIVersion_Value)) diff --git a/v2/internal/genericarmclient/generic_client.go b/v2/internal/genericarmclient/generic_client.go index 13f8f70f744..06c5ed67c40 100644 --- a/v2/internal/genericarmclient/generic_client.go +++ b/v2/internal/genericarmclient/generic_client.go @@ -29,7 +29,7 @@ const DeletePollerID = "GenericClient.DeleteByID" // NOTE: All of these methods (and types) were adapted from // https://github.com/Azure/azure-sdk-for-go/blob/sdk/resources/armresources/v0.3.0/sdk/resources/armresources/zz_generated_resources_client.go -// which was then moved to here: https://github.com/Azure/azure-sdk-for-go/blob/main/sdk/resourcemanager/resources/armresources/zz_generated_client.go +// which was then moved to here: https://github.com/Azure/azure-sdk-for-go/blob/main/sdk/resourcemanager/resources/armresources/client.go type GenericClient struct { endpoint string @@ -264,6 +264,63 @@ func (client *GenericClient) getByIDHandleResponse(resp *http.Response, resource return nil } +// CheckExistenceByID - Heads a resource by ID. +// If the operation fails it returns the *CloudError error type. +func (client *GenericClient) CheckExistenceByID( + ctx context.Context, + resourceID string, + apiVersion string, +) (bool, time.Duration, error) { + retryAfter, err := client.checkExistenceByIDImpl(ctx, resourceID, apiVersion) + switch { + case IsNotFoundError(err): + return false, retryAfter, nil + case err != nil: + return false, retryAfter, err + default: + return true, retryAfter, nil + } +} + +func (client *GenericClient) checkExistenceByIDImpl( + ctx context.Context, + resourceID string, + apiVersion string, +) (time.Duration, error) { + req, err := client.checkExistenceByIDCreateRequest(ctx, resourceID, apiVersion) + if err != nil { + return zeroDuration, err + } + // The linter doesn't realize that the response is closed as part of the pipeline + // nolint:bodyclose + resp, err := client.pl.Do(req) + retryAfter := GetRetryAfter(resp) + if err != nil { + return retryAfter, err + } + if !runtime.HasStatusCode(resp, http.StatusNoContent, http.StatusNotFound) { + return retryAfter, runtime.NewResponseError(resp) + } + return zeroDuration, nil +} + +func (client *GenericClient) checkExistenceByIDCreateRequest(ctx context.Context, resourceID string, apiVersion string) (*policy.Request, error) { + urlPath := "/{resourceId}" + if resourceID == "" { + return nil, errors.New("parameter resourceID cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{resourceId}", resourceID) + req, err := runtime.NewRequest(ctx, http.MethodHead, runtime.JoinPaths(client.endpoint, urlPath)) + if err != nil { + return nil, err + } + reqQP := req.Raw().URL.Query() + reqQP.Set("api-version", apiVersion) + req.Raw().URL.RawQuery = reqQP.Encode() + req.Raw().Header.Set("Accept", "application/json") + return req, nil +} + type listPageResponse[T any] struct { // Value - The list of resources. Value []T `json:"value,omitempty"` @@ -442,7 +499,7 @@ func (client *GenericClient) deleteByIDCreateRequest(ctx context.Context, resour return req, nil } -func (client *GenericClient) HeadByID(ctx context.Context, resourceID string, apiVersion string) (bool, time.Duration, error) { +func (client *GenericClient) CheckExistenceWithGetByID(ctx context.Context, resourceID string, apiVersion string) (bool, time.Duration, error) { if resourceID == "" { return false, zeroDuration, errors.New("parameter resourceID cannot be empty") } diff --git a/v2/internal/genericarmclient/generic_client_test.go b/v2/internal/genericarmclient/generic_client_test.go index 99cdf6f97a1..9b429f959ff 100644 --- a/v2/internal/genericarmclient/generic_client_test.go +++ b/v2/internal/genericarmclient/generic_client_test.go @@ -60,7 +60,17 @@ func Test_NewResourceGroup(t *testing.T) { _, err = testContext.AzureClient.GetByID(ctx, id, typedResourceGroupSpec.GetAPIVersion(), &status) g.Expect(err).ToNot(HaveOccurred()) - // Delete the deployment + // Check the resources existence with GET + exists, _, err := testContext.AzureClient.CheckExistenceWithGetByID(ctx, id, typedResourceGroupSpec.GetAPIVersion()) + g.Expect(err).ToNot(HaveOccurred()) + g.Expect(exists).To(BeTrue()) + + // Check the resources existence with HEAD + exists, _, err = testContext.AzureClient.CheckExistenceByID(ctx, id, typedResourceGroupSpec.GetAPIVersion()) + g.Expect(err).ToNot(HaveOccurred()) + g.Expect(exists).To(BeTrue()) + + // Delete the resource group _, err = testContext.AzureClient.BeginDeleteByID(ctx, id, typedResourceGroupSpec.GetAPIVersion()) g.Expect(err).ToNot(HaveOccurred()) diff --git a/v2/internal/genericarmclient/recordings/Test_NewResourceGroup.yaml b/v2/internal/genericarmclient/recordings/Test_NewResourceGroup.yaml index ec1e82f7436..7d98de19405 100644 --- a/v2/internal/genericarmclient/recordings/Test_NewResourceGroup.yaml +++ b/v2/internal/genericarmclient/recordings/Test_NewResourceGroup.yaml @@ -13,8 +13,6 @@ interactions: - application/json Test-Request-Attempt: - "0" - X-Ms-Date: - - Wed, 06 Oct 2021 17:03:24 GMT url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-qlzrip?api-version=2020-06-01 method: PUT response: @@ -32,8 +30,12 @@ interactions: - no-cache Strict-Transport-Security: - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE X-Content-Type-Options: - nosniff + X-Msedge-Ref: + - 'Ref A: F3EF46D9F39F4D989423BC35B3C62E95 Ref B: CO6AA3150220033 Ref C: 2023-11-07T17:39:54Z' status: 201 Created code: 201 duration: "" @@ -45,8 +47,6 @@ interactions: - application/json Test-Request-Attempt: - "0" - X-Ms-Date: - - Wed, 06 Oct 2021 17:03:25 GMT url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-qlzrip?api-version=2020-06-01 method: GET response: @@ -54,6 +54,8 @@ interactions: headers: Cache-Control: - no-cache + Content-Length: + - "276" Content-Type: - application/json; charset=utf-8 Expires: @@ -62,13 +64,81 @@ interactions: - no-cache Strict-Transport-Security: - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE X-Content-Type-Options: - nosniff + X-Msedge-Ref: + - 'Ref A: 2179DBD76A7B48D5932582CF1175C6E3 Ref B: CO6AA3150220033 Ref C: 2023-11-07T17:39:54Z' status: 200 OK code: 200 duration: "" +- request: + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-qlzrip?api-version=2020-06-01 + method: GET + response: + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-qlzrip","name":"asotest-rg-qlzrip","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"CreatedAt":"2001-02-03T04:05:06Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "276" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 54F406E8386B46D5A535DC327C3E4E42 Ref B: CO6AA3150220033 Ref C: 2023-11-07T17:39:54Z' + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-qlzrip?api-version=2020-06-01 + method: HEAD + response: + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 3FD48243C46B4206AA541D4B156EF90E Ref B: CO6AA3150220033 Ref C: 2023-11-07T17:39:54Z' + status: 204 No Content + code: 204 + duration: "" - request: body: "" form: {} @@ -77,8 +147,6 @@ interactions: - application/json Test-Request-Attempt: - "0" - X-Ms-Date: - - Wed, 06 Oct 2021 17:03:25 GMT url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-qlzrip?api-version=2020-06-01 method: DELETE response: @@ -91,15 +159,19 @@ interactions: Expires: - "-1" Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRRTFpSSVAtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRRTFpSSVAtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638349755949097818&c=MIIHHjCCBgagAwIBAgITfwI8ooo2761TEgO3SgAEAjyiijANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDIwHhcNMjMxMTAxMTc1NTI2WhcNMjQxMDI2MTc1NTI2WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJ0WQLjgbZj70uXwL_AnKvEas1GVvOB7Og4giEY7H0L78RFiY2-CzzgMKyZV8H3ACZxqQoBMWsq9XAf4iUNAer7s23VPyWkoVdr2uTc8SCvur4qja77OTMKiRVU277ViRu_Mb-fJvQKeRO3Q8A4Sg1A63a2VQ_WlyOCHPBj-gUF0zU4SYnlqSYGcNmuhCjtHpVvF_N3CGz0JlGTo3ia0wmks2y95IHeD0lcr0AgP73_eafbKafZn4Z56GdC3lngKdhyEiQi_kPyxaydv1PfV2xX9OLKvB19e9jLB43QA9r5k5DsAhqtv6eqwHBdW07S9MCMu8kwoYUpX1TTGapizc6ECAwEAAaOCBAswggQHMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMig0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDIoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAyKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMig0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDIoNCkuY3J0MB0GA1UdDgQWBBTwk8yVBP3k-Qa8LdSw6mv--mLIvDAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDIoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDIoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDIoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDIoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDIoNCkuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBSuecJrXSWIEwb2BwnDl3x7l48dVTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAKR8h2puMUi3SGdIfblcEylOBfcaCRtDDIvC64QKLae7vOAe1f8SpXEFfYeIl5xydb8lEUYApxL701SQSy-NPuBuuQ0CIMKjZ-xCj9VbjQIykosQBVJvxp5I0TplyumFiehQP3zZuc1PZ2hg05aq3CKSbJGKFlow_8P9RN66yeKWGE7SWV9NZThEL8VfEXjl_ITgWb-L1SmnFKTdOVNVDQoRjjX-JqVobqh0O4K0dsPapDoAdqjIECodvocGyWtCEwIk-j8yyBxqX_JzzumMzxUMrxCjaosaJVOvoJB7vh6WuiYfHondyzaGqjm9Bjpqj46bQXojx6xALlzNX5x_j_g&s=iPjkcRWF136fiv3Sx77RjybhEoVw3jAvxOAl8S2LXKtpbCRo7BVyzcxLBkcg0EKRcOhtj-EJsZs3hUWeS6N0xjkS4muw6yeA0Eo2fFjRPNQMntcLJ7sXPK8EbV-_NFwwMQrTW43R0y6YwUU_ur0U8QiDtfZ4z0VhLzkvwnfotmPJmfIfM-bP5yMHAEwwf4UU4OC5YeAxJKmtGKaPTId3J8vdSPqexbDql-1stHC0TTCAEzk7khptdEnTkypehuBHqz0MDitVmaeokojUBO9k3Fo2z4HwLmIJFwRQ-ufuzo2DIwtR5Qc6FwMHkaRwPdiKcacYc7C42IAkYHle-E_ahw&h=cnLXoTU1zd14vjAjpq5pgLbVFh5Htw-eao-LNptVXaE Pragma: - no-cache Retry-After: - "15" Strict-Transport-Security: - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE X-Content-Type-Options: - nosniff + X-Msedge-Ref: + - 'Ref A: E2CBB45DAAAD4FA8AD36278574D08723 Ref B: CO6AA3150220033 Ref C: 2023-11-07T17:39:54Z' status: 202 Accepted code: 202 duration: "" @@ -110,9 +182,7 @@ interactions: Accept: - application/json Test-Request-Attempt: - - "1" - X-Ms-Date: - - Wed, 06 Oct 2021 17:03:26 GMT + - "2" url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-qlzrip?api-version=2020-06-01 method: GET response: @@ -120,6 +190,8 @@ interactions: headers: Cache-Control: - no-cache + Content-Length: + - "275" Content-Type: - application/json; charset=utf-8 Expires: @@ -128,10 +200,12 @@ interactions: - no-cache Strict-Transport-Security: - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE X-Content-Type-Options: - nosniff + X-Msedge-Ref: + - 'Ref A: F9B3F058A2C44F07A3F1BF06FA3B5467 Ref B: CO6AA3150220033 Ref C: 2023-11-07T17:39:54Z' status: 200 OK code: 200 duration: "" @@ -142,9 +216,7 @@ interactions: Accept: - application/json Test-Request-Attempt: - - "2" - X-Ms-Date: - - Wed, 06 Oct 2021 17:03:31 GMT + - "3" url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-qlzrip?api-version=2020-06-01 method: GET response: @@ -163,10 +235,14 @@ interactions: - no-cache Strict-Transport-Security: - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE X-Content-Type-Options: - nosniff X-Ms-Failure-Cause: - gateway + X-Msedge-Ref: + - 'Ref A: 1E3D07572611462B9F44B0E117834A33 Ref B: CO6AA3150220033 Ref C: 2023-11-07T17:40:00Z' status: 404 Not Found code: 404 duration: "" diff --git a/v2/internal/testcommon/azure_be_deleted_matcher.go b/v2/internal/testcommon/azure_be_deleted_matcher.go index f9abd6a26cc..f02bb454a4b 100644 --- a/v2/internal/testcommon/azure_be_deleted_matcher.go +++ b/v2/internal/testcommon/azure_be_deleted_matcher.go @@ -46,7 +46,7 @@ func (m *AzureBeDeletedMatcher) Match(actual interface{}) (bool, error) { return false, err } - exists, _, err := m.azureClient.HeadByID(m.ctx, args[0], args[1]) + exists, _, err := m.azureClient.CheckExistenceWithGetByID(m.ctx, args[0], args[1]) if err != nil { return false, err } diff --git a/v2/internal/testcommon/kube_per_test_context.go b/v2/internal/testcommon/kube_per_test_context.go index d74c11a338d..e5572ab4e08 100644 --- a/v2/internal/testcommon/kube_per_test_context.go +++ b/v2/internal/testcommon/kube_per_test_context.go @@ -354,7 +354,7 @@ func (tc *KubePerTestContext) Eventually(actual interface{}, intervals ...interf func (tc *KubePerTestContext) ExpectResourceIsDeletedInAzure(armId string, apiVersion string) { tc.Eventually(func() (bool, time.Duration, error) { - return tc.AzureClient.HeadByID(tc.Ctx, armId, apiVersion) + return tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, apiVersion) }).Should(gomega.BeFalse()) } diff --git a/v2/test/private_endpoint_test.go b/v2/test/private_endpoint_test.go index 523df5d6c71..99a944d2462 100644 --- a/v2/test/private_endpoint_test.go +++ b/v2/test/private_endpoint_test.go @@ -64,7 +64,7 @@ func Test_Networking_PrivateEndpoint_WithoutAutoApproval_CRUD(t *testing.T) { tc.DeleteResourceAndWait(endpoint) // Ensure delete - exists, retryAfter, err := tc.AzureClient.HeadByID(tc.Ctx, armId, string(network.APIVersion_Value)) + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(network.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) diff --git a/v2/test/reconcile_policy_test.go b/v2/test/reconcile_policy_test.go index abb98f4853a..3f438bb5fbf 100644 --- a/v2/test/reconcile_policy_test.go +++ b/v2/test/reconcile_policy_test.go @@ -43,7 +43,7 @@ func Test_ReconcilePolicy_SkipReconcile_DoesntCreateResourceInAzure(t *testing.T // The actual Azure resource shouldn't exist armID := rg.Annotations[genruntime.ResourceIDAnnotation] - exists, _, err := tc.AzureClient.HeadByID( + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID( tc.Ctx, armID, "2020-06-01") @@ -62,7 +62,7 @@ func Test_ReconcilePolicy_SkipReconcile_DoesntCreateResourceInAzure(t *testing.T tc.Expect(rg.Status.Location).ToNot(BeNil()) // The actual Azure resource should exist - exists, _, err = tc.AzureClient.HeadByID( + exists, _, err = tc.AzureClient.CheckExistenceWithGetByID( tc.Ctx, armID, "2020-06-01") diff --git a/v2/test/single_operator_multitenant_test.go b/v2/test/single_operator_multitenant_test.go index 3e66e89788c..884f84c4f7e 100644 --- a/v2/test/single_operator_multitenant_test.go +++ b/v2/test/single_operator_multitenant_test.go @@ -50,7 +50,7 @@ func Test_Multitenant_SingleOperator_CertificateAuth(t *testing.T) { resID := genruntime.GetResourceIDOrDefault(rg) // Make sure the ResourceGroup is created successfully in Azure. - exists, _, err := tc.AzureClient.HeadByID(tc.Ctx, resID, string(storage.APIVersion_Value)) + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, resID, string(storage.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(exists).To(BeTrue()) @@ -86,7 +86,7 @@ func Test_Multitenant_SingleOperator_NamespacedCredential(t *testing.T) { resID := genruntime.GetResourceIDOrDefault(acct) // Make sure the StorageAccount is created successfully in Azure. - exists, _, err := tc.AzureClient.HeadByID(tc.Ctx, resID, string(storage.APIVersion_Value)) + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, resID, string(storage.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(exists).To(BeTrue()) @@ -126,7 +126,7 @@ func Test_Multitenant_SingleOperator_PerResourceCredential(t *testing.T) { resID := genruntime.GetResourceIDOrDefault(acct) // Make sure the StorageAccount is created successfully in Azure. - exists, _, err := tc.AzureClient.HeadByID(tc.Ctx, resID, string(storage.APIVersion_Value)) + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, resID, string(storage.APIVersion_Value)) tc.Expect(err).ToNot(HaveOccurred()) tc.Expect(exists).To(BeTrue())