diff --git a/Volo.Abp.sln b/Volo.Abp.sln
index 3d32f12a11..6c8261d667 100644
--- a/Volo.Abp.sln
+++ b/Volo.Abp.sln
@@ -158,7 +158,13 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.VirtualFileSystem"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.VirtualFileSystem.Tests", "test\Volo.Abp.VirtualFileSystem.Tests\Volo.Abp.VirtualFileSystem.Tests.csproj", "{F79B6D80-C79B-4C13-9221-CA2345983743}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Core", "src\Volo.Abp.Core\Volo.Abp.Core.csproj", "{A7A97BFD-48FA-45D1-8423-031BA30BEAA1}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Core", "src\Volo.Abp.Core\Volo.Abp.Core.csproj", "{A7A97BFD-48FA-45D1-8423-031BA30BEAA1}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Localization", "src\Volo.Abp.Localization\Volo.Abp.Localization.csproj", "{166E89F7-A505-45F2-B4CD-F345DE39030E}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Localization.Tests", "test\Volo.Abp.Localization.Tests\Volo.Abp.Localization.Tests.csproj", "{6E50143F-0982-4BCB-9D0E-FF5451AE8123}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Core.Tests", "test\Volo.Abp.Core.Tests\Volo.Abp.Core.Tests.csproj", "{3622B544-1345-4230-ABC2-4902328DE971}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -410,6 +416,18 @@ Global
{A7A97BFD-48FA-45D1-8423-031BA30BEAA1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A7A97BFD-48FA-45D1-8423-031BA30BEAA1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A7A97BFD-48FA-45D1-8423-031BA30BEAA1}.Release|Any CPU.Build.0 = Release|Any CPU
+ {166E89F7-A505-45F2-B4CD-F345DE39030E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {166E89F7-A505-45F2-B4CD-F345DE39030E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {166E89F7-A505-45F2-B4CD-F345DE39030E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {166E89F7-A505-45F2-B4CD-F345DE39030E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {6E50143F-0982-4BCB-9D0E-FF5451AE8123}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6E50143F-0982-4BCB-9D0E-FF5451AE8123}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6E50143F-0982-4BCB-9D0E-FF5451AE8123}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6E50143F-0982-4BCB-9D0E-FF5451AE8123}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3622B544-1345-4230-ABC2-4902328DE971}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3622B544-1345-4230-ABC2-4902328DE971}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3622B544-1345-4230-ABC2-4902328DE971}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3622B544-1345-4230-ABC2-4902328DE971}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -486,6 +504,9 @@ Global
{6E6A7554-3488-45AB-BC0E-9BDE1F19789D} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{F79B6D80-C79B-4C13-9221-CA2345983743} = {37087D1B-3693-4E96-983D-A69F210BDE53}
{A7A97BFD-48FA-45D1-8423-031BA30BEAA1} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
+ {166E89F7-A505-45F2-B4CD-F345DE39030E} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
+ {6E50143F-0982-4BCB-9D0E-FF5451AE8123} = {37087D1B-3693-4E96-983D-A69F210BDE53}
+ {3622B544-1345-4230-ABC2-4902328DE971} = {37087D1B-3693-4E96-983D-A69F210BDE53}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {BB97ECF4-9A84-433F-A80B-2A3285BDD1D5}
diff --git a/src/Volo.Abp/Volo/Abp/Localization/AbpCultureHelper.cs b/src/Volo.Abp.Core/Volo/Abp/Localization/AbpCultureHelper.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Localization/AbpCultureHelper.cs
rename to src/Volo.Abp.Core/Volo/Abp/Localization/AbpCultureHelper.cs
diff --git a/src/Volo.Abp.Localization/Volo.Abp.Localization.csproj b/src/Volo.Abp.Localization/Volo.Abp.Localization.csproj
new file mode 100644
index 0000000000..2e4fc8289d
--- /dev/null
+++ b/src/Volo.Abp.Localization/Volo.Abp.Localization.csproj
@@ -0,0 +1,24 @@
+
+
+
+
+
+ netstandard2.0
+ Volo.Abp.Localization
+ Volo.Abp.Localization
+ $(AssetTargetFallback);portable-net45+win8+wp8+wpa81;
+ false
+ false
+ false
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Volo.Abp/Volo/Abp/Localization/AbpDictionaryBasedStringLocalizer.cs b/src/Volo.Abp.Localization/Volo/Abp/Localization/AbpDictionaryBasedStringLocalizer.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Localization/AbpDictionaryBasedStringLocalizer.cs
rename to src/Volo.Abp.Localization/Volo/Abp/Localization/AbpDictionaryBasedStringLocalizer.cs
diff --git a/src/Volo.Abp.Localization/Volo/Abp/Localization/AbpLocalizationModule.cs b/src/Volo.Abp.Localization/Volo/Abp/Localization/AbpLocalizationModule.cs
new file mode 100644
index 0000000000..368fcf2a83
--- /dev/null
+++ b/src/Volo.Abp.Localization/Volo/Abp/Localization/AbpLocalizationModule.cs
@@ -0,0 +1,21 @@
+using Microsoft.Extensions.DependencyInjection;
+using Volo.Abp.Localization.Resources.Validation;
+using Volo.Abp.Modularity;
+
+namespace Volo.Abp.Localization
+{
+ public class AbpLocalizationModule : AbpModule
+ {
+ public override void ConfigureServices(IServiceCollection services)
+ {
+ AbpStringLocalizerFactory.Replace(services);
+
+ services.Configure(options =>
+ {
+ options.Resources.AddJson("en");
+ });
+
+ services.AddAssemblyOf();
+ }
+ }
+}
diff --git a/src/Volo.Abp/Volo/Abp/Localization/AbpLocalizationOptions.cs b/src/Volo.Abp.Localization/Volo/Abp/Localization/AbpLocalizationOptions.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Localization/AbpLocalizationOptions.cs
rename to src/Volo.Abp.Localization/Volo/Abp/Localization/AbpLocalizationOptions.cs
diff --git a/src/Volo.Abp/Volo/Abp/Localization/AbpStringLocalizerFactory.cs b/src/Volo.Abp.Localization/Volo/Abp/Localization/AbpStringLocalizerFactory.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Localization/AbpStringLocalizerFactory.cs
rename to src/Volo.Abp.Localization/Volo/Abp/Localization/AbpStringLocalizerFactory.cs
diff --git a/src/Volo.Abp/Volo/Abp/Localization/IInheritedResourceTypesProvider.cs b/src/Volo.Abp.Localization/Volo/Abp/Localization/IInheritedResourceTypesProvider.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Localization/IInheritedResourceTypesProvider.cs
rename to src/Volo.Abp.Localization/Volo/Abp/Localization/IInheritedResourceTypesProvider.cs
diff --git a/src/Volo.Abp/Volo/Abp/Localization/ILocalizationDictionary.cs b/src/Volo.Abp.Localization/Volo/Abp/Localization/ILocalizationDictionary.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Localization/ILocalizationDictionary.cs
rename to src/Volo.Abp.Localization/Volo/Abp/Localization/ILocalizationDictionary.cs
diff --git a/src/Volo.Abp/Volo/Abp/Localization/ILocalizationDictionaryProvider.cs b/src/Volo.Abp.Localization/Volo/Abp/Localization/ILocalizationDictionaryProvider.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Localization/ILocalizationDictionaryProvider.cs
rename to src/Volo.Abp.Localization/Volo/Abp/Localization/ILocalizationDictionaryProvider.cs
diff --git a/src/Volo.Abp/Volo/Abp/Localization/InheritResourceAttribute.cs b/src/Volo.Abp.Localization/Volo/Abp/Localization/InheritResourceAttribute.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Localization/InheritResourceAttribute.cs
rename to src/Volo.Abp.Localization/Volo/Abp/Localization/InheritResourceAttribute.cs
diff --git a/src/Volo.Abp/Volo/Abp/Localization/Json/JsonEmbeddedFileLocalizationDictionaryProvider.cs b/src/Volo.Abp.Localization/Volo/Abp/Localization/Json/JsonEmbeddedFileLocalizationDictionaryProvider.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Localization/Json/JsonEmbeddedFileLocalizationDictionaryProvider.cs
rename to src/Volo.Abp.Localization/Volo/Abp/Localization/Json/JsonEmbeddedFileLocalizationDictionaryProvider.cs
diff --git a/src/Volo.Abp/Volo/Abp/Localization/Json/JsonLocalizationDictionaryBuilder.cs b/src/Volo.Abp.Localization/Volo/Abp/Localization/Json/JsonLocalizationDictionaryBuilder.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Localization/Json/JsonLocalizationDictionaryBuilder.cs
rename to src/Volo.Abp.Localization/Volo/Abp/Localization/Json/JsonLocalizationDictionaryBuilder.cs
diff --git a/src/Volo.Abp/Volo/Abp/Localization/Json/JsonLocalizationFile.cs b/src/Volo.Abp.Localization/Volo/Abp/Localization/Json/JsonLocalizationFile.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Localization/Json/JsonLocalizationFile.cs
rename to src/Volo.Abp.Localization/Volo/Abp/Localization/Json/JsonLocalizationFile.cs
diff --git a/src/Volo.Abp/Volo/Abp/Localization/LocalString.cs b/src/Volo.Abp.Localization/Volo/Abp/Localization/LocalString.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Localization/LocalString.cs
rename to src/Volo.Abp.Localization/Volo/Abp/Localization/LocalString.cs
diff --git a/src/Volo.Abp/Volo/Abp/Localization/LocalizationDictionary.cs b/src/Volo.Abp.Localization/Volo/Abp/Localization/LocalizationDictionary.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Localization/LocalizationDictionary.cs
rename to src/Volo.Abp.Localization/Volo/Abp/Localization/LocalizationDictionary.cs
diff --git a/src/Volo.Abp/Volo/Abp/Localization/LocalizationDictionaryProviderBase.cs b/src/Volo.Abp.Localization/Volo/Abp/Localization/LocalizationDictionaryProviderBase.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Localization/LocalizationDictionaryProviderBase.cs
rename to src/Volo.Abp.Localization/Volo/Abp/Localization/LocalizationDictionaryProviderBase.cs
diff --git a/src/Volo.Abp/Volo/Abp/Localization/LocalizationResource.cs b/src/Volo.Abp.Localization/Volo/Abp/Localization/LocalizationResource.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Localization/LocalizationResource.cs
rename to src/Volo.Abp.Localization/Volo/Abp/Localization/LocalizationResource.cs
diff --git a/src/Volo.Abp/Volo/Abp/Localization/LocalizationResourceDictionary.cs b/src/Volo.Abp.Localization/Volo/Abp/Localization/LocalizationResourceDictionary.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Localization/LocalizationResourceDictionary.cs
rename to src/Volo.Abp.Localization/Volo/Abp/Localization/LocalizationResourceDictionary.cs
diff --git a/src/Volo.Abp/Volo/Abp/Localization/LocalizationResourceExtensions.cs b/src/Volo.Abp.Localization/Volo/Abp/Localization/LocalizationResourceExtensions.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Localization/LocalizationResourceExtensions.cs
rename to src/Volo.Abp.Localization/Volo/Abp/Localization/LocalizationResourceExtensions.cs
diff --git a/src/Volo.Abp/Volo/Abp/Localization/LocalizationResourceInitializationContext.cs b/src/Volo.Abp.Localization/Volo/Abp/Localization/LocalizationResourceInitializationContext.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Localization/LocalizationResourceInitializationContext.cs
rename to src/Volo.Abp.Localization/Volo/Abp/Localization/LocalizationResourceInitializationContext.cs
diff --git a/src/Volo.Abp/Volo/Abp/Localization/LocalizationResourceListExtensions.cs b/src/Volo.Abp.Localization/Volo/Abp/Localization/LocalizationResourceListExtensions.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Localization/LocalizationResourceListExtensions.cs
rename to src/Volo.Abp.Localization/Volo/Abp/Localization/LocalizationResourceListExtensions.cs
diff --git a/src/Volo.Abp/Volo/Abp/Localization/Resources/Validation/IdentityResource.cs b/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/Validation/IdentityResource.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Localization/Resources/Validation/IdentityResource.cs
rename to src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/Validation/IdentityResource.cs
diff --git a/src/Volo.Abp/Volo/Abp/Localization/Resources/Validation/en.json b/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/Validation/en.json
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Localization/Resources/Validation/en.json
rename to src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/Validation/en.json
diff --git a/src/Volo.Abp/Volo/Abp/Localization/Resources/Validation/tr.json b/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/Validation/tr.json
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Localization/Resources/Validation/tr.json
rename to src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/Validation/tr.json
diff --git a/src/Volo.Abp/Volo/Abp/Localization/ShortLocalizationResourceNameAttribute.cs b/src/Volo.Abp.Localization/Volo/Abp/Localization/ShortLocalizationResourceNameAttribute.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Localization/ShortLocalizationResourceNameAttribute.cs
rename to src/Volo.Abp.Localization/Volo/Abp/Localization/ShortLocalizationResourceNameAttribute.cs
diff --git a/src/Volo.Abp.TestBase/AbpTestBaseModule.cs b/src/Volo.Abp.TestBase/AbpTestBaseModule.cs
index c705dc1885..859ccb3e72 100644
--- a/src/Volo.Abp.TestBase/AbpTestBaseModule.cs
+++ b/src/Volo.Abp.TestBase/AbpTestBaseModule.cs
@@ -2,7 +2,6 @@
namespace Volo.Abp.TestBase
{
- [DependsOn(typeof(AbpCommonModule))]
public class AbpTestBaseModule : AbpModule
{
diff --git a/src/Volo.Abp.TestBase/AbpTestBaseWithServiceProvider.cs b/src/Volo.Abp.TestBase/AbpTestBaseWithServiceProvider.cs
index 7d3fd77143..8a49f89dcc 100644
--- a/src/Volo.Abp.TestBase/AbpTestBaseWithServiceProvider.cs
+++ b/src/Volo.Abp.TestBase/AbpTestBaseWithServiceProvider.cs
@@ -1,94 +1,12 @@
using System;
-using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
-using Volo.Abp.Uow;
namespace Volo.Abp.TestBase
{
public abstract class AbpTestBaseWithServiceProvider
{
protected abstract IServiceProvider ServiceProvider { get; }
-
- protected virtual void WithUnitOfWork(Action action)
- {
- WithUnitOfWork(new UnitOfWorkOptions(), action);
- }
-
- protected virtual void WithUnitOfWork(UnitOfWorkOptions options, Action action)
- {
- using (var scope = ServiceProvider.CreateScope())
- {
- var uowManager = scope.ServiceProvider.GetRequiredService();
-
- using (var uow = uowManager.Begin(options))
- {
- action();
-
- uow.Complete();
- }
- }
- }
-
- protected virtual Task WithUnitOfWorkAsync(Func func)
- {
- return WithUnitOfWorkAsync(new UnitOfWorkOptions(), func);
- }
-
- protected virtual async Task WithUnitOfWorkAsync(UnitOfWorkOptions options, Func action)
- {
- using (var scope = ServiceProvider.CreateScope())
- {
- var uowManager = scope.ServiceProvider.GetRequiredService();
-
- using (var uow = uowManager.Begin(options))
- {
- await action();
-
- await uow.CompleteAsync();
- }
- }
- }
-
- protected virtual TResult WithUnitOfWork(Func func)
- {
- return WithUnitOfWork(new UnitOfWorkOptions(), func);
- }
-
- protected virtual TResult WithUnitOfWork(UnitOfWorkOptions options, Func func)
- {
- using (var scope = ServiceProvider.CreateScope())
- {
- var uowManager = scope.ServiceProvider.GetRequiredService();
-
- using (var uow = uowManager.Begin(options))
- {
- var result = func();
- uow.Complete();
- return result;
- }
- }
- }
-
- protected virtual Task WithUnitOfWorkAsync(Func> func)
- {
- return WithUnitOfWorkAsync(new UnitOfWorkOptions(), func);
- }
-
- protected virtual async Task WithUnitOfWorkAsync(UnitOfWorkOptions options, Func> func)
- {
- using (var scope = ServiceProvider.CreateScope())
- {
- var uowManager = scope.ServiceProvider.GetRequiredService();
-
- using (var uow = uowManager.Begin(options))
- {
- var result = await func();
- await uow.CompleteAsync();
- return result;
- }
- }
- }
-
+
protected virtual T GetService()
{
return ServiceProvider.GetService();
diff --git a/src/Volo.Abp.TestBase/Volo.Abp.TestBase.csproj b/src/Volo.Abp.TestBase/Volo.Abp.TestBase.csproj
index d79dde8391..4c814ffdd0 100644
--- a/src/Volo.Abp.TestBase/Volo.Abp.TestBase.csproj
+++ b/src/Volo.Abp.TestBase/Volo.Abp.TestBase.csproj
@@ -14,7 +14,7 @@
-
+
diff --git a/src/Volo.Abp/Volo.Abp.csproj b/src/Volo.Abp/Volo.Abp.csproj
index f2d2573019..12b3e2a791 100644
--- a/src/Volo.Abp/Volo.Abp.csproj
+++ b/src/Volo.Abp/Volo.Abp.csproj
@@ -13,16 +13,9 @@
-
-
-
-
-
-
-
-
+
diff --git a/src/Volo.Abp/Volo/Abp/AbpCommonModule.cs b/src/Volo.Abp/Volo/Abp/AbpCommonModule.cs
index 6a3c90662c..2f224f6faa 100644
--- a/src/Volo.Abp/Volo/Abp/AbpCommonModule.cs
+++ b/src/Volo.Abp/Volo/Abp/AbpCommonModule.cs
@@ -2,7 +2,6 @@
using Volo.Abp.ApiVersioning;
using Volo.Abp.Data;
using Volo.Abp.Localization;
-using Volo.Abp.Localization.Resources.Validation;
using Volo.Abp.Modularity;
using Volo.Abp.ObjectMapping;
using Volo.Abp.Reflection;
@@ -12,6 +11,7 @@ using Volo.Abp.Validation;
namespace Volo.Abp
{
+ [DependsOn(typeof(AbpLocalizationModule))]
public class AbpCommonModule : AbpModule
{
public override void PreConfigureServices(IServiceCollection services)
@@ -34,17 +34,10 @@ namespace Volo.Abp
public override void ConfigureServices(IServiceCollection services)
{
- AbpStringLocalizerFactory.Replace(services);
-
services.AddSingleton(NullCancellationTokenProvider.Instance);
services.AddSingleton(NullRequestedApiVersion.Instance);
services.AddSingleton(typeof(IDataFilter<>), typeof(DataFilter<>));
- services.Configure(options =>
- {
- options.Resources.AddJson("en");
- });
-
services.AddAssemblyOf();
}
}
diff --git a/test/Volo.Abp.Tests/Microsoft/Extensions/DependencyInjection/AbpConventionalDependencyInjectionExtensions_Tests.cs b/test/Volo.Abp.Core.Tests/Microsoft/Extensions/DependencyInjection/AbpConventionalDependencyInjectionExtensions_Tests.cs
similarity index 100%
rename from test/Volo.Abp.Tests/Microsoft/Extensions/DependencyInjection/AbpConventionalDependencyInjectionExtensions_Tests.cs
rename to test/Volo.Abp.Core.Tests/Microsoft/Extensions/DependencyInjection/AbpConventionalDependencyInjectionExtensions_Tests.cs
diff --git a/test/Volo.Abp.Tests/Microsoft/Extensions/DependencyInjection/ServiceCollectionShouldlyExtensions.cs b/test/Volo.Abp.Core.Tests/Microsoft/Extensions/DependencyInjection/ServiceCollectionShouldlyExtensions.cs
similarity index 100%
rename from test/Volo.Abp.Tests/Microsoft/Extensions/DependencyInjection/ServiceCollectionShouldlyExtensions.cs
rename to test/Volo.Abp.Core.Tests/Microsoft/Extensions/DependencyInjection/ServiceCollectionShouldlyExtensions.cs
diff --git a/test/Volo.Abp.Tests/System/ComparableExtensions_Tests.cs b/test/Volo.Abp.Core.Tests/System/ComparableExtensions_Tests.cs
similarity index 100%
rename from test/Volo.Abp.Tests/System/ComparableExtensions_Tests.cs
rename to test/Volo.Abp.Core.Tests/System/ComparableExtensions_Tests.cs
diff --git a/test/Volo.Abp.Tests/System/DayOfWeekExtensions_Tests.cs b/test/Volo.Abp.Core.Tests/System/DayOfWeekExtensions_Tests.cs
similarity index 100%
rename from test/Volo.Abp.Tests/System/DayOfWeekExtensions_Tests.cs
rename to test/Volo.Abp.Core.Tests/System/DayOfWeekExtensions_Tests.cs
diff --git a/test/Volo.Abp.Tests/System/ObjectExtension_Test.cs b/test/Volo.Abp.Core.Tests/System/ObjectExtension_Test.cs
similarity index 100%
rename from test/Volo.Abp.Tests/System/ObjectExtension_Test.cs
rename to test/Volo.Abp.Core.Tests/System/ObjectExtension_Test.cs
diff --git a/test/Volo.Abp.Tests/System/StringExtensions_Tests.cs b/test/Volo.Abp.Core.Tests/System/StringExtensions_Tests.cs
similarity index 100%
rename from test/Volo.Abp.Tests/System/StringExtensions_Tests.cs
rename to test/Volo.Abp.Core.Tests/System/StringExtensions_Tests.cs
diff --git a/test/Volo.Abp.Core.Tests/Volo.Abp.Core.Tests.csproj b/test/Volo.Abp.Core.Tests/Volo.Abp.Core.Tests.csproj
new file mode 100644
index 0000000000..a1f7c7c172
--- /dev/null
+++ b/test/Volo.Abp.Core.Tests/Volo.Abp.Core.Tests.csproj
@@ -0,0 +1,23 @@
+
+
+
+ netcoreapp2.0
+ Volo.Abp.Core.Tests
+ Volo.Abp.Core.Tests
+ true
+ false
+ false
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/Volo.Abp.Tests/Volo/Abp/AbpApplication_Initialize_Tests.cs b/test/Volo.Abp.Core.Tests/Volo/Abp/AbpApplication_Initialize_Tests.cs
similarity index 100%
rename from test/Volo.Abp.Tests/Volo/Abp/AbpApplication_Initialize_Tests.cs
rename to test/Volo.Abp.Core.Tests/Volo/Abp/AbpApplication_Initialize_Tests.cs
diff --git a/test/Volo.Abp.Tests/Volo/Abp/DependencyInjection/AutoRegistrationHelper_Tests.cs b/test/Volo.Abp.Core.Tests/Volo/Abp/DependencyInjection/AutoRegistrationHelper_Tests.cs
similarity index 100%
rename from test/Volo.Abp.Tests/Volo/Abp/DependencyInjection/AutoRegistrationHelper_Tests.cs
rename to test/Volo.Abp.Core.Tests/Volo/Abp/DependencyInjection/AutoRegistrationHelper_Tests.cs
diff --git a/test/Volo.Abp.Tests/Volo/Abp/DependencyInjection/ConventionalRegistrar_Test.cs b/test/Volo.Abp.Core.Tests/Volo/Abp/DependencyInjection/ConventionalRegistrar_Test.cs
similarity index 100%
rename from test/Volo.Abp.Tests/Volo/Abp/DependencyInjection/ConventionalRegistrar_Test.cs
rename to test/Volo.Abp.Core.Tests/Volo/Abp/DependencyInjection/ConventionalRegistrar_Test.cs
diff --git a/test/Volo.Abp.Tests/Volo/Abp/DependencyInjection/DependencyInjection_Tests.cs b/test/Volo.Abp.Core.Tests/Volo/Abp/DependencyInjection/DependencyInjection_Tests.cs
similarity index 100%
rename from test/Volo.Abp.Tests/Volo/Abp/DependencyInjection/DependencyInjection_Tests.cs
rename to test/Volo.Abp.Core.Tests/Volo/Abp/DependencyInjection/DependencyInjection_Tests.cs
diff --git a/test/Volo.Abp.Tests/Volo/Abp/Modularity/IndependentEmptyModule.cs b/test/Volo.Abp.Core.Tests/Volo/Abp/Modularity/IndependentEmptyModule.cs
similarity index 73%
rename from test/Volo.Abp.Tests/Volo/Abp/Modularity/IndependentEmptyModule.cs
rename to test/Volo.Abp.Core.Tests/Volo/Abp/Modularity/IndependentEmptyModule.cs
index 5112dc4d40..9f4fca906a 100644
--- a/test/Volo.Abp.Tests/Volo/Abp/Modularity/IndependentEmptyModule.cs
+++ b/test/Volo.Abp.Core.Tests/Volo/Abp/Modularity/IndependentEmptyModule.cs
@@ -1,6 +1,5 @@
namespace Volo.Abp.Modularity
{
- [DependsOn(typeof(AbpCommonModule))]
public class IndependentEmptyModule : TestModuleBase
{
diff --git a/test/Volo.Abp.Tests/Volo/Abp/Modularity/IndependentEmptyPlugInModule.cs b/test/Volo.Abp.Core.Tests/Volo/Abp/Modularity/IndependentEmptyPlugInModule.cs
similarity index 100%
rename from test/Volo.Abp.Tests/Volo/Abp/Modularity/IndependentEmptyPlugInModule.cs
rename to test/Volo.Abp.Core.Tests/Volo/Abp/Modularity/IndependentEmptyPlugInModule.cs
diff --git a/test/Volo.Abp.Tests/Volo/Abp/Modularity/ModuleLoader_Tests.cs b/test/Volo.Abp.Core.Tests/Volo/Abp/Modularity/ModuleLoader_Tests.cs
similarity index 72%
rename from test/Volo.Abp.Tests/Volo/Abp/Modularity/ModuleLoader_Tests.cs
rename to test/Volo.Abp.Core.Tests/Volo/Abp/Modularity/ModuleLoader_Tests.cs
index f062af8981..f9463189b1 100644
--- a/test/Volo.Abp.Tests/Volo/Abp/Modularity/ModuleLoader_Tests.cs
+++ b/test/Volo.Abp.Core.Tests/Volo/Abp/Modularity/ModuleLoader_Tests.cs
@@ -12,14 +12,12 @@ namespace Volo.Abp.Modularity
{
var moduleLoader = new ModuleLoader();
var modules = moduleLoader.LoadModules(new ServiceCollection(), typeof(MyStartupModule), new PlugInSourceList());
- modules.Length.ShouldBe(3);
- modules[0].Type.ShouldBe(typeof(AbpCommonModule));
- modules[1].Type.ShouldBe(typeof(IndependentEmptyModule));
- modules[2].Type.ShouldBe(typeof(MyStartupModule));
+ modules.Length.ShouldBe(2);
+ modules[0].Type.ShouldBe(typeof(IndependentEmptyModule));
+ modules[1].Type.ShouldBe(typeof(MyStartupModule));
}
[DependsOn(typeof(IndependentEmptyModule))]
- [DependsOn(typeof(AbpCommonModule))]
public class MyStartupModule : IAbpModule
{
public void ConfigureServices(IServiceCollection services)
diff --git a/test/Volo.Abp.Tests/Volo/Abp/Modularity/TestModuleBase.cs b/test/Volo.Abp.Core.Tests/Volo/Abp/Modularity/TestModuleBase.cs
similarity index 100%
rename from test/Volo.Abp.Tests/Volo/Abp/Modularity/TestModuleBase.cs
rename to test/Volo.Abp.Core.Tests/Volo/Abp/Modularity/TestModuleBase.cs
diff --git a/test/Volo.Abp.Tests/Volo/Abp/Reflection/AssemblyFinder_Tests.cs b/test/Volo.Abp.Core.Tests/Volo/Abp/Reflection/AssemblyFinder_Tests.cs
similarity index 94%
rename from test/Volo.Abp.Tests/Volo/Abp/Reflection/AssemblyFinder_Tests.cs
rename to test/Volo.Abp.Core.Tests/Volo/Abp/Reflection/AssemblyFinder_Tests.cs
index 367b0aac8b..52cff38b63 100644
--- a/test/Volo.Abp.Tests/Volo/Abp/Reflection/AssemblyFinder_Tests.cs
+++ b/test/Volo.Abp.Core.Tests/Volo/Abp/Reflection/AssemblyFinder_Tests.cs
@@ -13,7 +13,6 @@ namespace Volo.Abp.Reflection
[Theory]
[InlineData(new object[] { new Type[] { } })]
[InlineData(new object[] { new[] { typeof(IndependentEmptyModule) } })]
- [InlineData(new object[] { new[] { typeof(AbpCommonModule), typeof(IndependentEmptyModule) } })]
public void Should_Get_Assemblies_Of_Given_Modules(Type[] moduleTypes)
{
//Arrange
diff --git a/test/Volo.Abp.Tests/Volo/Abp/Reflection/TypeFinder_Tests.cs b/test/Volo.Abp.Core.Tests/Volo/Abp/Reflection/TypeFinder_Tests.cs
similarity index 85%
rename from test/Volo.Abp.Tests/Volo/Abp/Reflection/TypeFinder_Tests.cs
rename to test/Volo.Abp.Core.Tests/Volo/Abp/Reflection/TypeFinder_Tests.cs
index 48242b4285..ddbcf7efee 100644
--- a/test/Volo.Abp.Tests/Volo/Abp/Reflection/TypeFinder_Tests.cs
+++ b/test/Volo.Abp.Core.Tests/Volo/Abp/Reflection/TypeFinder_Tests.cs
@@ -16,7 +16,6 @@ namespace Volo.Abp.Reflection
var fakeAssemblyFinder = Substitute.For();
fakeAssemblyFinder.Assemblies.Returns(new List
{
- typeof(AbpCommonModule).Assembly,
typeof(TypeFinder_Tests).Assembly
});
@@ -26,7 +25,6 @@ namespace Volo.Abp.Reflection
//Assert
- typeFinder.Types.ShouldContain(typeof(AbpCommonModule));
typeFinder.Types.ShouldContain(typeof(TypeFinder_Tests));
}
}
diff --git a/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/EntityFrameworkCore/EntityFrameworkCoreTestBase.cs b/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/EntityFrameworkCore/EntityFrameworkCoreTestBase.cs
index b773962a16..d848a03cb8 100644
--- a/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/EntityFrameworkCore/EntityFrameworkCoreTestBase.cs
+++ b/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/EntityFrameworkCore/EntityFrameworkCoreTestBase.cs
@@ -1,4 +1,8 @@
-using Volo.Abp.TestBase;
+using System;
+using System.Threading.Tasks;
+using Microsoft.Extensions.DependencyInjection;
+using Volo.Abp.TestBase;
+using Volo.Abp.Uow;
namespace Volo.Abp.EntityFrameworkCore
{
@@ -8,5 +12,91 @@ namespace Volo.Abp.EntityFrameworkCore
{
options.UseAutofac();
}
+
+ //TODO: Move WithUnitOfWork to a common place
+
+ #region WithUnitOfWork
+
+ protected virtual void WithUnitOfWork(Action action)
+ {
+ WithUnitOfWork(new UnitOfWorkOptions(), action);
+ }
+
+ protected virtual void WithUnitOfWork(UnitOfWorkOptions options, Action action)
+ {
+ using (var scope = ServiceProvider.CreateScope())
+ {
+ var uowManager = scope.ServiceProvider.GetRequiredService();
+
+ using (var uow = uowManager.Begin(options))
+ {
+ action();
+
+ uow.Complete();
+ }
+ }
+ }
+
+ protected virtual Task WithUnitOfWorkAsync(Func func)
+ {
+ return WithUnitOfWorkAsync(new UnitOfWorkOptions(), func);
+ }
+
+ protected virtual async Task WithUnitOfWorkAsync(UnitOfWorkOptions options, Func action)
+ {
+ using (var scope = ServiceProvider.CreateScope())
+ {
+ var uowManager = scope.ServiceProvider.GetRequiredService();
+
+ using (var uow = uowManager.Begin(options))
+ {
+ await action();
+
+ await uow.CompleteAsync();
+ }
+ }
+ }
+
+ protected virtual TResult WithUnitOfWork(Func func)
+ {
+ return WithUnitOfWork(new UnitOfWorkOptions(), func);
+ }
+
+ protected virtual TResult WithUnitOfWork(UnitOfWorkOptions options, Func func)
+ {
+ using (var scope = ServiceProvider.CreateScope())
+ {
+ var uowManager = scope.ServiceProvider.GetRequiredService();
+
+ using (var uow = uowManager.Begin(options))
+ {
+ var result = func();
+ uow.Complete();
+ return result;
+ }
+ }
+ }
+
+ protected virtual Task WithUnitOfWorkAsync(Func> func)
+ {
+ return WithUnitOfWorkAsync(new UnitOfWorkOptions(), func);
+ }
+
+ protected virtual async Task WithUnitOfWorkAsync(UnitOfWorkOptions options, Func> func)
+ {
+ using (var scope = ServiceProvider.CreateScope())
+ {
+ var uowManager = scope.ServiceProvider.GetRequiredService();
+
+ using (var uow = uowManager.Begin(options))
+ {
+ var result = await func();
+ await uow.CompleteAsync();
+ return result;
+ }
+ }
+ }
+
+ #endregion
}
}
diff --git a/test/Volo.Abp.Localization.Tests/Volo.Abp.Localization.Tests.csproj b/test/Volo.Abp.Localization.Tests/Volo.Abp.Localization.Tests.csproj
new file mode 100644
index 0000000000..d6c1ab7c03
--- /dev/null
+++ b/test/Volo.Abp.Localization.Tests/Volo.Abp.Localization.Tests.csproj
@@ -0,0 +1,27 @@
+
+
+
+ netcoreapp2.0
+ Volo.Abp.Localization.Tests
+ Volo.Abp.Localization.Tests
+ true
+ false
+ false
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/Volo.Abp.Tests/Volo/Abp/Localization/AbpLocalization_Tests.cs b/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/AbpLocalization_Tests.cs
similarity index 98%
rename from test/Volo.Abp.Tests/Volo/Abp/Localization/AbpLocalization_Tests.cs
rename to test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/AbpLocalization_Tests.cs
index 93a0a14bae..d992b7185b 100644
--- a/test/Volo.Abp.Tests/Volo/Abp/Localization/AbpLocalization_Tests.cs
+++ b/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/AbpLocalization_Tests.cs
@@ -104,6 +104,7 @@ namespace Volo.Abp.Localization
}
[DependsOn(typeof(AbpTestBaseModule))]
+ [DependsOn(typeof(AbpLocalizationModule))]
public class TestModule : AbpModule
{
public override void ConfigureServices(IServiceCollection services)
diff --git a/test/Volo.Abp.Tests/Volo/Abp/Localization/Base/CountryNames/LocalizationTestCountryNamesResource.cs b/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/Base/CountryNames/LocalizationTestCountryNamesResource.cs
similarity index 100%
rename from test/Volo.Abp.Tests/Volo/Abp/Localization/Base/CountryNames/LocalizationTestCountryNamesResource.cs
rename to test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/Base/CountryNames/LocalizationTestCountryNamesResource.cs
diff --git a/test/Volo.Abp.Tests/Volo/Abp/Localization/Base/CountryNames/en.json b/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/Base/CountryNames/en.json
similarity index 100%
rename from test/Volo.Abp.Tests/Volo/Abp/Localization/Base/CountryNames/en.json
rename to test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/Base/CountryNames/en.json
diff --git a/test/Volo.Abp.Tests/Volo/Abp/Localization/Base/CountryNames/tr.json b/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/Base/CountryNames/tr.json
similarity index 100%
rename from test/Volo.Abp.Tests/Volo/Abp/Localization/Base/CountryNames/tr.json
rename to test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/Base/CountryNames/tr.json
diff --git a/test/Volo.Abp.Tests/Volo/Abp/Localization/Base/Validation/LocalizationTestValidationResource.cs b/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/Base/Validation/LocalizationTestValidationResource.cs
similarity index 100%
rename from test/Volo.Abp.Tests/Volo/Abp/Localization/Base/Validation/LocalizationTestValidationResource.cs
rename to test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/Base/Validation/LocalizationTestValidationResource.cs
diff --git a/test/Volo.Abp.Tests/Volo/Abp/Localization/Base/Validation/en.json b/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/Base/Validation/en.json
similarity index 100%
rename from test/Volo.Abp.Tests/Volo/Abp/Localization/Base/Validation/en.json
rename to test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/Base/Validation/en.json
diff --git a/test/Volo.Abp.Tests/Volo/Abp/Localization/Source/LocalizationTestResource.cs b/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/Source/LocalizationTestResource.cs
similarity index 100%
rename from test/Volo.Abp.Tests/Volo/Abp/Localization/Source/LocalizationTestResource.cs
rename to test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/Source/LocalizationTestResource.cs
diff --git a/test/Volo.Abp.Tests/Volo/Abp/Localization/Source/en.json b/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/Source/en.json
similarity index 100%
rename from test/Volo.Abp.Tests/Volo/Abp/Localization/Source/en.json
rename to test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/Source/en.json
diff --git a/test/Volo.Abp.Tests/Volo/Abp/Localization/Source/tr.json b/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/Source/tr.json
similarity index 100%
rename from test/Volo.Abp.Tests/Volo/Abp/Localization/Source/tr.json
rename to test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/Source/tr.json
diff --git a/test/Volo.Abp.Tests/Volo/Abp/Localization/SourceExt/SourceExt.cs b/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/SourceExt/SourceExt.cs
similarity index 100%
rename from test/Volo.Abp.Tests/Volo/Abp/Localization/SourceExt/SourceExt.cs
rename to test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/SourceExt/SourceExt.cs
diff --git a/test/Volo.Abp.Tests/Volo/Abp/Localization/SourceExt/en.json b/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/SourceExt/en.json
similarity index 100%
rename from test/Volo.Abp.Tests/Volo/Abp/Localization/SourceExt/en.json
rename to test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/SourceExt/en.json
diff --git a/test/Volo.Abp.Tests/Volo/Abp/Localization/SourceExt/it.json b/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/SourceExt/it.json
similarity index 100%
rename from test/Volo.Abp.Tests/Volo/Abp/Localization/SourceExt/it.json
rename to test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/SourceExt/it.json
diff --git a/test/Volo.Abp.Tests/Volo.Abp.Tests.csproj b/test/Volo.Abp.Tests/Volo.Abp.Tests.csproj
index e4eaaedf1b..b8012353ee 100644
--- a/test/Volo.Abp.Tests/Volo.Abp.Tests.csproj
+++ b/test/Volo.Abp.Tests/Volo.Abp.Tests.csproj
@@ -11,14 +11,11 @@
-
-
-
-
+
diff --git a/test/Volo.Abp.Tests/Volo/Abp/Uow/UnitOfWork_Ambient_Scope_Tests.cs b/test/Volo.Abp.Tests/Volo/Abp/Uow/UnitOfWork_Ambient_Scope_Tests.cs
index 3aa6e15b81..3d74d14675 100644
--- a/test/Volo.Abp.Tests/Volo/Abp/Uow/UnitOfWork_Ambient_Scope_Tests.cs
+++ b/test/Volo.Abp.Tests/Volo/Abp/Uow/UnitOfWork_Ambient_Scope_Tests.cs
@@ -7,7 +7,7 @@ using Xunit;
namespace Volo.Abp.Uow
{
- public class UnitOfWork_Ambient_Scope_Tests : AbpIntegratedTest
+ public class UnitOfWork_Ambient_Scope_Tests : AbpIntegratedTest
{
private readonly IUnitOfWorkManager _unitOfWorkManager;
diff --git a/test/Volo.Abp.Tests/Volo/Abp/Uow/UnitOfWork_Events_Tests.cs b/test/Volo.Abp.Tests/Volo/Abp/Uow/UnitOfWork_Events_Tests.cs
index 69e08159c2..fe8b087107 100644
--- a/test/Volo.Abp.Tests/Volo/Abp/Uow/UnitOfWork_Events_Tests.cs
+++ b/test/Volo.Abp.Tests/Volo/Abp/Uow/UnitOfWork_Events_Tests.cs
@@ -7,7 +7,7 @@ using Xunit;
namespace Volo.Abp.Uow
{
- public class UnitOfWork_Events_Tests : AbpIntegratedTest
+ public class UnitOfWork_Events_Tests : AbpIntegratedTest
{
private readonly IUnitOfWorkManager _unitOfWorkManager;
diff --git a/test/Volo.Abp.Tests/Volo/Abp/Uow/UnitOfWork_Nested_Tests.cs b/test/Volo.Abp.Tests/Volo/Abp/Uow/UnitOfWork_Nested_Tests.cs
index e3f2e9a0c0..b8732b7bdd 100644
--- a/test/Volo.Abp.Tests/Volo/Abp/Uow/UnitOfWork_Nested_Tests.cs
+++ b/test/Volo.Abp.Tests/Volo/Abp/Uow/UnitOfWork_Nested_Tests.cs
@@ -7,7 +7,7 @@ using Xunit;
namespace Volo.Abp.Uow
{
- public class UnitOfWork_Nested_Tests : AbpIntegratedTest
+ public class UnitOfWork_Nested_Tests : AbpIntegratedTest
{
private readonly IUnitOfWorkManager _unitOfWorkManager;