Added AsyncLocalAmbientTenantScopeProvider_Tests.

pull/81/head
Halil İbrahim Kalkan 9 years ago
parent 6ec1cdb848
commit 383ed32017

@ -19,7 +19,7 @@ namespace Volo.Abp.MultiTenancy
_tenant = new AsyncLocal<AmbientTenantScope>();
}
public IDisposable CreateScope(TenantInfo tenantInfo)
public IDisposable EnterScope(TenantInfo tenantInfo)
{
var parentScope = CurrentScope;
CurrentScope = new AmbientTenantScope(tenantInfo);

@ -6,6 +6,6 @@ namespace Volo.Abp.MultiTenancy
{
AmbientTenantScope CurrentScope { get; set; }
IDisposable CreateScope(TenantInfo tenantInfo);
IDisposable EnterScope(TenantInfo tenantInfo);
}
}

@ -42,7 +42,7 @@ namespace Volo.Abp.MultiTenancy
public IDisposable ChangeTenant(TenantInfo tenantInfo)
{
return _ambientTenantScopeProvider.CreateScope(tenantInfo);
return _ambientTenantScopeProvider.EnterScope(tenantInfo);
}
}
}

@ -0,0 +1,37 @@
using Shouldly;
using Xunit;
namespace Volo.Abp.MultiTenancy
{
public class AsyncLocalAmbientTenantScopeProvider_Tests
{
[Fact]
public void Should_Support_Inner_Scopes()
{
var scopeProvider = new AsyncLocalAmbientTenantScopeProvider();
scopeProvider.CurrentScope.ShouldBeNull();
using (scopeProvider.EnterScope(new TenantInfo("1","A")))
{
scopeProvider.CurrentScope.Tenant.Name.ShouldBe("A");
using (scopeProvider.EnterScope(new TenantInfo("2", "B")))
{
scopeProvider.CurrentScope.Tenant.Name.ShouldBe("B");
using (scopeProvider.EnterScope(null))
{
scopeProvider.CurrentScope.Tenant.ShouldBeNull();
}
scopeProvider.CurrentScope.Tenant.Name.ShouldBe("B");
}
scopeProvider.CurrentScope.Tenant.Name.ShouldBe("A");
}
scopeProvider.CurrentScope.ShouldBeNull();
}
}
}
Loading…
Cancel
Save