Skip to content

Commit 0d8fbb8

Browse files
authored
feat(auth): Support for tenant-aware user management (#229)
* feat(auth): Support for tenant-aware user management * fix: Cleaned up the unit tests * fix: Removed duplicated line
1 parent fcc5d17 commit 0d8fbb8

17 files changed

+1268
-1126
lines changed

FirebaseAdmin/FirebaseAdmin.Tests/Auth/FirebaseAuthTest.cs

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -74,23 +74,42 @@ await Assert.ThrowsAsync<InvalidOperationException>(
7474
[Fact]
7575
public void NoTenantId()
7676
{
77-
var app = FirebaseApp.Create(new AppOptions() { Credential = MockCredential });
77+
var app = FirebaseApp.Create(new AppOptions
78+
{
79+
Credential = MockCredential,
80+
ProjectId = "project1",
81+
});
7882

7983
FirebaseAuth auth = FirebaseAuth.DefaultInstance;
8084

8185
Assert.Null(auth.TokenFactory.TenantId);
86+
Assert.Null(auth.UserManager.TenantId);
8287
}
8388

8489
[Fact]
85-
public async Task SetCustomUserClaimsNoProjectId()
90+
public void UserManagerNoProjectId()
8691
{
8792
FirebaseApp.Create(new AppOptions() { Credential = MockCredential });
88-
var customClaims = new Dictionary<string, object>()
89-
{
90-
{ "admin", true },
91-
};
92-
await Assert.ThrowsAsync<ArgumentException>(
93-
async () => await FirebaseAuth.DefaultInstance.SetCustomUserClaimsAsync("user1", customClaims));
93+
94+
var ex = Assert.Throws<ArgumentException>(
95+
() => FirebaseAuth.DefaultInstance.UserManager);
96+
97+
Assert.Equal(
98+
"Must initialize FirebaseApp with a project ID to manage users.",
99+
ex.Message);
100+
}
101+
102+
[Fact]
103+
public void TenantManagerNoProjectId()
104+
{
105+
FirebaseApp.Create(new AppOptions() { Credential = MockCredential });
106+
107+
var ex = Assert.Throws<ArgumentException>(
108+
() => FirebaseAuth.DefaultInstance.TenantManager);
109+
110+
Assert.Equal(
111+
"Must initialize FirebaseApp with a project ID to manage tenants.",
112+
ex.Message);
94113
}
95114

96115
[Fact]

0 commit comments

Comments
 (0)