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 }