MCPcopy
hub / github.com/ory/hydra / TestRevokeToken

Function TestRevokeToken

fosite/handler/oauth2/revocation_test.go:19–575  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

17)
18
19func TestRevokeToken(t *testing.T) {
20 for k, c := range []struct {
21 description string
22 mock func(
23 ar *internal.MockAccessRequester,
24 tokenRevocationStorageProvider *internal.MockTokenRevocationStorageProvider,
25 tokenRevocationStorage *internal.MockTokenRevocationStorage,
26 accessTokenStorageProvider *internal.MockAccessTokenStorageProvider,
27 accessTokenStorage *internal.MockAccessTokenStorage,
28 refreshTokenStorageProvider *internal.MockRefreshTokenStorageProvider,
29 refreshTokenStorage *internal.MockRefreshTokenStorage,
30 accessTokenStrategyProvider *internal.MockAccessTokenStrategyProvider,
31 accessTokenStrategy *internal.MockAccessTokenStrategy,
32 refreshTokenStrategyProvider *internal.MockRefreshTokenStrategyProvider,
33 refreshTokenStrategy *internal.MockRefreshTokenStrategy,
34 token *string,
35 tokenType *fosite.TokenType,
36 )
37 expectErr error
38 client fosite.Client
39 }{
40 {
41 description: "should fail - token was issued to another client",
42 expectErr: fosite.ErrUnauthorizedClient,
43 client: &fosite.DefaultClient{ID: "bar"},
44 mock: func(
45 ar *internal.MockAccessRequester,
46 tokenRevocationStorageProvider *internal.MockTokenRevocationStorageProvider,
47 tokenRevocationStorage *internal.MockTokenRevocationStorage,
48 accessTokenStorageProvider *internal.MockAccessTokenStorageProvider,
49 accessTokenStorage *internal.MockAccessTokenStorage,
50 refreshTokenStorageProvider *internal.MockRefreshTokenStorageProvider,
51 refreshTokenStorage *internal.MockRefreshTokenStorage,
52 accessTokenStrategyProvider *internal.MockAccessTokenStrategyProvider,
53 accessTokenStrategy *internal.MockAccessTokenStrategy,
54 refreshTokenStrategyProvider *internal.MockRefreshTokenStrategyProvider,
55 refreshTokenStrategy *internal.MockRefreshTokenStrategy,
56 token *string,
57 tokenType *fosite.TokenType,
58 ) {
59 *token = "foo"
60 *tokenType = fosite.RefreshToken
61
62 refreshTokenStrategyProvider.EXPECT().RefreshTokenStrategy().Return(refreshTokenStrategy).Times(1)
63 refreshTokenStrategy.EXPECT().RefreshTokenSignature(gomock.Any(), *token)
64
65 refreshTokenStorageProvider.EXPECT().RefreshTokenStorage().Return(refreshTokenStorage).Times(1)
66 refreshTokenStorage.EXPECT().GetRefreshTokenSession(gomock.Any(), gomock.Any(), gomock.Any()).Return(ar, nil)
67
68 ar.EXPECT().GetClient().Return(&fosite.DefaultClient{ID: "foo"})
69 },
70 },
71 {
72 description: "should pass - refresh token discovery first; refresh token found",
73 expectErr: nil,
74 client: &fosite.DefaultClient{ID: "bar"},
75 mock: func(
76 ar *internal.MockAccessRequester,

Callers

nothing calls this directly

Calls 15

EXPECTMethod · 0.95
EXPECTMethod · 0.95
EXPECTMethod · 0.95
EXPECTMethod · 0.95
EXPECTMethod · 0.95
EXPECTMethod · 0.95
EXPECTMethod · 0.95
EXPECTMethod · 0.95
EXPECTMethod · 0.95
EXPECTMethod · 0.95
EXPECTMethod · 0.95
RevokeTokenMethod · 0.95

Tested by

no test coverage detected