mirror of https://github.com/abpframework/abp.git
88 changed files with 1799 additions and 1887 deletions
@ -1,9 +1,8 @@ |
|||
using Volo.Abp.Application.Dtos; |
|||
|
|||
namespace Volo.Abp.TenantManagement |
|||
namespace Volo.Abp.TenantManagement; |
|||
|
|||
public class GetTenantsInput : PagedAndSortedResultRequestDto |
|||
{ |
|||
public class GetTenantsInput : PagedAndSortedResultRequestDto |
|||
{ |
|||
public string Filter { get; set; } |
|||
} |
|||
} |
|||
public string Filter { get; set; } |
|||
} |
|||
|
|||
@ -1,16 +1,15 @@ |
|||
using System.ComponentModel.DataAnnotations; |
|||
|
|||
namespace Volo.Abp.TenantManagement |
|||
namespace Volo.Abp.TenantManagement; |
|||
|
|||
public class TenantCreateDto : TenantCreateOrUpdateDtoBase |
|||
{ |
|||
public class TenantCreateDto : TenantCreateOrUpdateDtoBase |
|||
{ |
|||
[Required] |
|||
[EmailAddress] |
|||
[MaxLength(256)] |
|||
public virtual string AdminEmailAddress { get; set; } |
|||
[Required] |
|||
[EmailAddress] |
|||
[MaxLength(256)] |
|||
public virtual string AdminEmailAddress { get; set; } |
|||
|
|||
[Required] |
|||
[MaxLength(128)] |
|||
public virtual string AdminPassword { get; set; } |
|||
} |
|||
} |
|||
[Required] |
|||
[MaxLength(128)] |
|||
public virtual string AdminPassword { get; set; } |
|||
} |
|||
|
|||
@ -1,24 +1,23 @@ |
|||
using Volo.Abp.Reflection; |
|||
|
|||
namespace Volo.Abp.TenantManagement |
|||
namespace Volo.Abp.TenantManagement; |
|||
|
|||
public static class TenantManagementPermissions |
|||
{ |
|||
public static class TenantManagementPermissions |
|||
{ |
|||
public const string GroupName = "AbpTenantManagement"; |
|||
public const string GroupName = "AbpTenantManagement"; |
|||
|
|||
public static class Tenants |
|||
{ |
|||
public const string Default = GroupName + ".Tenants"; |
|||
public const string Create = Default + ".Create"; |
|||
public const string Update = Default + ".Update"; |
|||
public const string Delete = Default + ".Delete"; |
|||
public const string ManageFeatures = Default + ".ManageFeatures"; |
|||
public const string ManageConnectionStrings = Default + ".ManageConnectionStrings"; |
|||
} |
|||
public static class Tenants |
|||
{ |
|||
public const string Default = GroupName + ".Tenants"; |
|||
public const string Create = Default + ".Create"; |
|||
public const string Update = Default + ".Update"; |
|||
public const string Delete = Default + ".Delete"; |
|||
public const string ManageFeatures = Default + ".ManageFeatures"; |
|||
public const string ManageConnectionStrings = Default + ".ManageConnectionStrings"; |
|||
} |
|||
|
|||
public static string[] GetAll() |
|||
{ |
|||
return ReflectionHelper.GetPublicConstantsRecursively(typeof(TenantManagementPermissions)); |
|||
} |
|||
public static string[] GetAll() |
|||
{ |
|||
return ReflectionHelper.GetPublicConstantsRecursively(typeof(TenantManagementPermissions)); |
|||
} |
|||
} |
|||
} |
|||
|
|||
@ -1,9 +1,8 @@ |
|||
namespace Volo.Abp.TenantManagement |
|||
namespace Volo.Abp.TenantManagement; |
|||
|
|||
public class TenantManagementRemoteServiceConsts |
|||
{ |
|||
public class TenantManagementRemoteServiceConsts |
|||
{ |
|||
public const string RemoteServiceName = "AbpTenantManagement"; |
|||
public const string RemoteServiceName = "AbpTenantManagement"; |
|||
|
|||
public const string ModuleName = "multi-tenancy"; |
|||
} |
|||
public const string ModuleName = "multi-tenancy"; |
|||
} |
|||
|
|||
@ -1,9 +1,8 @@ |
|||
using Volo.Abp.Domain.Entities; |
|||
|
|||
namespace Volo.Abp.TenantManagement |
|||
namespace Volo.Abp.TenantManagement; |
|||
|
|||
public class TenantUpdateDto : TenantCreateOrUpdateDtoBase, IHasConcurrencyStamp |
|||
{ |
|||
public class TenantUpdateDto : TenantCreateOrUpdateDtoBase, IHasConcurrencyStamp |
|||
{ |
|||
public string ConcurrencyStamp { get; set; } |
|||
} |
|||
} |
|||
public string ConcurrencyStamp { get; set; } |
|||
} |
|||
|
|||
@ -1,13 +1,12 @@ |
|||
using AutoMapper; |
|||
|
|||
namespace Volo.Abp.TenantManagement |
|||
namespace Volo.Abp.TenantManagement; |
|||
|
|||
public class AbpTenantManagementApplicationAutoMapperProfile : Profile |
|||
{ |
|||
public class AbpTenantManagementApplicationAutoMapperProfile : Profile |
|||
public AbpTenantManagementApplicationAutoMapperProfile() |
|||
{ |
|||
public AbpTenantManagementApplicationAutoMapperProfile() |
|||
{ |
|||
CreateMap<Tenant, TenantDto>() |
|||
.MapExtraProperties(); |
|||
} |
|||
CreateMap<Tenant, TenantDto>() |
|||
.MapExtraProperties(); |
|||
} |
|||
} |
|||
} |
|||
|
|||
@ -1,14 +1,13 @@ |
|||
using Volo.Abp.Application.Services; |
|||
using Volo.Abp.TenantManagement.Localization; |
|||
|
|||
namespace Volo.Abp.TenantManagement |
|||
namespace Volo.Abp.TenantManagement; |
|||
|
|||
public abstract class TenantManagementAppServiceBase : ApplicationService |
|||
{ |
|||
public abstract class TenantManagementAppServiceBase : ApplicationService |
|||
protected TenantManagementAppServiceBase() |
|||
{ |
|||
protected TenantManagementAppServiceBase() |
|||
{ |
|||
ObjectMapperContext = typeof(AbpTenantManagementApplicationModule); |
|||
LocalizationResource = typeof(AbpTenantManagementResource); |
|||
} |
|||
ObjectMapperContext = typeof(AbpTenantManagementApplicationModule); |
|||
LocalizationResource = typeof(AbpTenantManagementResource); |
|||
} |
|||
} |
|||
} |
|||
|
|||
@ -1,13 +1,12 @@ |
|||
using AutoMapper; |
|||
|
|||
namespace Volo.Abp.TenantManagement.Blazor |
|||
namespace Volo.Abp.TenantManagement.Blazor; |
|||
|
|||
public class AbpTenantManagementBlazorAutoMapperProfile : Profile |
|||
{ |
|||
public class AbpTenantManagementBlazorAutoMapperProfile : Profile |
|||
public AbpTenantManagementBlazorAutoMapperProfile() |
|||
{ |
|||
public AbpTenantManagementBlazorAutoMapperProfile() |
|||
{ |
|||
CreateMap<TenantDto, TenantUpdateDto>() |
|||
.MapExtraProperties(); |
|||
} |
|||
CreateMap<TenantDto, TenantUpdateDto>() |
|||
.MapExtraProperties(); |
|||
} |
|||
} |
|||
|
|||
@ -1,9 +1,8 @@ |
|||
namespace Volo.Abp.TenantManagement.Blazor.Navigation |
|||
namespace Volo.Abp.TenantManagement.Blazor.Navigation; |
|||
|
|||
public class TenantManagementMenuNames |
|||
{ |
|||
public class TenantManagementMenuNames |
|||
{ |
|||
public const string GroupName = "TenantManagement"; |
|||
public const string GroupName = "TenantManagement"; |
|||
|
|||
public const string Tenants = GroupName + ".Tenants"; |
|||
} |
|||
public const string Tenants = GroupName + ".Tenants"; |
|||
} |
|||
|
|||
@ -1,17 +1,16 @@ |
|||
using System; |
|||
using Volo.Abp.ObjectExtending.Modularity; |
|||
|
|||
namespace Volo.Abp.ObjectExtending |
|||
namespace Volo.Abp.ObjectExtending; |
|||
|
|||
public class TenantManagementModuleExtensionConfiguration : ModuleExtensionConfiguration |
|||
{ |
|||
public class TenantManagementModuleExtensionConfiguration : ModuleExtensionConfiguration |
|||
public TenantManagementModuleExtensionConfiguration ConfigureTenant( |
|||
Action<EntityExtensionConfiguration> configureAction) |
|||
{ |
|||
public TenantManagementModuleExtensionConfiguration ConfigureTenant( |
|||
Action<EntityExtensionConfiguration> configureAction) |
|||
{ |
|||
return this.ConfigureEntity( |
|||
TenantManagementModuleExtensionConsts.EntityNames.Tenant, |
|||
configureAction |
|||
); |
|||
} |
|||
return this.ConfigureEntity( |
|||
TenantManagementModuleExtensionConsts.EntityNames.Tenant, |
|||
configureAction |
|||
); |
|||
} |
|||
} |
|||
} |
|||
|
|||
@ -1,18 +1,17 @@ |
|||
using System; |
|||
using Volo.Abp.ObjectExtending.Modularity; |
|||
|
|||
namespace Volo.Abp.ObjectExtending |
|||
namespace Volo.Abp.ObjectExtending; |
|||
|
|||
public static class TenantManagementModuleExtensionConfigurationDictionaryExtensions |
|||
{ |
|||
public static class TenantManagementModuleExtensionConfigurationDictionaryExtensions |
|||
public static ModuleExtensionConfigurationDictionary ConfigureTenantManagement( |
|||
this ModuleExtensionConfigurationDictionary modules, |
|||
Action<TenantManagementModuleExtensionConfiguration> configureAction) |
|||
{ |
|||
public static ModuleExtensionConfigurationDictionary ConfigureTenantManagement( |
|||
this ModuleExtensionConfigurationDictionary modules, |
|||
Action<TenantManagementModuleExtensionConfiguration> configureAction) |
|||
{ |
|||
return modules.ConfigureModule( |
|||
TenantManagementModuleExtensionConsts.ModuleName, |
|||
configureAction |
|||
); |
|||
} |
|||
return modules.ConfigureModule( |
|||
TenantManagementModuleExtensionConsts.ModuleName, |
|||
configureAction |
|||
); |
|||
} |
|||
} |
|||
} |
|||
|
|||
@ -1,12 +1,11 @@ |
|||
namespace Volo.Abp.ObjectExtending |
|||
namespace Volo.Abp.ObjectExtending; |
|||
|
|||
public class TenantManagementModuleExtensionConsts |
|||
{ |
|||
public class TenantManagementModuleExtensionConsts |
|||
{ |
|||
public const string ModuleName = "TenantManagement"; |
|||
public const string ModuleName = "TenantManagement"; |
|||
|
|||
public static class EntityNames |
|||
{ |
|||
public const string Tenant = "Tenant"; |
|||
} |
|||
public static class EntityNames |
|||
{ |
|||
public const string Tenant = "Tenant"; |
|||
} |
|||
} |
|||
} |
|||
|
|||
@ -1,10 +1,9 @@ |
|||
using Volo.Abp.Localization; |
|||
|
|||
namespace Volo.Abp.TenantManagement.Localization |
|||
namespace Volo.Abp.TenantManagement.Localization; |
|||
|
|||
[LocalizationResourceName("AbpTenantManagement")] |
|||
public class AbpTenantManagementResource |
|||
{ |
|||
[LocalizationResourceName("AbpTenantManagement")] |
|||
public class AbpTenantManagementResource |
|||
{ |
|||
|
|||
} |
|||
|
|||
} |
|||
|
|||
@ -1,15 +1,14 @@ |
|||
namespace Volo.Abp.TenantManagement |
|||
namespace Volo.Abp.TenantManagement; |
|||
|
|||
public static class TenantConnectionStringConsts |
|||
{ |
|||
public static class TenantConnectionStringConsts |
|||
{ |
|||
/// <summary>
|
|||
/// Default value: 64
|
|||
/// </summary>
|
|||
public static int MaxNameLength { get; set; } = 64; |
|||
/// <summary>
|
|||
/// Default value: 64
|
|||
/// </summary>
|
|||
public static int MaxNameLength { get; set; } = 64; |
|||
|
|||
/// <summary>
|
|||
/// Default value: 1024
|
|||
/// </summary>
|
|||
public static int MaxValueLength { get; set; } = 1024; |
|||
} |
|||
} |
|||
/// <summary>
|
|||
/// Default value: 1024
|
|||
/// </summary>
|
|||
public static int MaxValueLength { get; set; } = 1024; |
|||
} |
|||
|
|||
@ -1,10 +1,9 @@ |
|||
namespace Volo.Abp.TenantManagement |
|||
namespace Volo.Abp.TenantManagement; |
|||
|
|||
public static class TenantConsts |
|||
{ |
|||
public static class TenantConsts |
|||
{ |
|||
/// <summary>
|
|||
/// Default value: 64
|
|||
/// </summary>
|
|||
public static int MaxNameLength { get; set; } = 64; |
|||
} |
|||
/// <summary>
|
|||
/// Default value: 64
|
|||
/// </summary>
|
|||
public static int MaxNameLength { get; set; } = 64; |
|||
} |
|||
|
|||
@ -1,12 +1,11 @@ |
|||
using System; |
|||
|
|||
namespace Volo.Abp.TenantManagement |
|||
namespace Volo.Abp.TenantManagement; |
|||
|
|||
[Serializable] |
|||
public class TenantEto |
|||
{ |
|||
[Serializable] |
|||
public class TenantEto |
|||
{ |
|||
public Guid Id { get; set; } |
|||
public Guid Id { get; set; } |
|||
|
|||
public string Name { get; set; } |
|||
} |
|||
public string Name { get; set; } |
|||
} |
|||
|
|||
@ -1,13 +1,12 @@ |
|||
using Volo.Abp.Data; |
|||
|
|||
namespace Volo.Abp.TenantManagement |
|||
namespace Volo.Abp.TenantManagement; |
|||
|
|||
public static class AbpTenantManagementDbProperties |
|||
{ |
|||
public static class AbpTenantManagementDbProperties |
|||
{ |
|||
public static string DbTablePrefix { get; set; } = AbpCommonDbProperties.DbTablePrefix; |
|||
public static string DbTablePrefix { get; set; } = AbpCommonDbProperties.DbTablePrefix; |
|||
|
|||
public static string DbSchema { get; set; } = AbpCommonDbProperties.DbSchema; |
|||
public static string DbSchema { get; set; } = AbpCommonDbProperties.DbSchema; |
|||
|
|||
public const string ConnectionStringName = "AbpTenantManagement"; |
|||
} |
|||
public const string ConnectionStringName = "AbpTenantManagement"; |
|||
} |
|||
|
|||
@ -1,36 +1,35 @@ |
|||
using System; |
|||
using Volo.Abp.MultiTenancy; |
|||
|
|||
namespace Volo.Abp.TenantManagement |
|||
namespace Volo.Abp.TenantManagement; |
|||
|
|||
[Serializable] |
|||
[IgnoreMultiTenancy] |
|||
public class TenantCacheItem |
|||
{ |
|||
[Serializable] |
|||
[IgnoreMultiTenancy] |
|||
public class TenantCacheItem |
|||
{ |
|||
private const string CacheKeyFormat = "i:{0},n:{1}"; |
|||
private const string CacheKeyFormat = "i:{0},n:{1}"; |
|||
|
|||
public TenantConfiguration Value { get; set; } |
|||
public TenantConfiguration Value { get; set; } |
|||
|
|||
public TenantCacheItem() |
|||
{ |
|||
public TenantCacheItem() |
|||
{ |
|||
|
|||
} |
|||
} |
|||
|
|||
public TenantCacheItem(TenantConfiguration value) |
|||
{ |
|||
Value = value; |
|||
} |
|||
public TenantCacheItem(TenantConfiguration value) |
|||
{ |
|||
Value = value; |
|||
} |
|||
|
|||
public static string CalculateCacheKey(Guid? id, string name) |
|||
public static string CalculateCacheKey(Guid? id, string name) |
|||
{ |
|||
if (id == null && name.IsNullOrWhiteSpace()) |
|||
{ |
|||
if (id == null && name.IsNullOrWhiteSpace()) |
|||
{ |
|||
throw new AbpException("Both id and name can't be invalid."); |
|||
} |
|||
|
|||
return string.Format(CacheKeyFormat, |
|||
id?.ToString() ?? "null", |
|||
(name.IsNullOrWhiteSpace() ? "null" : name)); |
|||
throw new AbpException("Both id and name can't be invalid."); |
|||
} |
|||
|
|||
return string.Format(CacheKeyFormat, |
|||
id?.ToString() ?? "null", |
|||
(name.IsNullOrWhiteSpace() ? "null" : name)); |
|||
} |
|||
} |
|||
|
|||
@ -1,19 +1,18 @@ |
|||
using System.Linq; |
|||
using Microsoft.EntityFrameworkCore; |
|||
|
|||
namespace Volo.Abp.TenantManagement.EntityFrameworkCore |
|||
namespace Volo.Abp.TenantManagement.EntityFrameworkCore; |
|||
|
|||
public static class TenantManagementEfCoreQueryableExtensions |
|||
{ |
|||
public static class TenantManagementEfCoreQueryableExtensions |
|||
public static IQueryable<Tenant> IncludeDetails(this IQueryable<Tenant> queryable, bool include = true) |
|||
{ |
|||
public static IQueryable<Tenant> IncludeDetails(this IQueryable<Tenant> queryable, bool include = true) |
|||
if (!include) |
|||
{ |
|||
if (!include) |
|||
{ |
|||
return queryable; |
|||
} |
|||
|
|||
return queryable |
|||
.Include(x => x.ConnectionStrings); |
|||
return queryable; |
|||
} |
|||
|
|||
return queryable |
|||
.Include(x => x.ConnectionStrings); |
|||
} |
|||
} |
|||
} |
|||
|
|||
@ -1,8 +1,7 @@ |
|||
// This file is part of TenantClientProxy, you can customize it here
|
|||
// ReSharper disable once CheckNamespace
|
|||
namespace Volo.Abp.TenantManagement.ClientProxies |
|||
namespace Volo.Abp.TenantManagement.ClientProxies; |
|||
|
|||
public partial class TenantClientProxy |
|||
{ |
|||
public partial class TenantClientProxy |
|||
{ |
|||
} |
|||
} |
|||
|
|||
@ -1,18 +1,17 @@ |
|||
using Volo.Abp.MongoDB; |
|||
|
|||
namespace Volo.Abp.TenantManagement.MongoDB |
|||
namespace Volo.Abp.TenantManagement.MongoDB; |
|||
|
|||
public static class AbpTenantManagementMongoDbContextExtensions |
|||
{ |
|||
public static class AbpTenantManagementMongoDbContextExtensions |
|||
public static void ConfigureTenantManagement( |
|||
this IMongoModelBuilder builder) |
|||
{ |
|||
public static void ConfigureTenantManagement( |
|||
this IMongoModelBuilder builder) |
|||
{ |
|||
Check.NotNull(builder, nameof(builder)); |
|||
Check.NotNull(builder, nameof(builder)); |
|||
|
|||
builder.Entity<Tenant>(b => |
|||
{ |
|||
b.CollectionName = AbpTenantManagementDbProperties.DbTablePrefix + "Tenants"; |
|||
}); |
|||
} |
|||
builder.Entity<Tenant>(b => |
|||
{ |
|||
b.CollectionName = AbpTenantManagementDbProperties.DbTablePrefix + "Tenants"; |
|||
}); |
|||
} |
|||
} |
|||
} |
|||
|
|||
@ -1,9 +1,8 @@ |
|||
namespace Volo.Abp.TenantManagement.Web.Navigation |
|||
namespace Volo.Abp.TenantManagement.Web.Navigation; |
|||
|
|||
public class TenantManagementMenuNames |
|||
{ |
|||
public class TenantManagementMenuNames |
|||
{ |
|||
public const string GroupName = "TenantManagement"; |
|||
public const string GroupName = "TenantManagement"; |
|||
|
|||
public const string Tenants = GroupName + ".Tenants"; |
|||
} |
|||
public const string Tenants = GroupName + ".Tenants"; |
|||
} |
|||
|
|||
@ -1,12 +1,11 @@ |
|||
using Volo.Abp.AspNetCore.Mvc.UI.RazorPages; |
|||
|
|||
namespace Volo.Abp.TenantManagement.Web.Pages.TenantManagement.Tenants |
|||
namespace Volo.Abp.TenantManagement.Web.Pages.TenantManagement.Tenants; |
|||
|
|||
public abstract class TenantManagementPageModel : AbpPageModel |
|||
{ |
|||
public abstract class TenantManagementPageModel : AbpPageModel |
|||
public TenantManagementPageModel() |
|||
{ |
|||
public TenantManagementPageModel() |
|||
{ |
|||
ObjectMapperContext = typeof(AbpTenantManagementWebModule); |
|||
} |
|||
ObjectMapperContext = typeof(AbpTenantManagementWebModule); |
|||
} |
|||
} |
|||
} |
|||
|
|||
@ -1,24 +1,23 @@ |
|||
using System; |
|||
using Volo.Abp.TenantManagement.EntityFrameworkCore; |
|||
|
|||
namespace Volo.Abp.TenantManagement |
|||
namespace Volo.Abp.TenantManagement; |
|||
|
|||
public abstract class AbpTenantManagementApplicationTestBase : TenantManagementTestBase<AbpTenantManagementApplicationTestModule> |
|||
{ |
|||
public abstract class AbpTenantManagementApplicationTestBase : TenantManagementTestBase<AbpTenantManagementApplicationTestModule> |
|||
protected virtual void UsingDbContext(Action<ITenantManagementDbContext> action) |
|||
{ |
|||
protected virtual void UsingDbContext(Action<ITenantManagementDbContext> action) |
|||
using (var dbContext = GetRequiredService<ITenantManagementDbContext>()) |
|||
{ |
|||
using (var dbContext = GetRequiredService<ITenantManagementDbContext>()) |
|||
{ |
|||
action.Invoke(dbContext); |
|||
} |
|||
action.Invoke(dbContext); |
|||
} |
|||
} |
|||
|
|||
protected virtual T UsingDbContext<T>(Func<ITenantManagementDbContext, T> action) |
|||
protected virtual T UsingDbContext<T>(Func<ITenantManagementDbContext, T> action) |
|||
{ |
|||
using (var dbContext = GetRequiredService<ITenantManagementDbContext>()) |
|||
{ |
|||
using (var dbContext = GetRequiredService<ITenantManagementDbContext>()) |
|||
{ |
|||
return action.Invoke(dbContext); |
|||
} |
|||
return action.Invoke(dbContext); |
|||
} |
|||
} |
|||
} |
|||
|
|||
@ -1,13 +1,12 @@ |
|||
using Volo.Abp.Modularity; |
|||
using Volo.Abp.TenantManagement.EntityFrameworkCore; |
|||
|
|||
namespace Volo.Abp.TenantManagement |
|||
namespace Volo.Abp.TenantManagement; |
|||
|
|||
[DependsOn( |
|||
typeof(AbpTenantManagementEntityFrameworkCoreTestModule), |
|||
typeof(AbpTenantManagementTestBaseModule))] |
|||
public class AbpSettingManagementDomainTestModule : AbpModule |
|||
{ |
|||
[DependsOn( |
|||
typeof(AbpTenantManagementEntityFrameworkCoreTestModule), |
|||
typeof(AbpTenantManagementTestBaseModule))] |
|||
public class AbpSettingManagementDomainTestModule : AbpModule |
|||
{ |
|||
|
|||
} |
|||
} |
|||
|
|||
@ -1,7 +1,6 @@ |
|||
namespace Volo.Abp.TenantManagement.EntityFrameworkCore |
|||
namespace Volo.Abp.TenantManagement.EntityFrameworkCore; |
|||
|
|||
public class TenantRepository_Tests : TenantRepository_Tests<AbpTenantManagementEntityFrameworkCoreTestModule> |
|||
{ |
|||
public class TenantRepository_Tests : TenantRepository_Tests<AbpTenantManagementEntityFrameworkCoreTestModule> |
|||
{ |
|||
|
|||
} |
|||
} |
|||
|
|||
@ -1,10 +1,9 @@ |
|||
using Xunit; |
|||
|
|||
namespace Volo.Abp.TenantManagement.MongoDB |
|||
namespace Volo.Abp.TenantManagement.MongoDB; |
|||
|
|||
[CollectionDefinition(Name)] |
|||
public class MongoTestCollection : ICollectionFixture<MongoDbFixture> |
|||
{ |
|||
[CollectionDefinition(Name)] |
|||
public class MongoTestCollection : ICollectionFixture<MongoDbFixture> |
|||
{ |
|||
public const string Name = "MongoDB Collection"; |
|||
} |
|||
} |
|||
public const string Name = "MongoDB Collection"; |
|||
} |
|||
|
|||
@ -1,10 +1,9 @@ |
|||
using Xunit; |
|||
|
|||
namespace Volo.Abp.TenantManagement.MongoDB |
|||
namespace Volo.Abp.TenantManagement.MongoDB; |
|||
|
|||
[Collection(MongoTestCollection.Name)] |
|||
public class TenantRepository_Tests : TenantRepository_Tests<AbpTenantManagementMongoDbTestModule> |
|||
{ |
|||
[Collection(MongoTestCollection.Name)] |
|||
public class TenantRepository_Tests : TenantRepository_Tests<AbpTenantManagementMongoDbTestModule> |
|||
{ |
|||
|
|||
} |
|||
} |
|||
|
|||
@ -1,14 +1,13 @@ |
|||
using Volo.Abp.Modularity; |
|||
using Volo.Abp.Testing; |
|||
|
|||
namespace Volo.Abp.TenantManagement |
|||
namespace Volo.Abp.TenantManagement; |
|||
|
|||
public abstract class TenantManagementTestBase<TStartupModule> : AbpIntegratedTest<TStartupModule> |
|||
where TStartupModule : IAbpModule |
|||
{ |
|||
public abstract class TenantManagementTestBase<TStartupModule> : AbpIntegratedTest<TStartupModule> |
|||
where TStartupModule : IAbpModule |
|||
protected override void SetAbpApplicationCreationOptions(AbpApplicationCreationOptions options) |
|||
{ |
|||
protected override void SetAbpApplicationCreationOptions(AbpApplicationCreationOptions options) |
|||
{ |
|||
options.UseAutofac(); |
|||
} |
|||
options.UseAutofac(); |
|||
} |
|||
} |
|||
|
|||
Loading…
Reference in new issue