From a6c6aa6cdcafe1062c8fc2fc0616ca7b55cf536d Mon Sep 17 00:00:00 2001 From: Jeff Repanich Date: Wed, 23 Sep 2026 16:48:10 -0400 Subject: [PATCH 1/2] test(tenancy): give projection polls fresh deadlines (#157) --- test/Compliance.Tests/E2E/SplitHostTenantE2ETests.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/Compliance.Tests/E2E/SplitHostTenantE2ETests.cs b/test/Compliance.Tests/E2E/SplitHostTenantE2ETests.cs index 7abb380..b200bc0 100644 --- a/test/Compliance.Tests/E2E/SplitHostTenantE2ETests.cs +++ b/test/Compliance.Tests/E2E/SplitHostTenantE2ETests.cs @@ -790,6 +790,7 @@ await TenantInvitationE2ETests.VerifyEmailAsync(factory, administratorClient, new { email_address = administratorEmail, token = invitationToken }); Assert.Equal(HttpStatusCode.NoContent, accepted.StatusCode); + deadline = DateTimeOffset.UtcNow.AddSeconds(45); var access = HttpStatusCode.Forbidden; while (DateTimeOffset.UtcNow < deadline) { @@ -825,6 +826,7 @@ await TenantInvitationE2ETests.VerifyEmailAsync(factory, staffClient, staffId, s using var staffAccepted = await staffClient.PostAsJsonAsync(acceptancePath, new { email_address = staffEmail, token = staffToken }); Assert.Equal(HttpStatusCode.NoContent, staffAccepted.StatusCode); + deadline = DateTimeOffset.UtcNow.AddSeconds(45); Members? members = null; while (DateTimeOffset.UtcNow < deadline) { From 1155859b1ec1c5c6e3fab77ee4a7efd31afc6805 Mon Sep 17 00:00:00 2001 From: Jeff Repanich Date: Wed, 23 Sep 2026 16:57:45 -0400 Subject: [PATCH 2/2] test(tenancy): await active self-service projection (#157) --- .../E2E/SplitHostTenantE2ETests.cs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/test/Compliance.Tests/E2E/SplitHostTenantE2ETests.cs b/test/Compliance.Tests/E2E/SplitHostTenantE2ETests.cs index b200bc0..9a6aa57 100644 --- a/test/Compliance.Tests/E2E/SplitHostTenantE2ETests.cs +++ b/test/Compliance.Tests/E2E/SplitHostTenantE2ETests.cs @@ -267,9 +267,17 @@ await TenantInvitationE2ETests.VerifyEmailAsync(factory, creator, creatorId, ema await Task.Delay(250); } Assert.Equal(HttpStatusCode.OK, access); - using var tenantResponse = await creator.GetAsync($"/api/v1/tenants/{tenantId}"); - Assert.Equal(HttpStatusCode.OK, tenantResponse.StatusCode); - var tenant = await tenantResponse.Content.ReadFromJsonAsync(); + Tenant? tenant = null; + deadline = DateTimeOffset.UtcNow.AddSeconds(45); + while (DateTimeOffset.UtcNow < deadline) + { + using var tenantResponse = await creator.GetAsync($"/api/v1/tenants/{tenantId}"); + Assert.Equal(HttpStatusCode.OK, tenantResponse.StatusCode); + tenant = await tenantResponse.Content.ReadFromJsonAsync(); + if (tenant?.Status == "active") + break; + await Task.Delay(250); + } Assert.Equal("active", tenant?.Status); Assert.Null(tenant?.OperatorUserId); using var outsiderDenied = await outsider.GetAsync(