github.com/pachyderm/pachyderm@v1.13.4/src/client/auth/auth_err_test.go (about)

     1  package auth
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/pachyderm/pachyderm/src/client/pkg/errors"
     7  	"github.com/pachyderm/pachyderm/src/client/pkg/require"
     8  )
     9  
    10  // grpcify returns an error e such that e.Error() is similar to what grpc
    11  // errors emit (though this doesn't convert 'error' to an actual GRPC error)
    12  func grpcify(err error) error {
    13  	return errors.Errorf("rpc error: code = Unknown desc = %s", err.Error())
    14  }
    15  
    16  func TestIsErrNotActivated(t *testing.T) {
    17  	require.False(t, IsErrNotActivated(nil))
    18  	require.True(t, IsErrNotActivated(ErrNotActivated))
    19  	require.True(t, IsErrNotActivated(grpcify(ErrNotActivated)))
    20  }
    21  
    22  func TestIsErrPartiallyActivated(t *testing.T) {
    23  	require.False(t, IsErrPartiallyActivated(nil))
    24  	require.True(t, IsErrPartiallyActivated(ErrPartiallyActivated))
    25  	require.True(t, IsErrPartiallyActivated(grpcify(ErrPartiallyActivated)))
    26  }
    27  
    28  func TestIsErrNotSignedIn(t *testing.T) {
    29  	require.False(t, IsErrNotSignedIn(nil))
    30  	require.True(t, IsErrNotSignedIn(ErrNotSignedIn))
    31  	require.True(t, IsErrNotSignedIn(grpcify(ErrNotSignedIn)))
    32  }
    33  
    34  func TestIsErrNoMetadata(t *testing.T) {
    35  	require.False(t, IsErrNoMetadata(nil))
    36  	require.True(t, IsErrNoMetadata(ErrNoMetadata))
    37  	require.True(t, IsErrNoMetadata(grpcify(ErrNoMetadata)))
    38  }
    39  
    40  func TestIsErrBadToken(t *testing.T) {
    41  	require.False(t, IsErrBadToken(nil))
    42  	require.True(t, IsErrBadToken(ErrBadToken))
    43  	require.True(t, IsErrBadToken(grpcify(ErrBadToken)))
    44  }
    45  
    46  func TestIsErrNotAuthorized(t *testing.T) {
    47  	require.False(t, IsErrNotAuthorized(nil))
    48  	require.True(t, IsErrNotAuthorized(&ErrNotAuthorized{
    49  		Subject:  "alice",
    50  		Repo:     "data",
    51  		Required: Scope_WRITER,
    52  	}))
    53  	require.True(t, IsErrNotAuthorized(grpcify(&ErrNotAuthorized{
    54  		Subject:  "alice",
    55  		Repo:     "data",
    56  		Required: Scope_WRITER,
    57  	})))
    58  	require.True(t, IsErrNotAuthorized(&ErrNotAuthorized{
    59  		Subject: "alice",
    60  		AdminOp: "GetAuthToken on another user's token",
    61  	}))
    62  	require.True(t, IsErrNotAuthorized(grpcify(&ErrNotAuthorized{
    63  		Subject: "alice",
    64  		AdminOp: "GetAuthToken on another user's token",
    65  	})))
    66  }
    67  
    68  func TestIsErrInvalidPrincipal(t *testing.T) {
    69  	require.False(t, IsErrInvalidPrincipal(nil))
    70  	require.True(t, IsErrInvalidPrincipal(&ErrInvalidPrincipal{
    71  		Principal: "alice",
    72  	}))
    73  	require.True(t, IsErrInvalidPrincipal(grpcify(&ErrInvalidPrincipal{
    74  		Principal: "alice",
    75  	})))
    76  }
    77  
    78  func TestIsErrTooShortTTL(t *testing.T) {
    79  	require.False(t, IsErrTooShortTTL(nil))
    80  	require.True(t, IsErrTooShortTTL(ErrTooShortTTL{
    81  		RequestTTL:  1234,
    82  		ExistingTTL: 2345,
    83  	}))
    84  	require.True(t, IsErrTooShortTTL(grpcify(ErrTooShortTTL{
    85  		RequestTTL:  1234,
    86  		ExistingTTL: 2345,
    87  	})))
    88  }