github.com/giantswarm/apiextensions/v6@v6.6.0/pkg/crd/functions_test.go (about)

     1  package crd
     2  
     3  import (
     4  	"strings"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/require"
     8  	v1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
     9  	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
    10  	"k8s.io/apimachinery/pkg/runtime"
    11  )
    12  
    13  var testCRDs = []runtime.Object{
    14  	&v1.CustomResourceDefinition{
    15  		TypeMeta: metav1.TypeMeta{
    16  			APIVersion: crdV1GVK.Version,
    17  			Kind:       crdV1GVK.Kind,
    18  		},
    19  		ObjectMeta: metav1.ObjectMeta{
    20  			Name: "examples.example.giantswarm.io",
    21  		},
    22  		Spec: v1.CustomResourceDefinitionSpec{
    23  			Group: "example.giantswarm.io",
    24  			Names: v1.CustomResourceDefinitionNames{
    25  				Plural:   "examples",
    26  				Singular: "example",
    27  				Kind:     "Example",
    28  				ListKind: "ExampleList",
    29  				Categories: []string{
    30  					"example",
    31  				},
    32  			},
    33  		},
    34  		Status: v1.CustomResourceDefinitionStatus{},
    35  	},
    36  }
    37  
    38  const testCRDsYAML = `
    39  ---
    40  apiVersion: v1
    41  kind: CustomResourceDefinition
    42  metadata:
    43    creationTimestamp: null
    44    name: examples.example.giantswarm.io
    45  spec:
    46    group: example.giantswarm.io
    47    names:
    48      categories:
    49      - example
    50      kind: Example
    51      listKind: ExampleList
    52      plural: examples
    53      singular: example
    54    scope: ""
    55    versions: null
    56  status:
    57    acceptedNames:
    58      kind: ""
    59      plural: ""
    60    conditions: null
    61    storedVersions: null
    62  `
    63  
    64  func Test_writeCRDs(t *testing.T) {
    65  	var writer strings.Builder
    66  	err := writeObjects(&writer, testCRDs)
    67  	require.Nil(t, err, err)
    68  	require.Equal(t, writer.String(), testCRDsYAML)
    69  }