Skip to content

Commit 0dedee7

Browse files
added tests for ListUsersRequest
1 parent b5cd7c7 commit 0dedee7

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed

FirebaseAdmin/FirebaseAdmin.Tests/Auth/FirebaseUserManagerTest.cs

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,72 @@ await Assert.ThrowsAsync<FirebaseException>(
118118
async () => await userManager.GetUserById("user1"));
119119
}
120120

121+
[Fact]
122+
public async Task ListUsers()
123+
{
124+
var nextPageToken = Guid.NewGuid().ToString();
125+
var handler = new MockMessageHandler()
126+
{
127+
Response = new DownloadAccountResponse()
128+
{
129+
NextPageToken = nextPageToken,
130+
Users = new List<GetAccountInfoResponse.User>()
131+
{
132+
new GetAccountInfoResponse.User() { UserId = "user1" },
133+
new GetAccountInfoResponse.User() { UserId = "user2" },
134+
new GetAccountInfoResponse.User() { UserId = "user3" },
135+
},
136+
},
137+
};
138+
139+
var factory = new MockHttpClientFactory(handler);
140+
var userManager = new FirebaseUserManager(
141+
new FirebaseUserManagerArgs
142+
{
143+
Credential = MockCredential,
144+
ProjectId = MockProjectId,
145+
ClientFactory = factory,
146+
});
147+
var listUsersRequest = userManager.CreateListUserRequest(new ListUsersOptions());
148+
var userRecords = await listUsersRequest.ExecuteAsync();
149+
Assert.Equal(nextPageToken, userRecords.NextPageToken);
150+
Assert.Equal(3, userRecords.Users.Count);
151+
Assert.Equal("user1", userRecords.Users[0].Uid);
152+
Assert.Equal("user2", userRecords.Users[1].Uid);
153+
Assert.Equal("user3", userRecords.Users[2].Uid);
154+
}
155+
156+
[Fact]
157+
public void ListUsersRequestOptionsAreSet()
158+
{
159+
var handler = new MockMessageHandler()
160+
{
161+
};
162+
163+
var factory = new MockHttpClientFactory(handler);
164+
var userManager = new FirebaseUserManager(
165+
new FirebaseUserManagerArgs
166+
{
167+
Credential = MockCredential,
168+
ProjectId = MockProjectId,
169+
ClientFactory = factory,
170+
});
171+
172+
var listUsersRequest = userManager.CreateListUserRequest(new ListUsersOptions());
173+
174+
// by default they are set
175+
Assert.True(listUsersRequest.RequestParameters.ContainsKey("maxResults"));
176+
Assert.True(listUsersRequest.RequestParameters.ContainsKey("nextPageToken"));
177+
Assert.Equal(FirebaseUserManager.MaxListUsersResults, int.Parse(listUsersRequest.RequestParameters["maxResults"].DefaultValue));
178+
Assert.Null(listUsersRequest.RequestParameters["nextPageToken"].DefaultValue);
179+
180+
// change the values and check again
181+
listUsersRequest.SetPageSize(10);
182+
listUsersRequest.SetPageToken("theNewNextPageToken");
183+
Assert.Equal(10, int.Parse(listUsersRequest.RequestParameters["maxResults"].DefaultValue));
184+
Assert.Equal("theNewNextPageToken", listUsersRequest.RequestParameters["nextPageToken"].DefaultValue);
185+
}
186+
121187
[Fact]
122188
public async Task UpdateUser()
123189
{

0 commit comments

Comments
 (0)