...

Source file src/sigs.k8s.io/controller-runtime/pkg/envtest/komega/default_test.go

Documentation: sigs.k8s.io/controller-runtime/pkg/envtest/komega

     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  }
   117  

View as plain text