public async Task UpdateTenantMinimal() { var handler = new MockMessageHandler() { Response = TenantResponse, }; var auth = CreateFirebaseAuth(handler); var args = new TenantArgs() { DisplayName = "Test Tenant", }; var provider = await auth.TenantManager.UpdateTenantAsync("tenant1", args); AssertTenant(provider); Assert.Equal(1, handler.Requests.Count); var request = handler.Requests[0]; Assert.Equal(HttpUtils.Patch, request.Method); Assert.Equal( "/v2/projects/project1/tenants/tenant1?updateMask=displayName", request.Url.PathAndQuery); AssertClientVersionHeader(request); var body = NewtonsoftJsonSerializer.Instance.Deserialize <JObject>( handler.LastRequestBody); Assert.Single(body); Assert.Equal("Test Tenant", body["displayName"]); }
public async Task CreateTenant() { var handler = new MockMessageHandler() { Response = TenantResponse, }; var auth = CreateFirebaseAuth(handler); var args = new TenantArgs() { DisplayName = "Test Tenant", PasswordSignUpAllowed = true, EmailLinkSignInEnabled = true, }; var provider = await auth.TenantManager.CreateTenantAsync(args); AssertTenant(provider); Assert.Equal(1, handler.Requests.Count); var request = handler.Requests[0]; Assert.Equal(HttpMethod.Post, request.Method); Assert.Equal("/v2/projects/project1/tenants", request.Url.PathAndQuery); AssertClientVersionHeader(request); var body = NewtonsoftJsonSerializer.Instance.Deserialize <JObject>( handler.LastRequestBody); Assert.Equal(3, body.Count); Assert.Equal("Test Tenant", body["displayName"]); Assert.True((bool)body["allowPasswordSignup"]); Assert.True((bool)body["enableEmailLinkSignin"]); }
public async Task UpdateTenant(TestConfig config) { var handler = new MockMessageHandler() { Response = TenantResponse, }; var auth = config.CreateFirebaseAuth(handler); var args = new TenantArgs() { DisplayName = "Test Tenant", PasswordSignUpAllowed = true, EmailLinkSignInEnabled = true, }; var provider = await auth.TenantManager.UpdateTenantAsync("tenant1", args); AssertTenant(provider); Assert.Equal(1, handler.Requests.Count); var request = handler.Requests[0]; Assert.Equal(HttpUtils.Patch, request.Method); var mask = "allowPasswordSignup,displayName,enableEmailLinkSignin"; config.AssertRequest($"tenants/tenant1?updateMask={mask}", request); var body = NewtonsoftJsonSerializer.Instance.Deserialize <JObject>( handler.LastRequestBody); Assert.Equal(3, body.Count); Assert.Equal("Test Tenant", body["displayName"]); Assert.True((bool)body["allowPasswordSignup"]); Assert.True((bool)body["enableEmailLinkSignin"]); }
public async Task UpdateTenantNoId(string tenantId) { var auth = CreateFirebaseAuth(); var args = new TenantArgs() { DisplayName = "Test Tenant", }; var exception = await Assert.ThrowsAsync <ArgumentException>( () => auth.TenantManager.UpdateTenantAsync(tenantId, args)); Assert.Equal("Tenant ID cannot be null or empty.", exception.Message); }
public TenantFixture() { IntegrationTestUtils.EnsureDefaultApp(); var tenantManager = FirebaseAuth.DefaultInstance.TenantManager; var args = new TenantArgs { DisplayName = "admin-dotnet-tenant", PasswordSignUpAllowed = true, EmailLinkSignInEnabled = true, }; this.Tenant = tenantManager.CreateTenantAsync(args).Result; this.Auth = tenantManager.AuthForTenant(this.Tenant.TenantId); this.TenantId = this.Tenant.TenantId; }
public async Task UpdateTenant() { var args = new TenantArgs { DisplayName = "new-dotnet-tenant", PasswordSignUpAllowed = false, EmailLinkSignInEnabled = false, }; var tenant = await FirebaseAuth.DefaultInstance.TenantManager .UpdateTenantAsync(this.fixture.TenantId, args); Assert.Equal(this.fixture.TenantId, tenant.TenantId); Assert.Equal("new-dotnet-tenant", tenant.DisplayName); Assert.False(tenant.PasswordSignUpAllowed); Assert.False(tenant.EmailLinkSignInEnabled); }
public async Task UpdateTenantError() { var handler = new MockMessageHandler() { StatusCode = HttpStatusCode.NotFound, Response = TenantNotFoundResponse, }; var auth = CreateFirebaseAuth(handler); var args = new TenantArgs() { DisplayName = "Test Tenant", }; var exception = await Assert.ThrowsAsync <FirebaseAuthException>( () => auth.TenantManager.UpdateTenantAsync("tenant1", args)); Assert.Equal(ErrorCode.NotFound, exception.ErrorCode); Assert.Equal(AuthErrorCode.TenantNotFound, exception.AuthErrorCode); Assert.Equal( "No tenant found for the given identifier (TENANT_NOT_FOUND).", exception.Message); Assert.NotNull(exception.HttpResponse); Assert.Null(exception.InnerException); }