github.com/verrazzano/verrazzano@v1.7.0/tools/vz/test/helpers/objects.go (about)

     1  // Copyright (c) 2022, 2023, Oracle and/or its affiliates.
     2  // Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
     3  
     4  package helpers
     5  
     6  import (
     7  	"fmt"
     8  	vzconstants "github.com/verrazzano/verrazzano/pkg/constants"
     9  	"github.com/verrazzano/verrazzano/platform-operator/apis/verrazzano/v1beta1"
    10  	"github.com/verrazzano/verrazzano/tools/vz/pkg/constants"
    11  	appsv1 "k8s.io/api/apps/v1"
    12  	corev1 "k8s.io/api/core/v1"
    13  	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
    14  	"k8s.io/apimachinery/pkg/runtime/schema"
    15  	"sigs.k8s.io/controller-runtime/pkg/client"
    16  )
    17  
    18  const (
    19  	pinnedVersion = "v1.3.4"
    20  )
    21  
    22  func CreateVerrazzanoObject() client.Object {
    23  	return &v1beta1.Verrazzano{
    24  		TypeMeta: metav1.TypeMeta{},
    25  		ObjectMeta: metav1.ObjectMeta{
    26  			Namespace: "default",
    27  			Name:      "verrazzano",
    28  		},
    29  	}
    30  }
    31  
    32  func CreateVerrazzanoObjectWithVersion() client.Object {
    33  	vz := CreateVerrazzanoObject().(*v1beta1.Verrazzano)
    34  	vz.Status = v1beta1.VerrazzanoStatus{
    35  		Version: pinnedVersion,
    36  	}
    37  	gvk := schema.GroupVersionKind{
    38  		Group:   "install.verrazzano.io",
    39  		Version: "v1beta1",
    40  		Kind:    "Verrazzano",
    41  	}
    42  	vz.SetGroupVersionKind(gvk)
    43  
    44  	return vz
    45  }
    46  
    47  func CreateTestVPOObjects() []client.Object {
    48  	return []client.Object{
    49  		CreateVPOPod(constants.VerrazzanoPlatformOperator),
    50  		CreateVPOReplicaset(constants.VerrazzanoPlatformOperator),
    51  	}
    52  }
    53  
    54  func CreateVPOPod(name string) client.Object {
    55  	return &corev1.Pod{
    56  		TypeMeta: metav1.TypeMeta{},
    57  		ObjectMeta: metav1.ObjectMeta{
    58  			Namespace: vzconstants.VerrazzanoInstallNamespace,
    59  			Name:      name,
    60  			Labels: map[string]string{
    61  				"app":               constants.VerrazzanoPlatformOperator,
    62  				"pod-template-hash": "56f78ffcfd",
    63  			},
    64  		},
    65  	}
    66  }
    67  
    68  func CreateVPOReplicaset(name string) client.Object {
    69  	return &appsv1.ReplicaSet{
    70  		TypeMeta: metav1.TypeMeta{},
    71  		ObjectMeta: metav1.ObjectMeta{
    72  			Namespace: vzconstants.VerrazzanoInstallNamespace,
    73  			Name:      fmt.Sprintf("%s-56f78ffcfd", name),
    74  			Annotations: map[string]string{
    75  				"deployment.kubernetes.io/revision": "1",
    76  			},
    77  		},
    78  	}
    79  }