From 9eb03626ee7781459bd0460932ed07dae892aac1 Mon Sep 17 00:00:00 2001 From: Bryce Soghigian Date: Wed, 15 Jan 2025 15:57:14 -0800 Subject: [PATCH] test: adding coverage that vm controller cleans up nics --- .../nodeclaim/garbagecollection/suite_test.go | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/pkg/controllers/nodeclaim/garbagecollection/suite_test.go b/pkg/controllers/nodeclaim/garbagecollection/suite_test.go index 2b14761d4..151cd8359 100644 --- a/pkg/controllers/nodeclaim/garbagecollection/suite_test.go +++ b/pkg/controllers/nodeclaim/garbagecollection/suite_test.go @@ -408,4 +408,31 @@ var _ = Describe("NetworkInterface Garbage Collection", func() { Expect(len(nicsAfterGC)).To(Equal(1)) }) + It("the vm gc controller should remove the nic if there is an associated vm", func() { + managedNic := Interface( + InterfaceOptions{ + Tags: ManagedTags(nodePool.Name), + }, + ) + azureEnv.NetworkInterfacesAPI.NetworkInterfaces.Store(lo.FromPtr(managedNic.ID), *managedNic) + managedVM := VirtualMachine( + VirtualMachineOptions{ + Name: lo.FromPtr(managedNic.Name), + Tags: ManagedTags(nodePool.Name), + }, + ) + azureEnv.VirtualMachinesAPI.VirtualMachinesBehavior.Instances.Store(lo.FromPtr(managedVM.ID), *managedVM) + ExpectSingletonReconciled(ctx, networkInterfaceGCController) + // We should still have a network interface here + nicsAfterGC, err := azureEnv.InstanceProvider.ListNics(ctx) + ExpectNoError(err) + Expect(len(nicsAfterGC)).To(Equal(1)) + + ExpectSingletonReconciled(ctx, virtualMachineGCController) + nicsAfterVMReconcilation, err := azureEnv.InstanceProvider.ListNics(ctx) + ExpectNoError(err) + Expect(len(nicsAfterVMReconcilation)).To(Equal(0)) + + }) + })