github.com/xmidt-org/webpa-common@v1.11.9/xhttp/xfilter/filter_test.go (about)

     1  package xfilter
     2  
     3  import (
     4  	"errors"
     5  	"net/http"
     6  	"testing"
     7  
     8  	"github.com/stretchr/testify/assert"
     9  	"github.com/stretchr/testify/require"
    10  )
    11  
    12  func TestAllow(t *testing.T) {
    13  	var (
    14  		assert  = assert.New(t)
    15  		require = require.New(t)
    16  
    17  		f = Allow()
    18  	)
    19  
    20  	require.NotNil(f)
    21  	assert.NoError(f.Allow(new(http.Request)))
    22  }
    23  
    24  func testRejectNil(t *testing.T) {
    25  	var (
    26  		assert  = assert.New(t)
    27  		require = require.New(t)
    28  
    29  		f = Reject(nil)
    30  	)
    31  
    32  	require.NotNil(f)
    33  	assert.NoError(f.Allow(new(http.Request)))
    34  }
    35  
    36  func testRejectNonNil(t *testing.T) {
    37  	var (
    38  		assert  = assert.New(t)
    39  		require = require.New(t)
    40  
    41  		expectedErr = errors.New("expected")
    42  		f           = Reject(expectedErr)
    43  	)
    44  
    45  	require.NotNil(f)
    46  	assert.Equal(expectedErr, f.Allow(new(http.Request)))
    47  }
    48  
    49  func TestReject(t *testing.T) {
    50  	t.Run("Nil", testRejectNil)
    51  	t.Run("NonNil", testRejectNonNil)
    52  }