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

Function TestHandlerDeleteHandler

oauth2/handler_test.go:42–82  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

40var lifespan = time.Hour
41
42func TestHandlerDeleteHandler(t *testing.T) {
43 t.Parallel()
44
45 ctx := t.Context()
46 reg := testhelpers.NewRegistryMemory(t, driver.WithConfigOptions(configx.WithValue(config.KeyIssuerURL, "http://hydra.localhost")))
47
48 cm := reg.ClientManager()
49 store := reg.OAuth2Storage()
50
51 h := oauth2.NewHandler(reg)
52
53 deleteRequest := &fosite.Request{
54 ID: "del-1",
55 RequestedAt: time.Now().Round(time.Second),
56 Client: &client.Client{ID: "foobar"},
57 RequestedScope: fosite.Arguments{"fa", "ba"},
58 GrantedScope: fosite.Arguments{"fa", "ba"},
59 Form: url.Values{"foo": []string{"bar", "baz"}},
60 Session: &oauth2.Session{DefaultSession: &openid.DefaultSession{Subject: "bar"}},
61 }
62 require.NoError(t, cm.CreateClient(ctx, deleteRequest.Client.(*client.Client)))
63 require.NoError(t, store.CreateAccessTokenSession(ctx, deleteRequest.ID, deleteRequest))
64
65 r := httprouterx.NewTestRouterAdminWithPrefix(t)
66 h.SetPublicRoutes(r.ToPublic(), func(h http.Handler) http.Handler { return h })
67 h.SetAdminRoutes(r)
68 ts := httptest.NewServer(r)
69 defer ts.Close()
70
71 c := hydra.NewAPIClient(hydra.NewConfiguration())
72 c.GetConfig().Servers = hydra.ServerConfigurations{{URL: ts.URL}}
73
74 _, err := c.
75 OAuth2API.DeleteOAuth2Token(ctx).
76 ClientId("foobar").Execute()
77 require.NoError(t, err)
78
79 ds := new(oauth2.Session)
80 _, err = store.GetAccessTokenSession(ctx, "del-1", ds)
81 require.Error(t, err, "not_found")
82}
83
84func TestUserinfo(t *testing.T) {
85 t.Parallel()

Callers

nothing calls this directly

Calls 15

SetPublicRoutesMethod · 0.95
SetAdminRoutesMethod · 0.95
GetConfigMethod · 0.95
NewRegistryMemoryFunction · 0.92
WithConfigOptionsFunction · 0.92
NewHandlerFunction · 0.92
ToPublicMethod · 0.80
DeleteOAuth2TokenMethod · 0.80
ClientManagerMethod · 0.65
OAuth2StorageMethod · 0.65
NowMethod · 0.65
CreateClientMethod · 0.65

Tested by

no test coverage detected