@@ -45,7 +45,7 @@ public async Task GetUserById()
45
45
} ;
46
46
var userManager = this . CreateFirebaseUserManager ( handler ) ;
47
47
48
- var userRecord = await userManager . GetUserById ( "user1" ) ;
48
+ var userRecord = await userManager . GetUserByIdAsync ( "user1" ) ;
49
49
50
50
Assert . Equal ( "user1" , userRecord . Uid ) ;
51
51
Assert . Null ( userRecord . DisplayName ) ;
@@ -60,6 +60,9 @@ public async Task GetUserById()
60
60
Assert . Empty ( userRecord . ProviderData ) ;
61
61
Assert . Null ( userRecord . UserMetaData . CreationTimestamp ) ;
62
62
Assert . Null ( userRecord . UserMetaData . LastSignInTimestamp ) ;
63
+
64
+ var request = NewtonsoftJsonSerializer . Instance . Deserialize < Dictionary < string , object > > ( handler . Request ) ;
65
+ Assert . Equal ( new JArray ( "user1" ) , request [ "localId" ] ) ;
63
66
}
64
67
65
68
[ Fact ]
@@ -99,7 +102,7 @@ public async Task GetUserByIdWithProperties()
99
102
} ;
100
103
var userManager = this . CreateFirebaseUserManager ( handler ) ;
101
104
102
- var userRecord = await userManager . GetUserById ( "user1" ) ;
105
+ var userRecord = await userManager . GetUserByIdAsync ( "user1" ) ;
103
106
104
107
Assert . Equal ( "user1" , userRecord . Uid ) ;
105
108
Assert . Equal ( "Test User" , userRecord . DisplayName ) ;
@@ -150,8 +153,145 @@ public async Task GetUserByIdUserNotFound()
150
153
} ;
151
154
var userManager = this . CreateFirebaseUserManager ( handler ) ;
152
155
153
- await Assert . ThrowsAsync < FirebaseException > (
154
- async ( ) => await userManager . GetUserById ( "user1" ) ) ;
156
+ var exception = await Assert . ThrowsAsync < FirebaseException > (
157
+ async ( ) => await userManager . GetUserByIdAsync ( "user1" ) ) ;
158
+ Assert . Equal ( "Failed to get user with uid: user1" , exception . Message ) ;
159
+ }
160
+
161
+ [ Fact ]
162
+ public async Task GetUserByIdNull ( )
163
+ {
164
+ var userManager = this . CreateFirebaseUserManager ( new MockMessageHandler ( ) ) ;
165
+ await Assert . ThrowsAsync < ArgumentException > ( ( ) => userManager . GetUserByIdAsync ( null ) ) ;
166
+ }
167
+
168
+ [ Fact ]
169
+ public async Task GetUserByIdEmpty ( )
170
+ {
171
+ var userManager = this . CreateFirebaseUserManager ( new MockMessageHandler ( ) ) ;
172
+ await Assert . ThrowsAsync < ArgumentException > ( ( ) => userManager . GetUserByIdAsync ( string . Empty ) ) ;
173
+ }
174
+
175
+ [ Fact ]
176
+ public async Task GetUserByEmail ( )
177
+ {
178
+ var handler = new MockMessageHandler ( )
179
+ {
180
+ Response = @"{""users"": [
181
+ {
182
+ ""localId"": ""user1""
183
+ }
184
+ ]}" ,
185
+ } ;
186
+ var userManager = this . CreateFirebaseUserManager ( handler ) ;
187
+
188
+ var userRecord = await userManager . GetUserByEmailAsync ( "[email protected] " ) ;
189
+
190
+ Assert . Equal ( "user1" , userRecord . Uid ) ;
191
+ Assert . Null ( userRecord . DisplayName ) ;
192
+ Assert . Null ( userRecord . Email ) ;
193
+ Assert . Null ( userRecord . PhoneNumber ) ;
194
+ Assert . Null ( userRecord . PhotoUrl ) ;
195
+ Assert . Equal ( "firebase" , userRecord . ProviderId ) ;
196
+ Assert . False ( userRecord . Disabled ) ;
197
+ Assert . False ( userRecord . EmailVerified ) ;
198
+ Assert . Equal ( UserRecord . UnixEpoch , userRecord . TokensValidAfterTimestamp ) ;
199
+ Assert . Empty ( userRecord . CustomClaims ) ;
200
+ Assert . Empty ( userRecord . ProviderData ) ;
201
+ Assert . Null ( userRecord . UserMetaData . CreationTimestamp ) ;
202
+ Assert . Null ( userRecord . UserMetaData . LastSignInTimestamp ) ;
203
+
204
+ var request = NewtonsoftJsonSerializer . Instance . Deserialize < Dictionary < string , object > > ( handler . Request ) ;
205
+ Assert . Equal ( new JArray ( "[email protected] " ) , request [ "email" ] ) ;
206
+ }
207
+
208
+ [ Fact ]
209
+ public async Task GetUserByEmailUserNotFound ( )
210
+ {
211
+ var handler = new MockMessageHandler ( )
212
+ {
213
+ Response = @"{""users"": []}" ,
214
+ } ;
215
+ var userManager = this . CreateFirebaseUserManager ( handler ) ;
216
+
217
+ var exception = await Assert . ThrowsAsync < FirebaseException > (
218
+ async ( ) => await userManager . GetUserByEmailAsync ( "[email protected] " ) ) ;
219
+ Assert . Equal ( "Failed to get user with email: [email protected] " , exception . Message ) ;
220
+ }
221
+
222
+ [ Fact ]
223
+ public async Task GetUserByEmailNull ( )
224
+ {
225
+ var userManager = this . CreateFirebaseUserManager ( new MockMessageHandler ( ) ) ;
226
+ await Assert . ThrowsAsync < ArgumentException > ( ( ) => userManager . GetUserByEmailAsync ( null ) ) ;
227
+ }
228
+
229
+ [ Fact ]
230
+ public async Task GetUserByEmailEmpty ( )
231
+ {
232
+ var userManager = this . CreateFirebaseUserManager ( new MockMessageHandler ( ) ) ;
233
+ await Assert . ThrowsAsync < ArgumentException > ( ( ) => userManager . GetUserByEmailAsync ( string . Empty ) ) ;
234
+ }
235
+
236
+ [ Fact ]
237
+ public async Task GetUserByPhoneNumber ( )
238
+ {
239
+ var handler = new MockMessageHandler ( )
240
+ {
241
+ Response = @"{""users"": [
242
+ {
243
+ ""localId"": ""user1""
244
+ }
245
+ ]}" ,
246
+ } ;
247
+ var userManager = this . CreateFirebaseUserManager ( handler ) ;
248
+
249
+ var userRecord = await userManager . GetUserByPhoneNumberAsync ( "+1234567890" ) ;
250
+
251
+ Assert . Equal ( "user1" , userRecord . Uid ) ;
252
+ Assert . Null ( userRecord . DisplayName ) ;
253
+ Assert . Null ( userRecord . Email ) ;
254
+ Assert . Null ( userRecord . PhoneNumber ) ;
255
+ Assert . Null ( userRecord . PhotoUrl ) ;
256
+ Assert . Equal ( "firebase" , userRecord . ProviderId ) ;
257
+ Assert . False ( userRecord . Disabled ) ;
258
+ Assert . False ( userRecord . EmailVerified ) ;
259
+ Assert . Equal ( UserRecord . UnixEpoch , userRecord . TokensValidAfterTimestamp ) ;
260
+ Assert . Empty ( userRecord . CustomClaims ) ;
261
+ Assert . Empty ( userRecord . ProviderData ) ;
262
+ Assert . Null ( userRecord . UserMetaData . CreationTimestamp ) ;
263
+ Assert . Null ( userRecord . UserMetaData . LastSignInTimestamp ) ;
264
+
265
+ var request = NewtonsoftJsonSerializer . Instance . Deserialize < Dictionary < string , object > > ( handler . Request ) ;
266
+ Assert . Equal ( new JArray ( "+1234567890" ) , request [ "phoneNumber" ] ) ;
267
+ }
268
+
269
+ [ Fact ]
270
+ public async Task GetUserByPhoneNumberUserNotFound ( )
271
+ {
272
+ var handler = new MockMessageHandler ( )
273
+ {
274
+ Response = @"{""users"": []}" ,
275
+ } ;
276
+ var userManager = this . CreateFirebaseUserManager ( handler ) ;
277
+
278
+ var exception = await Assert . ThrowsAsync < FirebaseException > (
279
+ async ( ) => await userManager . GetUserByPhoneNumberAsync ( "+1234567890" ) ) ;
280
+ Assert . Equal ( "Failed to get user with phone number: +1234567890" , exception . Message ) ;
281
+ }
282
+
283
+ [ Fact ]
284
+ public async Task GetUserByPhoneNumberNull ( )
285
+ {
286
+ var userManager = this . CreateFirebaseUserManager ( new MockMessageHandler ( ) ) ;
287
+ await Assert . ThrowsAsync < ArgumentException > ( ( ) => userManager . GetUserByPhoneNumberAsync ( null ) ) ;
288
+ }
289
+
290
+ [ Fact ]
291
+ public async Task GetUserByPhoneNumberEmpty ( )
292
+ {
293
+ var userManager = this . CreateFirebaseUserManager ( new MockMessageHandler ( ) ) ;
294
+ await Assert . ThrowsAsync < ArgumentException > ( ( ) => userManager . GetUserByPhoneNumberAsync ( string . Empty ) ) ;
155
295
}
156
296
157
297
[ Fact ]
0 commit comments