github.com/cilium/cilium@v1.16.2/pkg/hubble/metrics/metrics_test.go (about) 1 // SPDX-License-Identifier: Apache-2.0 2 // Copyright Authors of Hubble 3 4 package metrics 5 6 import ( 7 "context" 8 "testing" 9 "time" 10 11 "github.com/stretchr/testify/assert" 12 "k8s.io/client-go/util/workqueue" 13 14 pb "github.com/cilium/cilium/api/v1/flow" 15 "github.com/cilium/cilium/pkg/hubble/metrics/api" 16 slim_metav1 "github.com/cilium/cilium/pkg/k8s/slim/k8s/apis/meta/v1" 17 "github.com/cilium/cilium/pkg/k8s/types" 18 ) 19 20 func TestUninitializedMetrics(t *testing.T) { 21 enabledMetrics = nil 22 endpointDeletionHandler = nil 23 ProcessFlow(context.TODO(), &pb.Flow{}) 24 ProcessCiliumEndpointDeletion(&types.CiliumEndpoint{}) 25 } 26 27 func TestInitializedMetrics(t *testing.T) { 28 t.Run("Should send pod removal to delayed delivery queue", func(t *testing.T) { 29 deletedEndpoint := &types.CiliumEndpoint{ 30 ObjectMeta: slim_metav1.ObjectMeta{ 31 Name: "name", 32 }, 33 } 34 enabledMetrics = &api.Handlers{} 35 endpointDeletionHandler = &CiliumEndpointDeletionHandler{ 36 gracefulPeriod: 10 * time.Millisecond, 37 queue: workqueue.NewDelayingQueue(), 38 } 39 40 ProcessCiliumEndpointDeletion(deletedEndpoint) 41 42 received, _ := endpointDeletionHandler.queue.Get() 43 assert.Equal(t, deletedEndpoint, received) 44 45 endpointDeletionHandler.queue.ShutDown() 46 }) 47 48 }