sigs.k8s.io/controller-runtime@v0.18.2/pkg/envtest/komega/default_test.go (about) 1 package komega 2 3 import ( 4 "testing" 5 6 . "github.com/onsi/gomega" 7 appsv1 "k8s.io/api/apps/v1" 8 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" 9 "k8s.io/utils/ptr" 10 ) 11 12 func TestDefaultGet(t *testing.T) { 13 g := NewWithT(t) 14 15 fc := createFakeClient() 16 SetClient(fc) 17 18 fetched := appsv1.Deployment{ 19 ObjectMeta: metav1.ObjectMeta{ 20 Namespace: "default", 21 Name: "test", 22 }, 23 } 24 g.Eventually(Get(&fetched)).Should(Succeed()) 25 26 g.Expect(*fetched.Spec.Replicas).To(BeEquivalentTo(5)) 27 } 28 29 func TestDefaultList(t *testing.T) { 30 g := NewWithT(t) 31 32 fc := createFakeClient() 33 SetClient(fc) 34 35 list := appsv1.DeploymentList{} 36 g.Eventually(List(&list)).Should(Succeed()) 37 38 g.Expect(list.Items).To(HaveLen(1)) 39 depl := exampleDeployment() 40 g.Expect(list.Items[0]).To(And( 41 HaveField("ObjectMeta.Name", Equal(depl.ObjectMeta.Name)), 42 HaveField("ObjectMeta.Namespace", Equal(depl.ObjectMeta.Namespace)), 43 )) 44 } 45 46 func TestDefaultUpdate(t *testing.T) { 47 g := NewWithT(t) 48 49 fc := createFakeClient() 50 SetClient(fc) 51 52 updateDeployment := appsv1.Deployment{ 53 ObjectMeta: exampleDeployment().ObjectMeta, 54 } 55 g.Eventually(Update(&updateDeployment, func() { 56 updateDeployment.Annotations = map[string]string{"updated": "true"} 57 })).Should(Succeed()) 58 59 fetched := appsv1.Deployment{ 60 ObjectMeta: exampleDeployment().ObjectMeta, 61 } 62 g.Expect(Object(&fetched)()).To(HaveField("ObjectMeta.Annotations", HaveKeyWithValue("updated", "true"))) 63 } 64 65 func TestDefaultUpdateStatus(t *testing.T) { 66 g := NewWithT(t) 67 68 fc := createFakeClient() 69 SetClient(fc) 70 71 updateDeployment := appsv1.Deployment{ 72 ObjectMeta: exampleDeployment().ObjectMeta, 73 } 74 g.Eventually(UpdateStatus(&updateDeployment, func() { 75 updateDeployment.Status.AvailableReplicas = 1 76 })).Should(Succeed()) 77 78 fetched := appsv1.Deployment{ 79 ObjectMeta: exampleDeployment().ObjectMeta, 80 } 81 g.Expect(Object(&fetched)()).To(HaveField("Status.AvailableReplicas", BeEquivalentTo(1))) 82 } 83 84 func TestDefaultObject(t *testing.T) { 85 g := NewWithT(t) 86 87 fc := createFakeClient() 88 SetClient(fc) 89 90 fetched := appsv1.Deployment{ 91 ObjectMeta: metav1.ObjectMeta{ 92 Namespace: "default", 93 Name: "test", 94 }, 95 } 96 g.Eventually(Object(&fetched)).Should(And( 97 Not(BeNil()), 98 HaveField("Spec.Replicas", Equal(ptr.To(int32(5)))), 99 )) 100 } 101 102 func TestDefaultObjectList(t *testing.T) { 103 g := NewWithT(t) 104 105 fc := createFakeClient() 106 SetClient(fc) 107 108 list := appsv1.DeploymentList{} 109 g.Eventually(ObjectList(&list)).Should(And( 110 Not(BeNil()), 111 HaveField("Items", And( 112 HaveLen(1), 113 ContainElement(HaveField("Spec.Replicas", Equal(ptr.To(int32(5))))), 114 )), 115 )) 116 }