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

Function TestHelperCreateGetUpdateDeleteClientNext

client/manager_test_helpers.go:104–192  ·  view source on GitHub ↗
(t *testing.T, m Storage, networks []uuid.UUID)

Source from the content-addressed store, hash-verified

102}
103
104func TestHelperCreateGetUpdateDeleteClientNext(t *testing.T, m Storage, networks []uuid.UUID) {
105 ctx := context.Background()
106
107 resources := map[uuid.UUID][]Client{}
108 for k := range networks {
109 nid := networks[k]
110 resources[nid] = []Client{}
111
112 ctx := contextx.SetNIDContext(ctx, nid)
113 t.Run(fmt.Sprintf("nid=%s", nid), func(t *testing.T) {
114 var client Client
115 require.NoError(t, faker.FakeData(&client))
116 client.CreatedAt = time.Now().Truncate(time.Second).UTC()
117
118 t.Run("lifecycle=does not exist", func(t *testing.T) {
119 _, err := m.GetClient(ctx, uuidx.NewV4().String())
120 require.Error(t, err)
121 })
122
123 t.Run("lifecycle=exists", func(t *testing.T) {
124 require.NoError(t, m.CreateClient(ctx, &client))
125 c, err := m.GetClient(ctx, client.GetID())
126 require.NoError(t, err)
127 assertx.EqualAsJSONExcept(t, &client, c, []string{
128 "registration_access_token",
129 "registration_client_uri",
130 "updated_at",
131 })
132
133 require.ErrorIs(t, m.CreateClient(ctx, &client), sqlcon.ErrUniqueViolation)
134 })
135
136 t.Run("lifecycle=update", func(t *testing.T) {
137 client.Name = "updated" + nid.String()
138 require.NoError(t, m.UpdateClient(ctx, &client))
139 c, err := m.GetClient(ctx, client.GetID())
140 require.NoError(t, err)
141 assertx.EqualAsJSONExcept(t, &client, c, []string{
142 "registration_access_token",
143 "registration_client_uri",
144 "updated_at",
145 })
146 resources[nid] = append(resources[nid], client)
147 })
148 })
149 }
150
151 for k := range resources {
152 original := k
153 clients := resources[k]
154 for i := range networks {
155 check := networks[i]
156
157 t.Run("network="+original.String(), func(t *testing.T) {
158 ctx := contextx.SetNIDContext(ctx, check)
159 for _, expected := range clients {
160 c, err := m.GetClient(ctx, expected.GetID())
161 if check != original {

Callers 1

TestManagersNextGenFunction · 0.92

Calls 9

GetIDMethod · 0.95
NowMethod · 0.65
GetClientMethod · 0.65
StringMethod · 0.65
CreateClientMethod · 0.65
UpdateClientMethod · 0.65
GetIDMethod · 0.65
DeleteClientMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected