public async Task CannotResolve_TenantContext_IfParamsIsnNull() { // Arrange TestHarness harness = new TestHarness(); Exception exLogger = await Assert.ThrowsAsync <ArgumentNullException>(() => Task.Run(() => { return(new AppTenantResolver(harness.AppTenantMultitenancyOptionsProvider, harness.Cache, null)); })).ConfigureAwait(false); Assert.Contains("log", exLogger.Message); Exception exCache = await Assert.ThrowsAsync <ArgumentNullException>(() => Task.Run(() => { return(new AppTenantResolver(harness.AppTenantMultitenancyOptionsProvider, null, new Log <AppTenantResolver>(LogProvider.CurrentLogProvider))); })).ConfigureAwait(false); Assert.Contains("cache", exCache.Message); Task Res() => Task.Run(() => { AppTenantResolver cachingAppTenantResolver = new AppTenantResolver( null, harness.Cache, new Log <AppTenantResolver>(LogProvider.CurrentLogProvider)); }); Exception exOptionsProvider = await Assert.ThrowsAsync <ArgumentNullException>(Res).ConfigureAwait(false); Assert.Contains("multitenancyOptionsProvider", exOptionsProvider.Message); }
public TestHarness(bool disposeOnEviction = true, int cacheExpirationInSeconds = 10, bool evictAllOnExpiry = true) { MemoryCacheTenantResolverOptions options = new MemoryCacheTenantResolverOptions { DisposeOnEviction = disposeOnEviction, EvictAllEntriesOnExpiry = evictAllOnExpiry }; ServiceProvider services = new ServiceCollection() .AddSingleton <IOptionsFactory <MultitenancyOptions <TestTenant> >, MultitenancyOptionsTestTenantFactoryTests>() .AddSingleton <IOptionsFactory <MultitenancyOptions <AppTenant> >, MultitenancyOptionsAppTenantFactoryTests>() //.Configure<MultitenancyOptions>(o => { }) .BuildServiceProvider(); TestMultitenancyOptionsProvider = new MultitenancyOptionsProvider <TestTenant>(new MultiTenancyConfig <TestTenant>(environmentTest, Config)); AppTenantMultitenancyOptionsProvider = new MultitenancyOptionsProvider <AppTenant>(new MultiTenancyConfig <AppTenant>(environmentTest, Config)); TestTenantResolver = new TestTenantMemoryCacheResolver(TestMultitenancyOptionsProvider, Cache, new Log <TestTenantMemoryCacheResolver>(LogProvider.CurrentLogProvider), options, cacheExpirationInSeconds); AppTenantResolver = new AppTenantResolver(AppTenantMultitenancyOptionsProvider, Cache, new Log <AppTenantResolver>(LogProvider.CurrentLogProvider)); }