...

Source file src/github.com/go-openapi/validate/context_test.go

Documentation: github.com/go-openapi/validate

     1  package validate
     2  
     3  import (
     4  	"context"
     5  	"fmt"
     6  	"testing"
     7  
     8  	"github.com/stretchr/testify/assert"
     9  )
    10  
    11  func TestContext_ExtractOperationType(t *testing.T) {
    12  
    13  	var testCases = []struct {
    14  		Ctx            context.Context //nolint: containedctx
    15  		ExpectedOpType operationType
    16  	}{
    17  		{
    18  			Ctx:            WithOperationRequest(context.Background()),
    19  			ExpectedOpType: request,
    20  		},
    21  		{
    22  			Ctx:            WithOperationResponse(context.Background()),
    23  			ExpectedOpType: response,
    24  		},
    25  		{
    26  			Ctx:            context.Background(),
    27  			ExpectedOpType: none,
    28  		},
    29  		{
    30  			Ctx:            context.WithValue(context.Background(), validateCtxKey("dummy"), "dummy val"),
    31  			ExpectedOpType: none,
    32  		},
    33  		{
    34  			Ctx:            context.WithValue(context.Background(), operationTypeKey, "dummy val"),
    35  			ExpectedOpType: none,
    36  		},
    37  		{
    38  			Ctx:            context.WithValue(context.Background(), operationTypeKey, operationType("dummy val")),
    39  			ExpectedOpType: none,
    40  		},
    41  	}
    42  
    43  	for idx, toPin := range testCases {
    44  		tc := toPin
    45  		t.Run(fmt.Sprintf("TestCase #%d", idx), func(t *testing.T) {
    46  			t.Parallel()
    47  			op := extractOperationType(tc.Ctx)
    48  			assert.Equal(t, tc.ExpectedOpType, op)
    49  		})
    50  	}
    51  
    52  }
    53  

View as plain text