github.com/verrazzano/verrazzano@v1.7.1/tools/oam-converter/pkg/traits/extracttrait_test.go (about)

     1  // Copyright (c) 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 traits
     5  
     6  import (
     7  	"github.com/stretchr/testify/assert"
     8  	vzapi "github.com/verrazzano/verrazzano/application-operator/apis/oam/v1alpha1"
     9  	reader "github.com/verrazzano/verrazzano/tools/oam-converter/pkg/testdata"
    10  	"github.com/verrazzano/verrazzano/tools/oam-converter/pkg/types"
    11  	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
    12  	"testing"
    13  )
    14  
    15  // Test cases for ExtractTrait function
    16  func TestExtractTrait(t *testing.T) {
    17  
    18  	// Test data: sample appMaps
    19  	appMaps := []map[string]interface{}{}
    20  
    21  	appConf, err := reader.ReadFromYAMLTemplate("testdata/template/app_conf.yaml")
    22  	if err != nil {
    23  		return
    24  	}
    25  	appMaps = append(appMaps, appConf)
    26  
    27  	// Call the function to test
    28  	result, err := ExtractTrait(appMaps)
    29  
    30  	// Assertions
    31  	assert.NoError(t, err)
    32  
    33  	expectedResult := []*types.ConversionComponents{
    34  		{
    35  			AppNamespace:  "test-namespace",
    36  			AppName:       "test-appconf",
    37  			ComponentName: "test-component",
    38  			IngressTrait: &vzapi.IngressTrait{
    39  				TypeMeta: metav1.TypeMeta{
    40  					Kind:       "IngressTrait",
    41  					APIVersion: "oam.verrazzano.io/v1alpha1",
    42  				},
    43  				ObjectMeta: metav1.ObjectMeta{
    44  					Name: "test-ingress-trait",
    45  				},
    46  				Spec: vzapi.IngressTraitSpec{
    47  					Rules: []vzapi.IngressRule{
    48  						{
    49  							Destination: vzapi.IngressDestination{},
    50  							Paths: []vzapi.IngressPath{
    51  								{
    52  									Path:     "/test-ingress-path",
    53  									PathType: "Prefix",
    54  								},
    55  							},
    56  						},
    57  					},
    58  				},
    59  			},
    60  		},
    61  	}
    62  	assert.True(t, assert.Equal(t, expectedResult, result))
    63  }