github.com/xmidt-org/webpa-common@v1.11.9/service/endpoint_test.go (about)

     1  package service
     2  
     3  import (
     4  	"context"
     5  	"errors"
     6  	"testing"
     7  
     8  	"github.com/stretchr/testify/assert"
     9  	"github.com/stretchr/testify/require"
    10  )
    11  
    12  func testNewAccessorEndpointNilAccessor(t *testing.T) {
    13  	assert := assert.New(t)
    14  	assert.Panics(func() {
    15  		NewAccessorEndpoint(nil)
    16  	})
    17  }
    18  
    19  func testNewAccessorEndpointSuccess(t *testing.T) {
    20  	var (
    21  		assert  = assert.New(t)
    22  		require = require.New(t)
    23  
    24  		expectedKey = StringKey("expected key")
    25  
    26  		a = new(MockAccessor)
    27  		e = NewAccessorEndpoint(a)
    28  	)
    29  
    30  	require.NotNil(e)
    31  	a.On("Get", []byte("expected key")).Return("expected instance", error(nil)).Once()
    32  
    33  	response, err := e(context.Background(), expectedKey)
    34  	assert.NoError(err)
    35  	assert.Equal("expected instance", response)
    36  
    37  	a.AssertExpectations(t)
    38  }
    39  
    40  func testNewAccessorEndpointError(t *testing.T) {
    41  	var (
    42  		assert  = assert.New(t)
    43  		require = require.New(t)
    44  
    45  		expectedKey   = StringKey("expected key")
    46  		expectedError = errors.New("expected error")
    47  
    48  		a = new(MockAccessor)
    49  		e = NewAccessorEndpoint(a)
    50  	)
    51  
    52  	require.NotNil(e)
    53  	a.On("Get", []byte("expected key")).Return("", expectedError).Once()
    54  
    55  	response, actualError := e(context.Background(), expectedKey)
    56  	assert.Equal(expectedError, actualError)
    57  	assert.Empty(response)
    58  
    59  	a.AssertExpectations(t)
    60  }
    61  
    62  func TestNewAccessorEndpoint(t *testing.T) {
    63  	t.Run("NilAccessor", testNewAccessorEndpointNilAccessor)
    64  	t.Run("Success", testNewAccessorEndpointSuccess)
    65  	t.Run("Error", testNewAccessorEndpointError)
    66  }