Browse Source

Fix aspnet core multitenancy tests.

pull/926/head
Halil ibrahim Kalkan 7 years ago
parent
commit
c7164c346e
  1. 4
      framework/test/Volo.Abp.AspNetCore.MultiTenancy.Tests/Volo/Abp/AspNetCore/App/AppModule.cs
  2. 68
      framework/test/Volo.Abp.AspNetCore.MultiTenancy.Tests/Volo/Abp/AspNetCore/MultiTenancy/AspNetCoreMultiTenancy_WithDomainResolver_Tests.cs
  3. 22
      framework/test/Volo.Abp.AspNetCore.MultiTenancy.Tests/Volo/Abp/AspNetCore/MultiTenancy/AspNetCoreMultiTenancy_Without_DomainResolver_Tests.cs

4
framework/test/Volo.Abp.AspNetCore.MultiTenancy.Tests/Volo/Abp/AspNetCore/App/AppModule.cs

@ -18,9 +18,9 @@ namespace Volo.Abp.AspNetCore.App
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
Configure<TenantResolveOptions>(options =>
Configure<MultiTenancyOptions>(options =>
{
options.AddDomainTenantResolver("{0}.abp.io");
options.IsEnabled = true;
});
}

68
framework/test/Volo.Abp.AspNetCore.MultiTenancy.Tests/Volo/Abp/AspNetCore/MultiTenancy/AspNetCoreMultiTenancy_WithDomainResolver_Tests.cs

@ -0,0 +1,68 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
using Shouldly;
using Volo.Abp.MultiTenancy;
using Volo.Abp.MultiTenancy.ConfigurationStore;
using Xunit;
namespace Volo.Abp.AspNetCore.MultiTenancy
{
public class AspNetCoreMultiTenancy_WithDomainResolver_Tests : AspNetCoreMultiTenancyTestBase
{
private readonly Guid _testTenantId = Guid.NewGuid();
private readonly string _testTenantName = "acme";
private readonly AspNetCoreMultiTenancyOptions _options;
public AspNetCoreMultiTenancy_WithDomainResolver_Tests()
{
_options = ServiceProvider.GetRequiredService<IOptions<AspNetCoreMultiTenancyOptions>>().Value;
}
protected override IWebHostBuilder CreateWebHostBuilder()
{
return base.CreateWebHostBuilder().ConfigureServices(services =>
{
services.Configure<DefaultTenantStoreOptions>(options =>
{
options.Tenants = new[]
{
new TenantConfiguration(_testTenantId, _testTenantName)
};
});
services.Configure<TenantResolveOptions>(options =>
{
options.AddDomainTenantResolver("{0}.abp.io");
});
});
}
[Fact]
public async Task Should_Use_Host_If_Tenant_Is_Not_Specified()
{
var result = await GetResponseAsObjectAsync<Dictionary<string, string>>("http://abp.io");
result["TenantId"].ShouldBe("");
}
[Fact]
public async Task Should_Use_Domain_If_Specified()
{
var result = await GetResponseAsObjectAsync<Dictionary<string, string>>("http://acme.abp.io");
result["TenantId"].ShouldBe(_testTenantId.ToString());
}
[Fact]
public async Task Should_Use_Domain_As_First_Priority_If_Specified()
{
Client.DefaultRequestHeaders.Add(_options.TenantKey, Guid.NewGuid().ToString());
var result = await GetResponseAsObjectAsync<Dictionary<string, string>>("http://acme.abp.io");
result["TenantId"].ShouldBe(_testTenantId.ToString());
}
}
}

22
framework/test/Volo.Abp.AspNetCore.MultiTenancy.Tests/Volo/Abp/AspNetCore/MultiTenancy/AspNetCoreMultiTenancy_Tests.cs → framework/test/Volo.Abp.AspNetCore.MultiTenancy.Tests/Volo/Abp/AspNetCore/MultiTenancy/AspNetCoreMultiTenancy_Without_DomainResolver_Tests.cs

@ -12,14 +12,14 @@ using Xunit;
namespace Volo.Abp.AspNetCore.MultiTenancy
{
public class AspNetCoreMultiTenancy_Tests : AspNetCoreMultiTenancyTestBase
public class AspNetCoreMultiTenancy_Without_DomainResolver_Tests : AspNetCoreMultiTenancyTestBase
{
private readonly Guid _testTenantId = Guid.NewGuid();
private readonly string _testTenantName = "acme";
private readonly AspNetCoreMultiTenancyOptions _options;
public AspNetCoreMultiTenancy_Tests()
public AspNetCoreMultiTenancy_Without_DomainResolver_Tests()
{
_options = ServiceProvider.GetRequiredService<IOptions<AspNetCoreMultiTenancyOptions>>().Value;
}
@ -61,23 +61,7 @@ namespace Volo.Abp.AspNetCore.MultiTenancy
var result = await GetResponseAsObjectAsync<Dictionary<string, string>>("http://abp.io");
result["TenantId"].ShouldBe(_testTenantId.ToString());
}
[Fact]
public async Task Should_Use_Domain_If_Specified()
{
var result = await GetResponseAsObjectAsync<Dictionary<string, string>>("http://acme.abp.io");
result["TenantId"].ShouldBe(_testTenantId.ToString());
}
[Fact]
public async Task Should_Use_Domain_As_First_Priority_If_Specified()
{
Client.DefaultRequestHeaders.Add(_options.TenantKey, Guid.NewGuid().ToString());
var result = await GetResponseAsObjectAsync<Dictionary<string, string>>("http://acme.abp.io");
result["TenantId"].ShouldBe(_testTenantId.ToString());
}
[Fact]
public async Task Should_Use_Cookie_Tenant_Id_If_Specified()
{
Loading…
Cancel
Save