@@ -71,6 +71,62 @@ public void TooLargeClaimsPayload()
7171 Assert . Throws < ArgumentException > ( ( ) => new UserRecord ( "user1" ) { CustomClaims = customClaims } ) ;
7272 }
7373
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+
74130 [ Fact ]
75131 public async Task UpdateUser ( )
76132 {
@@ -165,5 +221,45 @@ public async Task UpdateUserHttpError()
165221 await Assert . ThrowsAsync < FirebaseException > (
166222 async ( ) => await userManager . UpdateUserAsync ( new UserRecord ( "user1" ) { CustomClaims = customClaims } ) ) ;
167223 }
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+ }
168264 }
169265}
0 commit comments