...

Source file src/go.einride.tech/aip/reflect/aipreflect/resourcetype_test.go

Documentation: go.einride.tech/aip/reflect/aipreflect

     1  package aipreflect
     2  
     3  import (
     4  	"testing"
     5  
     6  	"gotest.tools/v3/assert"
     7  )
     8  
     9  func TestResourceTypeName_Validate(t *testing.T) {
    10  	t.Parallel()
    11  	for _, tt := range []struct {
    12  		name          string
    13  		errorContains string
    14  	}{
    15  		{
    16  			name: "pubsub.googleapis.com/Topic",
    17  		},
    18  		{
    19  			name:          "pubsub/Topic",
    20  			errorContains: "service name: must be a valid domain name",
    21  		},
    22  		{
    23  			name:          "pubsub.googleapis.com/topic",
    24  			errorContains: "type: must start with an upper-case letter",
    25  		},
    26  		{
    27  			name:          "pubsub.googleapis.com/Topic_2",
    28  			errorContains: "type: must be UpperCamelCase",
    29  		},
    30  	} {
    31  		tt := tt
    32  		t.Run(tt.name, func(t *testing.T) {
    33  			t.Parallel()
    34  			if tt.errorContains != "" {
    35  				assert.ErrorContains(t, ResourceType(tt.name).Validate(), tt.errorContains)
    36  			} else {
    37  				assert.NilError(t, ResourceType(tt.name).Validate())
    38  			}
    39  		})
    40  	}
    41  }
    42  

View as plain text