...

Source file src/github.com/emissary-ingress/emissary/v3/pkg/k8s/resource_test.go

Documentation: github.com/emissary-ingress/emissary/v3/pkg/k8s

     1  package k8s_test
     2  
     3  import (
     4  	"strconv"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/assert"
     8  
     9  	"github.com/emissary-ingress/emissary/v3/pkg/k8s"
    10  )
    11  
    12  func TestQKind(t *testing.T) {
    13  	t.Parallel()
    14  	testcases := []struct {
    15  		InputResource k8s.Resource
    16  		ExpectedQKind string
    17  	}{
    18  		// Sane things we need to handle correcly
    19  		{k8s.Resource{"apiVersion": "apps/v1", "kind": "Deployment"}, "Deployment.v1.apps"},
    20  		{k8s.Resource{"apiVersion": "v1", "kind": "Service"}, "Service.v1."},
    21  		// Insane things that shouldn't happen, but at least our function is well-defined
    22  		{k8s.Resource{"kind": "KindOnly"}, "KindOnly.."},
    23  		{k8s.Resource{"apiVersion": "group/version"}, ".version.group"},
    24  		{k8s.Resource{}, ".."},
    25  		{k8s.Resource{"kind": 7, "apiVersion": "v1"}, ".v1."},
    26  		{k8s.Resource{"kind": "Pod", "apiVersion": 1}, "Pod.."},
    27  	}
    28  	for i, testcase := range testcases {
    29  		testcase := testcase
    30  		t.Run(strconv.Itoa(i), func(t *testing.T) {
    31  			actualQKind := testcase.InputResource.QKind()
    32  			assert.Equal(t, testcase.ExpectedQKind, actualQKind)
    33  		})
    34  	}
    35  }
    36  

View as plain text