From 56a3ceeca9d6416ef883158b4d653a5f37fcc22b Mon Sep 17 00:00:00 2001 From: maliming Date: Thu, 17 Jun 2021 14:55:35 +0800 Subject: [PATCH] Add test cases for MultiTenantConnectionStringResolver. --- ...ltiTenantConnectionStringResolver_Tests.cs | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/framework/test/Volo.Abp.MultiTenancy.Tests/Volo/Abp/Data/MultiTenancy/MultiTenantConnectionStringResolver_Tests.cs b/framework/test/Volo.Abp.MultiTenancy.Tests/Volo/Abp/Data/MultiTenancy/MultiTenantConnectionStringResolver_Tests.cs index f6af2bde72..57f13cd057 100644 --- a/framework/test/Volo.Abp.MultiTenancy.Tests/Volo/Abp/Data/MultiTenancy/MultiTenantConnectionStringResolver_Tests.cs +++ b/framework/test/Volo.Abp.MultiTenancy.Tests/Volo/Abp/Data/MultiTenancy/MultiTenantConnectionStringResolver_Tests.cs @@ -30,6 +30,21 @@ namespace Volo.Abp.Data.MultiTenancy { options.ConnectionStrings.Default = "default-value"; options.ConnectionStrings["db1"] = "db1-default-value"; + options.ConnectionStrings["Saas"] = "Saas-default-value"; + options.ConnectionStrings["Admin"] = "Admin-default-value"; + + options.Databases.Configure("Saas", database => + { + database.MappedConnections.Add("Saas1"); + database.MappedConnections.Add("Saas2"); + database.IsUsedByTenants = false; + }); + + options.Databases.Configure("Admin", database => + { + database.MappedConnections.Add("Admin1"); + database.MappedConnections.Add("Admin2"); + }); }); services.Configure(options => @@ -41,7 +56,8 @@ namespace Volo.Abp.Data.MultiTenancy ConnectionStrings = { { ConnectionStrings.DefaultConnectionStringName, "tenant1-default-value"}, - {"db1", "tenant1-db1-value"} + {"db1", "tenant1-db1-value"}, + {"Admin", "tenant1-Admin-value"} } }, new TenantConfiguration(_tenant2Id, "tenant2") @@ -55,12 +71,16 @@ namespace Volo.Abp.Data.MultiTenancy //No tenant in current context (await _connectionResolver.ResolveAsync()).ShouldBe("default-value"); (await _connectionResolver.ResolveAsync("db1")).ShouldBe("db1-default-value"); + (await _connectionResolver.ResolveAsync("Saas1")).ShouldBe("Saas-default-value"); + (await _connectionResolver.ResolveAsync("Admin2")).ShouldBe("Admin-default-value"); //Overriden connection strings for tenant1 using (_currentTenant.Change(_tenant1Id)) { (await _connectionResolver.ResolveAsync()).ShouldBe("tenant1-default-value"); (await _connectionResolver.ResolveAsync("db1")).ShouldBe("tenant1-db1-value"); + (await _connectionResolver.ResolveAsync("Saas1")).ShouldBe("tenant1-default-value"); + (await _connectionResolver.ResolveAsync("Admin2")).ShouldBe("tenant1-Admin-value"); } //No tenant in current context @@ -72,6 +92,8 @@ namespace Volo.Abp.Data.MultiTenancy { (await _connectionResolver.ResolveAsync()).ShouldBe("default-value"); (await _connectionResolver.ResolveAsync("db1")).ShouldBe("db1-default-value"); + (await _connectionResolver.ResolveAsync("Saas1")).ShouldBe("Saas-default-value"); + (await _connectionResolver.ResolveAsync("Admin2")).ShouldBe("Admin-default-value"); } } }