diff --git a/src/Persistence/PostgresqlTests/Transport/stateful_resource_smoke_tests.cs b/src/Persistence/PostgresqlTests/Transport/stateful_resource_smoke_tests.cs index 980d8d1ed..8d4c5eb9f 100644 --- a/src/Persistence/PostgresqlTests/Transport/stateful_resource_smoke_tests.cs +++ b/src/Persistence/PostgresqlTests/Transport/stateful_resource_smoke_tests.cs @@ -118,6 +118,20 @@ public async Task teardown() (await ConfigureBuilder(false, 30) .RunJasperFxCommands(["resources", "teardown"])).ShouldBe(0); } + + [Fact] + public async Task db_assert_includes_transport_tables() + { + (await ConfigureBuilder(false, 40) + .RunJasperFxCommands(["db-apply"])).ShouldBe(0); + + var result = await ConfigureBuilder(false, 40) + .RunJasperFxCommands(["resources", "check"]); + + // resources check should succeed because db-apply have included + // endpoints in the database schema configuration + result.ShouldBe(0); + } } public class SRMessage1; diff --git a/src/Persistence/Wolverine.RDBMS/MultiTenancy/MessageDatabaseDiscovery.cs b/src/Persistence/Wolverine.RDBMS/MultiTenancy/MessageDatabaseDiscovery.cs index 4caa4c515..61f5a810c 100644 --- a/src/Persistence/Wolverine.RDBMS/MultiTenancy/MessageDatabaseDiscovery.cs +++ b/src/Persistence/Wolverine.RDBMS/MultiTenancy/MessageDatabaseDiscovery.cs @@ -2,6 +2,7 @@ using Weasel.Core.Migrations; using Wolverine.Persistence.Durability; using Wolverine.Runtime; +using Wolverine.Transports; namespace Wolverine.RDBMS.MultiTenancy; @@ -44,9 +45,17 @@ public async ValueTask DescribeDatabasesAsync(CancellationToken t return usage; } - public ValueTask> BuildDatabases() + public async ValueTask> BuildDatabases() { - return _runtime.Stores.FindAllAsync(); + if (!_runtime.Options.ExternalTransportsAreStubbed) + { + foreach (var transport in _runtime.Options.Transports.OfType().ToArray()) + { + await transport.ConfigureAsync(_runtime); + } + } + + return await _runtime.Stores.FindAllAsync(); } public DatabaseCardinality Cardinality => _runtime.Stores.Cardinality();