@@ -171,9 +171,14 @@ public async Task GetUserByIdUserNotFound()
171
171
} ;
172
172
var auth = this . CreateFirebaseAuth ( handler ) ;
173
173
174
- var exception = await Assert . ThrowsAsync < FirebaseException > (
174
+ var exception = await Assert . ThrowsAsync < FirebaseAuthException > (
175
175
async ( ) => await auth . GetUserAsync ( "user1" ) ) ;
176
+
177
+ Assert . Equal ( ErrorCode . NotFound , exception . ErrorCode ) ;
178
+ Assert . Equal ( AuthErrorCode . UserNotFound , exception . AuthErrorCode ) ;
176
179
Assert . Equal ( "Failed to get user with uid: user1" , exception . Message ) ;
180
+ Assert . NotNull ( exception . HttpResponse ) ;
181
+ Assert . Null ( exception . InnerException ) ;
177
182
}
178
183
179
184
[ Fact ]
@@ -228,9 +233,14 @@ public async Task GetUserByEmailUserNotFound()
228
233
} ;
229
234
var auth = this . CreateFirebaseAuth ( handler ) ;
230
235
231
- var exception = await Assert . ThrowsAsync < FirebaseException > (
236
+ var exception = await Assert . ThrowsAsync < FirebaseAuthException > (
232
237
async ( ) => await auth . GetUserByEmailAsync ( "[email protected] " ) ) ;
238
+
239
+ Assert . Equal ( ErrorCode . NotFound , exception . ErrorCode ) ;
240
+ Assert . Equal ( AuthErrorCode . UserNotFound , exception . AuthErrorCode ) ;
233
241
Assert . Equal ( "Failed to get user with email: [email protected] " , exception . Message ) ;
242
+ Assert . NotNull ( exception . HttpResponse ) ;
243
+ Assert . Null ( exception . InnerException ) ;
234
244
}
235
245
236
246
[ Fact ]
@@ -285,9 +295,14 @@ public async Task GetUserByPhoneNumberUserNotFound()
285
295
} ;
286
296
var auth = this . CreateFirebaseAuth ( handler ) ;
287
297
288
- var exception = await Assert . ThrowsAsync < FirebaseException > (
298
+ var exception = await Assert . ThrowsAsync < FirebaseAuthException > (
289
299
async ( ) => await auth . GetUserByPhoneNumberAsync ( "+1234567890" ) ) ;
300
+
301
+ Assert . Equal ( ErrorCode . NotFound , exception . ErrorCode ) ;
302
+ Assert . Equal ( AuthErrorCode . UserNotFound , exception . AuthErrorCode ) ;
290
303
Assert . Equal ( "Failed to get user with phone number: +1234567890" , exception . Message ) ;
304
+ Assert . NotNull ( exception . HttpResponse ) ;
305
+ Assert . Null ( exception . InnerException ) ;
291
306
}
292
307
293
308
[ Fact ]
@@ -641,11 +656,21 @@ public async Task ListUsersHttpError()
641
656
var handler = new MockMessageHandler ( )
642
657
{
643
658
StatusCode = HttpStatusCode . InternalServerError ,
659
+ Response = "{}" ,
644
660
} ;
645
661
var auth = this . CreateFirebaseAuth ( handler ) ;
646
662
647
663
var pagedEnumerable = auth . ListUsersAsync ( null ) ;
648
- await Assert . ThrowsAsync < FirebaseException > ( async ( ) => await pagedEnumerable . First ( ) ) ;
664
+ var exception = await Assert . ThrowsAsync < FirebaseAuthException > (
665
+ async ( ) => await pagedEnumerable . First ( ) ) ;
666
+
667
+ Assert . Equal ( ErrorCode . Internal , exception . ErrorCode ) ;
668
+ Assert . Null ( exception . AuthErrorCode ) ;
669
+ Assert . Equal (
670
+ "Unexpected HTTP response with status: 500 (InternalServerError)\n {}" ,
671
+ exception . Message ) ;
672
+ Assert . NotNull ( exception . HttpResponse ) ;
673
+ Assert . Null ( exception . InnerException ) ;
649
674
650
675
Assert . Single ( handler . Requests ) ;
651
676
var query = this . ExtractQueryParams ( handler . Requests [ 0 ] ) ;
@@ -670,7 +695,17 @@ public async Task ListUsersIntermittentHttpError()
670
695
}
671
696
672
697
handler . StatusCode = HttpStatusCode . InternalServerError ;
673
- await Assert . ThrowsAsync < FirebaseException > ( async ( ) => await enumerator . MoveNext ( ) ) ;
698
+ handler . Response = "{}" ;
699
+ var exception = await Assert . ThrowsAsync < FirebaseAuthException > (
700
+ async ( ) => await enumerator . MoveNext ( ) ) ;
701
+
702
+ Assert . Equal ( ErrorCode . Internal , exception . ErrorCode ) ;
703
+ Assert . Null ( exception . AuthErrorCode ) ;
704
+ Assert . Equal (
705
+ "Unexpected HTTP response with status: 500 (InternalServerError)\n {}" ,
706
+ exception . Message ) ;
707
+ Assert . NotNull ( exception . HttpResponse ) ;
708
+ Assert . Null ( exception . InnerException ) ;
674
709
675
710
Assert . Equal ( 2 , handler . Requests . Count ) ;
676
711
var query = this . ExtractQueryParams ( handler . Requests [ 0 ] ) ;
@@ -907,9 +942,16 @@ public async Task CreateUserIncorrectResponse()
907
942
Response = "{}" ,
908
943
} ;
909
944
var auth = this . CreateFirebaseAuth ( handler ) ;
910
-
911
945
var args = new UserRecordArgs ( ) ;
912
- await Assert . ThrowsAsync < FirebaseException > ( async ( ) => await auth . CreateUserAsync ( args ) ) ;
946
+
947
+ var exception = await Assert . ThrowsAsync < FirebaseAuthException > (
948
+ async ( ) => await auth . CreateUserAsync ( args ) ) ;
949
+
950
+ Assert . Equal ( ErrorCode . Unknown , exception . ErrorCode ) ;
951
+ Assert . Equal ( AuthErrorCode . UnexpectedResponse , exception . AuthErrorCode ) ;
952
+ Assert . Equal ( "Failed to create new user." , exception . Message ) ;
953
+ Assert . NotNull ( exception . HttpResponse ) ;
954
+ Assert . Null ( exception . InnerException ) ;
913
955
}
914
956
915
957
[ Fact ]
@@ -1309,7 +1351,14 @@ public async Task UpdateUserIncorrectResponseObject()
1309
1351
Uid = "user1" ,
1310
1352
} ;
1311
1353
1312
- await Assert . ThrowsAsync < FirebaseException > ( async ( ) => await auth . UpdateUserAsync ( args ) ) ;
1354
+ var exception = await Assert . ThrowsAsync < FirebaseAuthException > (
1355
+ async ( ) => await auth . UpdateUserAsync ( args ) ) ;
1356
+
1357
+ Assert . Equal ( ErrorCode . Unknown , exception . ErrorCode ) ;
1358
+ Assert . Equal ( AuthErrorCode . UnexpectedResponse , exception . AuthErrorCode ) ;
1359
+ Assert . Equal ( "Failed to update user: user1" , exception . Message ) ;
1360
+ Assert . NotNull ( exception . HttpResponse ) ;
1361
+ Assert . Null ( exception . InnerException ) ;
1313
1362
}
1314
1363
1315
1364
[ Fact ]
@@ -1325,7 +1374,14 @@ public async Task UpdateUserIncorrectResponseUid()
1325
1374
Uid = "user1" ,
1326
1375
} ;
1327
1376
1328
- await Assert . ThrowsAsync < FirebaseException > ( async ( ) => await auth . UpdateUserAsync ( args ) ) ;
1377
+ var exception = await Assert . ThrowsAsync < FirebaseAuthException > (
1378
+ async ( ) => await auth . UpdateUserAsync ( args ) ) ;
1379
+
1380
+ Assert . Equal ( ErrorCode . Unknown , exception . ErrorCode ) ;
1381
+ Assert . Equal ( AuthErrorCode . UnexpectedResponse , exception . AuthErrorCode ) ;
1382
+ Assert . Equal ( "Failed to update user: user1" , exception . Message ) ;
1383
+ Assert . NotNull ( exception . HttpResponse ) ;
1384
+ Assert . Null ( exception . InnerException ) ;
1329
1385
}
1330
1386
1331
1387
[ Fact ]
@@ -1334,14 +1390,24 @@ public async Task UpdateUserHttpError()
1334
1390
var handler = new MockMessageHandler ( )
1335
1391
{
1336
1392
StatusCode = HttpStatusCode . InternalServerError ,
1393
+ Response = "{}" ,
1337
1394
} ;
1338
1395
var auth = this . CreateFirebaseAuth ( handler ) ;
1339
1396
var args = new UserRecordArgs ( )
1340
1397
{
1341
1398
Uid = "user1" ,
1342
1399
} ;
1343
1400
1344
- await Assert . ThrowsAsync < FirebaseException > ( async ( ) => await auth . UpdateUserAsync ( args ) ) ;
1401
+ var exception = await Assert . ThrowsAsync < FirebaseAuthException > (
1402
+ async ( ) => await auth . UpdateUserAsync ( args ) ) ;
1403
+
1404
+ Assert . Equal ( ErrorCode . Internal , exception . ErrorCode ) ;
1405
+ Assert . Null ( exception . AuthErrorCode ) ;
1406
+ Assert . Equal (
1407
+ "Unexpected HTTP response with status: 500 (InternalServerError)\n {}" ,
1408
+ exception . Message ) ;
1409
+ Assert . NotNull ( exception . HttpResponse ) ;
1410
+ Assert . Null ( exception . InnerException ) ;
1345
1411
}
1346
1412
1347
1413
[ Fact ]
@@ -1361,12 +1427,22 @@ public async Task DeleteUserNotFound()
1361
1427
{
1362
1428
var handler = new MockMessageHandler ( )
1363
1429
{
1364
- StatusCode = HttpStatusCode . NotFound ,
1430
+ StatusCode = HttpStatusCode . InternalServerError ,
1431
+ Response = @"{
1432
+ ""error"": {""message"": ""USER_NOT_FOUND""}
1433
+ }" ,
1365
1434
} ;
1366
1435
var auth = this . CreateFirebaseAuth ( handler ) ;
1367
1436
1368
- await Assert . ThrowsAsync < FirebaseException > (
1437
+ var exception = await Assert . ThrowsAsync < FirebaseAuthException > (
1369
1438
async ( ) => await auth . DeleteUserAsync ( "user1" ) ) ;
1439
+ Assert . Equal ( ErrorCode . NotFound , exception . ErrorCode ) ;
1440
+ Assert . Equal ( AuthErrorCode . UserNotFound , exception . AuthErrorCode ) ;
1441
+ Assert . Equal (
1442
+ "No user record found for the given identifier (USER_NOT_FOUND)." ,
1443
+ exception . Message ) ;
1444
+ Assert . NotNull ( exception . HttpResponse ) ;
1445
+ Assert . Null ( exception . InnerException ) ;
1370
1446
}
1371
1447
1372
1448
private FirebaseAuth CreateFirebaseAuth ( HttpMessageHandler handler )
0 commit comments