MCPcopy Create free account
hub / github.com/authorizerdev/authorizer / testUserOperations

Function testUserOperations

internal/storage/provider_test.go:186–270  ·  view source on GitHub ↗
(t *testing.T, ctx context.Context, provider Provider)

Source from the content-addressed store, hash-verified

184}
185
186func testUserOperations(t *testing.T, ctx context.Context, provider Provider) {
187 // Create test user
188 user := &schemas.User{
189 ID: uuid.New().String(),
190 Email: refs.NewStringRef("test_" + uuid.New().String() + "@test.com"),
191 Password: refs.NewStringRef("hashedPassword"),
192 SignupMethods: "basic_auth",
193 }
194
195 // Test AddUser
196 createdUser, err := provider.AddUser(ctx, user)
197 require.NoError(t, err)
198 require.NotNil(t, createdUser)
199 assert.Equal(t, user.Email, createdUser.Email)
200
201 // Test GetUserByEmail
202 fetchedUser, err := provider.GetUserByEmail(ctx, *user.Email)
203 require.NoError(t, err)
204 require.NotNil(t, fetchedUser)
205 assert.Equal(t, user.Email, fetchedUser.Email)
206
207 // Test UpdateUser
208 fetchedUser.GivenName = refs.NewStringRef("Updated")
209 updatedUser, err := provider.UpdateUser(ctx, fetchedUser)
210 require.NoError(t, err)
211 require.NotNil(t, updatedUser)
212 assert.Equal(t, "Updated", *updatedUser.GivenName)
213
214 // Test ListUsers
215 users, pagination, err := provider.ListUsers(ctx, &model.Pagination{
216 Limit: 10,
217 Offset: 0,
218 })
219 assert.NoError(t, err)
220 assert.NotNil(t, users)
221 assert.Greater(t, len(users), 0)
222 assert.NotNil(t, pagination)
223 assert.Greater(t, pagination.Total, int64(0))
224
225 // Test DeleteUser
226 err = provider.DeleteUser(ctx, user)
227 assert.NoError(t, err)
228
229 // Verify deletion
230 _, err = provider.GetUserByEmail(ctx, *user.Email)
231 assert.Error(t, err)
232
233 // Test GetUserByPhoneNumber
234 user.PhoneNumber = refs.NewStringRef("+1234567891")
235 createdUser, err = provider.AddUser(ctx, user)
236 require.NoError(t, err)
237 require.NotNil(t, createdUser)
238 assert.Equal(t, user.PhoneNumber, createdUser.PhoneNumber)
239
240 // Test GetUserByID
241 fetchedUser, err = provider.GetUserByID(ctx, createdUser.ID)
242 require.NoError(t, err)
243 require.NotNil(t, fetchedUser)

Callers 1

TestStorageProviderFunction · 0.85

Calls 11

NewStringRefFunction · 0.92
ErrorMethod · 0.80
AddUserMethod · 0.65
GetUserByEmailMethod · 0.65
UpdateUserMethod · 0.65
ListUsersMethod · 0.65
DeleteUserMethod · 0.65
GetUserByIDMethod · 0.65
UpdateUsersMethod · 0.65
GetUserByPhoneNumberMethod · 0.65
StringMethod · 0.45

Tested by

no test coverage detected