...

Source file src/github.com/datawire/ambassador/v2/pkg/api/getambassador.io/validation_test.go

Documentation: github.com/datawire/ambassador/v2/pkg/api/getambassador.io

     1  package getambassadorio_test
     2  
     3  import (
     4  	"encoding/json"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/require"
     8  
     9  	getambassadorio "github.com/datawire/ambassador/v2/pkg/api/getambassador.io"
    10  	"github.com/datawire/ambassador/v2/pkg/kates"
    11  	"github.com/datawire/dlib/dlog"
    12  )
    13  
    14  func TestValidation(t *testing.T) {
    15  	jsonStr := `{
    16      "apiVersion":"getambassador.io/v2",
    17      "kind":"Mapping",
    18      "metadata":{
    19          "annotations":{
    20              "kubectl.kubernetes.io/last-applied-configuration":"{\"apiVersion\":\"getambassador.io/v3alpha1\",\"kind\":\"Mapping\",\"metadata\":{\"annotations\":{},\"name\":\"quote-rewrite\",\"namespace\":\"default\"},\"spec\":{\"hostname\":\"*\",\"prefix\":\"/ffs/\",\"rewrite\":\"\",\"service\":\"quote\"}}"
    21          },
    22          "creationTimestamp":"2022-01-19T00:11:43Z",
    23          "generation":1,
    24          "name":"quote-rewrite",
    25          "namespace":"default",
    26          "uid":"01b3ddea-24d7-45c6-a05a-64386f1b9588"
    27      },
    28      "spec":{
    29          "ambassador_id":[
    30              "--apiVersion-v3alpha1-only--default"
    31          ],
    32          "prefix":"/ffs/",
    33          "rewrite":"",
    34          "service":"quote"
    35      }
    36  }`
    37  
    38  	var obj kates.Unstructured
    39  	require.NoError(t, json.Unmarshal([]byte(jsonStr), &obj.Object))
    40  
    41  	validator := getambassadorio.NewValidator()
    42  	ctx := dlog.NewTestContext(t, true)
    43  
    44  	require.NoError(t, validator.Validate(ctx, &obj))
    45  }
    46  

View as plain text