From c9a3eabf18bbfdb485faef1c4a8bfa509e6fa282 Mon Sep 17 00:00:00 2001 From: Zhonghu Xu Date: Tue, 6 Aug 2024 20:58:24 +0800 Subject: [PATCH] Add ut Signed-off-by: Zhonghu Xu --- pkg/controller/workload/workload_processor.go | 2 +- .../workload/workload_processor_test.go | 21 +++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/pkg/controller/workload/workload_processor.go b/pkg/controller/workload/workload_processor.go index 72108f028..505021fc1 100644 --- a/pkg/controller/workload/workload_processor.go +++ b/pkg/controller/workload/workload_processor.go @@ -400,7 +400,7 @@ func (p *Processor) handleWorkload(workload *workloadapi.Workload) error { deletedServices, newServices = p.WorkloadCache.AddOrUpdateWorkload(workload) - // Exlude the unhealthy workload, which means the workload is not ready + // Exclude the unhealthy workload, which means the workload is not ready if workload.Status == workloadapi.WorkloadStatus_UNHEALTHY { return nil } diff --git a/pkg/controller/workload/workload_processor_test.go b/pkg/controller/workload/workload_processor_test.go index 388f0b54d..6b9d9c268 100644 --- a/pkg/controller/workload/workload_processor_test.go +++ b/pkg/controller/workload/workload_processor_test.go @@ -148,6 +148,27 @@ func Test_handleWorkload(t *testing.T) { // 6.2 check service map contains service, but no waypoint address checkServiceMap(t, p, svcID, wpSvc, 0) + // 5. add unhealthy workload + workload3 := createFakeWorkload("1.2.3.6") + workload3.Status = workloadapi.WorkloadStatus_UNHEALTHY + _ = p.handleWorkload(workload3) + + addr, _ := netip.AddrFromSlice(workload3.Addresses[0]) + networkAddress := cache.NetworkAddress{ + Network: workload3.Network, + Address: addr, + } + got := p.WorkloadCache.GetWorkloadByAddr(networkAddress) + assert.NotNil(t, got) + assert.Equal(t, got.Status, workloadapi.WorkloadStatus_UNHEALTHY) + + // 5.1 check unhealthy workload does not exists + var fk bpfcache.FrontendKey + var fv bpfcache.FrontendValue + nets.CopyIpByteFromSlice(&fk.Ip, workload3.Addresses[0]) + err = p.bpf.FrontendLookup(&fk, &fv) + assert.ErrorContains(t, err, "key does not exist") + hashNameClean(p) }