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

Function TestIssueAccessToken

fosite/handler/oauth2/helper_test.go:31–85  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

29}
30
31func TestIssueAccessToken(t *testing.T) {
32 ctrl := gomock.NewController(t)
33 areq := &fosite.AccessRequest{}
34 aresp := &fosite.AccessResponse{Extra: map[string]interface{}{}}
35 accessStrat := internal.NewMockAccessTokenStrategy(ctrl)
36 accessStore := internal.NewMockAccessTokenStorage(ctrl)
37 provider := internal.NewMockAccessTokenStorageProvider(ctrl)
38 t.Cleanup(ctrl.Finish)
39
40 helper := oauth2.HandleHelper{
41 Storage: provider,
42 AccessTokenStrategy: accessStrat,
43 Config: &fosite.Config{
44 AccessTokenLifespan: time.Hour,
45 },
46 }
47
48 areq.Session = &fosite.DefaultSession{}
49 for k, c := range []struct {
50 mock func()
51 err error
52 }{
53 {
54 mock: func() {
55 accessStrat.EXPECT().GenerateAccessToken(gomock.Any(), areq).Return("", "", errors.New(""))
56 },
57 err: errors.New(""),
58 },
59 {
60 mock: func() {
61 accessStrat.EXPECT().GenerateAccessToken(gomock.Any(), areq).Return("token", "signature", nil)
62 provider.EXPECT().AccessTokenStorage().Return(accessStore).Times(1)
63 accessStore.EXPECT().CreateAccessTokenSession(gomock.Any(), "signature", gomock.Eq(areq.Sanitize([]string{}))).Return(errors.New(""))
64 },
65 err: errors.New(""),
66 },
67 {
68 mock: func() {
69 accessStrat.EXPECT().GenerateAccessToken(gomock.Any(), areq).Return("token", "signature", nil)
70 provider.EXPECT().AccessTokenStorage().Return(accessStore).Times(1)
71 accessStore.EXPECT().CreateAccessTokenSession(gomock.Any(), "signature", gomock.Eq(areq.Sanitize([]string{}))).Return(nil)
72 },
73 err: nil,
74 },
75 } {
76 c.mock()
77 signature, err := helper.IssueAccessToken(context.Background(), helper.Config.GetAccessTokenLifespan(context.TODO()), areq, aresp)
78 require.Equal(t, err == nil, c.err == nil)
79 if c.err != nil {
80 assert.EqualError(t, err, c.err.Error(), "Case %d", k)
81 } else {
82 assert.NotEmpty(t, signature, "Case %d", k)
83 }
84 }
85}

Callers

nothing calls this directly

Calls 13

EXPECTMethod · 0.95
EXPECTMethod · 0.95
EXPECTMethod · 0.95
IssueAccessTokenMethod · 0.95
GenerateAccessTokenMethod · 0.65
AccessTokenStorageMethod · 0.65
SanitizeMethod · 0.65

Tested by

no test coverage detected