@@ -71,6 +71,62 @@ public void TooLargeClaimsPayload()
71
71
Assert . Throws < ArgumentException > ( ( ) => new UserRecord ( "user1" ) { CustomClaims = customClaims } ) ;
72
72
}
73
73
74
+ [ Fact ]
75
+ public async Task GetUserById ( )
76
+ {
77
+ var handler = new MockMessageHandler ( )
78
+ {
79
+ Response = new UserRecord ( "user1" ) ,
80
+ } ;
81
+ var factory = new MockHttpClientFactory ( handler ) ;
82
+ var userManager = new FirebaseUserManager (
83
+ new FirebaseUserManagerArgs
84
+ {
85
+ Credential = MockCredential ,
86
+ ProjectId = MockProjectId ,
87
+ ClientFactory = factory ,
88
+ } ) ;
89
+ await userManager . GetUserById ( "user1" ) ;
90
+ }
91
+
92
+ [ Fact ]
93
+ public async Task GetUserByIdIncorrectUid ( )
94
+ {
95
+ var handler = new MockMessageHandler ( )
96
+ {
97
+ Response = new UserRecord ( "testuser" ) ,
98
+ } ;
99
+ var factory = new MockHttpClientFactory ( handler ) ;
100
+ var userManager = new FirebaseUserManager (
101
+ new FirebaseUserManagerArgs
102
+ {
103
+ Credential = MockCredential ,
104
+ ProjectId = MockProjectId ,
105
+ ClientFactory = factory ,
106
+ } ) ;
107
+ await Assert . ThrowsAsync < FirebaseException > (
108
+ async ( ) => await userManager . GetUserById ( "user1" ) ) ;
109
+ }
110
+
111
+ [ Fact ]
112
+ public async Task GetUserByIdHttpError ( )
113
+ {
114
+ var handler = new MockMessageHandler ( )
115
+ {
116
+ StatusCode = HttpStatusCode . Unauthorized ,
117
+ } ;
118
+ var factory = new MockHttpClientFactory ( handler ) ;
119
+ var userManager = new FirebaseUserManager (
120
+ new FirebaseUserManagerArgs
121
+ {
122
+ Credential = MockCredential ,
123
+ ProjectId = MockProjectId ,
124
+ ClientFactory = factory ,
125
+ } ) ;
126
+ await Assert . ThrowsAsync < FirebaseException > (
127
+ async ( ) => await userManager . GetUserById ( "user1" ) ) ;
128
+ }
129
+
74
130
[ Fact ]
75
131
public async Task UpdateUser ( )
76
132
{
@@ -165,5 +221,45 @@ public async Task UpdateUserHttpError()
165
221
await Assert . ThrowsAsync < FirebaseException > (
166
222
async ( ) => await userManager . UpdateUserAsync ( new UserRecord ( "user1" ) { CustomClaims = customClaims } ) ) ;
167
223
}
224
+
225
+ [ Fact ]
226
+ public async Task DeleteUser ( )
227
+ {
228
+ var handler = new MockMessageHandler ( )
229
+ {
230
+ Response = new Dictionary < string , string > ( )
231
+ {
232
+ { "kind" , "identitytoolkit#DeleteAccountResponse" } ,
233
+ } ,
234
+ } ;
235
+ var factory = new MockHttpClientFactory ( handler ) ;
236
+ var userManager = new FirebaseUserManager (
237
+ new FirebaseUserManagerArgs
238
+ {
239
+ Credential = MockCredential ,
240
+ ProjectId = MockProjectId ,
241
+ ClientFactory = factory ,
242
+ } ) ;
243
+ await userManager . DeleteUser ( "user1" ) ;
244
+ }
245
+
246
+ [ Fact ]
247
+ public async Task DeleteUserHttpError ( )
248
+ {
249
+ var handler = new MockMessageHandler ( )
250
+ {
251
+ StatusCode = HttpStatusCode . Unauthorized ,
252
+ } ;
253
+ var factory = new MockHttpClientFactory ( handler ) ;
254
+ var userManager = new FirebaseUserManager (
255
+ new FirebaseUserManagerArgs
256
+ {
257
+ Credential = MockCredential ,
258
+ ProjectId = MockProjectId ,
259
+ ClientFactory = factory ,
260
+ } ) ;
261
+ await Assert . ThrowsAsync < FirebaseException > (
262
+ async ( ) => await userManager . DeleteUser ( "user1" ) ) ;
263
+ }
168
264
}
169
265
}
0 commit comments