github.com/cilium/cilium@v1.16.2/pkg/endpoint/endpoint_status_test.go (about) 1 // SPDX-License-Identifier: Apache-2.0 2 // Copyright Authors of Cilium 3 4 package endpoint 5 6 import ( 7 "context" 8 "testing" 9 10 "github.com/stretchr/testify/require" 11 12 "github.com/cilium/cilium/api/v1/models" 13 v2 "github.com/cilium/cilium/pkg/k8s/apis/cilium.io/v2" 14 testipcache "github.com/cilium/cilium/pkg/testutils/ipcache" 15 ) 16 17 func TestGetCiliumEndpointStatus(t *testing.T) { 18 s := setupEndpointSuite(t) 19 20 e, err := NewEndpointFromChangeModel(context.TODO(), s, s, testipcache.NewMockIPCache(), &FakeEndpointProxy{}, s.mgr, &models.EndpointChangeRequest{ 21 Addressing: &models.AddressPair{ 22 IPV4: "192.168.1.100", 23 IPV6: "f00d::a10:0:0:abcd", 24 }, 25 ContainerID: "ContainerID", 26 ContainerName: "ContainerName", 27 K8sPodName: "PodName", 28 K8sNamespace: "Namespace", 29 ID: 200, 30 Labels: models.Labels{ 31 "k8s:io.cilium.k8s.policy.cluster=default", 32 "k8s:io.cilium.k8s.policy.serviceaccount=default", 33 "k8s:io.kubernetes.pod.namespace=default", 34 "k8s:name=probe", 35 }, 36 State: models.EndpointStateWaitingDashForDashIdentity.Pointer(), 37 }) 38 require.Nil(t, err) 39 40 status := e.GetCiliumEndpointStatus() 41 42 require.Equal(t, int64(200), status.ID) 43 require.Equal(t, string(models.EndpointStateWaitingDashForDashIdentity), status.State) 44 require.Nil(t, status.Log) 45 require.Equal(t, &models.EndpointIdentifiers{ 46 ContainerID: "ContainerID", 47 CniAttachmentID: "ContainerID", 48 ContainerName: "ContainerName", 49 K8sNamespace: "Namespace", 50 K8sPodName: "PodName", 51 PodName: "Namespace/PodName", 52 }, status.ExternalIdentifiers) 53 require.Nil(t, status.Identity) 54 require.Equal(t, &v2.EndpointNetworking{Addressing: []*v2.AddressPair{{IPV4: "192.168.1.100", IPV6: "f00d::a10:0:0:abcd"}}, NodeIP: "<nil>"}, status.Networking) 55 require.Equal(t, v2.EncryptionSpec{Key: 0}, status.Encryption) 56 require.Equal(t, models.NamedPorts{}, status.NamedPorts) 57 }