...

Source file src/edge-infra.dev/pkg/edge/api/graph/mapper/mapper_secrets_test.go

Documentation: edge-infra.dev/pkg/edge/api/graph/mapper

     1  package mapper
     2  
     3  import (
     4  	"fmt"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/assert"
     8  	corev1 "k8s.io/api/core/v1"
     9  	"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
    10  	"k8s.io/apimachinery/pkg/runtime"
    11  )
    12  
    13  // Test ToSecrets
    14  func TestToSecrets(t *testing.T) {
    15  	secret1 := getTestSecret(testOrganization, "ssh-key", "secret1")
    16  	secret2 := getTestSecret(testOrganization, "ssh-key", "secret2")
    17  
    18  	secrets := []corev1.Secret{*secret1, *secret2}
    19  	secretModels := ToSecrets(secrets)
    20  
    21  	for i, secretModel := range secretModels {
    22  		verifySecretEqualModel(&secrets[i], secretModel, t)
    23  	}
    24  }
    25  
    26  // Test ToCreateSecretObject
    27  func TestToCreateSecretObject(t *testing.T) {
    28  	test, _ := ToCreateSecretObject("test-name", "test-namespace", testValsSuccess)
    29  	actual, _ := ToCreateSecretObject("test-name", "test-namespace", testValsSuccess)
    30  	verifySecretObjectEqualModel(test, actual, t)
    31  }
    32  
    33  // Test ToConvertSecretToUnstructured
    34  func TestToConvertSecretToUnstructured(t *testing.T) {
    35  	resource, _ := ToCreateSecretObject("test-name", "test-namespace", testValsSuccess)
    36  	test, _ := ToTestConvertSecretToUnstructured(resource)
    37  	actual, _ := ToConvertSecretToUnstructured(resource)
    38  	assert.Equal(t, test, actual)
    39  }
    40  
    41  // Test ToConvertUnstructuredToSecret
    42  func TestToConvertUnstructuredToSecret(t *testing.T) {
    43  	test, _ := ToTestConvertUnstructuredToSecret(unstructarr)
    44  	actual, _ := ToConvertUnstructuredToSecret(unstructarr)
    45  	assert.Equal(t, test, actual)
    46  }
    47  
    48  // Test BuildSecret if isRedacted is true
    49  func TestToBuildSecretRedactedTrue(t *testing.T) {
    50  	model := BuildSecret(getSecret("test-namespace", "test", kubeconfig), "https://localhost", true)
    51  	assert.Equal(t, model, fmt.Sprintf(sMock, "********"))
    52  }
    53  
    54  // Test BuildSecret if isRedacted is false
    55  func TestToBuildSecretRedactedFalse(t *testing.T) {
    56  	model := BuildSecret(getSecret("test-namespace", "test", kubeconfig), "https://localhost", false)
    57  	assert.Equal(t, model, fmt.Sprintf(sMock, ""))
    58  }
    59  
    60  func ToTestConvertUnstructuredToSecret(resources *unstructured.UnstructuredList) ([]corev1.Secret, error) {
    61  	resp := make([]corev1.Secret, 0)
    62  	for _, item := range resources.Items {
    63  		converted := &corev1.Secret{}
    64  		err := runtime.DefaultUnstructuredConverter.
    65  			FromUnstructured(item.UnstructuredContent(), &converted)
    66  		if err != nil {
    67  			return nil, err
    68  		}
    69  		resp = append(resp, *converted)
    70  	}
    71  	return resp, nil
    72  }
    73  
    74  func ToTestConvertSecretToUnstructured(secret *corev1.Secret) (*unstructured.Unstructured, error) {
    75  	converted, err := runtime.DefaultUnstructuredConverter.ToUnstructured(secret)
    76  	if err != nil {
    77  		return nil, err
    78  	}
    79  
    80  	return &unstructured.Unstructured{Object: converted}, nil
    81  }
    82  

View as plain text