diff --git a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme/wwwroot/theme.js b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme/wwwroot/theme.js
deleted file mode 100644
index 8a5b94c7c6..0000000000
--- a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme/wwwroot/theme.js
+++ /dev/null
@@ -1,16 +0,0 @@
-$(function () {
- $('.dropdown-menu a.dropdown-toggle').on('click', function (e) {
- if (!$(this).next().hasClass('show')) {
- $(this).parents('.dropdown-menu').first().find('.show').removeClass("show");
- }
-
- var $subMenu = $(this).next(".dropdown-menu");
- $subMenu.toggleClass('show');
-
- $(this).parents('li.nav-item.dropdown.show').on('hidden.bs.dropdown', function (e) {
- $('.dropdown-submenu .show').removeClass("show");
- });
-
- return false;
- });
-});
\ No newline at end of file
diff --git a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Volo.Abp.AspNetCore.Components.WebAssembly.csproj b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Volo.Abp.AspNetCore.Components.WebAssembly.csproj
index 44a816678c..b7aa91c74e 100644
--- a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Volo.Abp.AspNetCore.Components.WebAssembly.csproj
+++ b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Volo.Abp.AspNetCore.Components.WebAssembly.csproj
@@ -1,4 +1,4 @@
-
+
diff --git a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Volo/Abp/AspNetCore/Components/WebAssembly/CookieOptions.cs b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Volo/Abp/AspNetCore/Components/WebAssembly/CookieOptions.cs
new file mode 100644
index 0000000000..929995fa05
--- /dev/null
+++ b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Volo/Abp/AspNetCore/Components/WebAssembly/CookieOptions.cs
@@ -0,0 +1,11 @@
+using System;
+
+namespace Volo.Abp.AspNetCore.Components.WebAssembly
+{
+ public class CookieOptions
+ {
+ public DateTimeOffset? ExpireDate { get; set; }
+ public string Path { get; set; }
+ public bool Secure { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Volo/Abp/AspNetCore/Components/WebAssembly/CookieService.cs b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Volo/Abp/AspNetCore/Components/WebAssembly/CookieService.cs
new file mode 100644
index 0000000000..c0dc94ebfa
--- /dev/null
+++ b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Volo/Abp/AspNetCore/Components/WebAssembly/CookieService.cs
@@ -0,0 +1,32 @@
+using System.Threading.Tasks;
+using Microsoft.JSInterop;
+using Volo.Abp.DependencyInjection;
+
+namespace Volo.Abp.AspNetCore.Components.WebAssembly
+{
+ [Dependency(ReplaceServices = true)]
+ public class CookieService : ICookieService, ITransientDependency
+ {
+ public IJSRuntime JsRuntime { get; }
+
+ public CookieService(IJSRuntime jsRuntime)
+ {
+ JsRuntime = jsRuntime;
+ }
+
+ public async ValueTask SetAsync(string key, string value, CookieOptions options)
+ {
+ await JsRuntime.InvokeVoidAsync("abp.utils.setCookieValue", key, value, options?.ExpireDate?.ToString("r"), options?.Path, options?.Secure);
+ }
+
+ public async ValueTask GetAsync(string key)
+ {
+ return await JsRuntime.InvokeAsync("abp.utils.getCookieValue", key);
+ }
+
+ public async ValueTask DeleteAsync(string key, string path = null)
+ {
+ await JsRuntime.InvokeVoidAsync("abp.utils.deleteCookie", key);
+ }
+ }
+}
\ No newline at end of file
diff --git a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Volo/Abp/AspNetCore/Components/WebAssembly/ICookieService.cs b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Volo/Abp/AspNetCore/Components/WebAssembly/ICookieService.cs
new file mode 100644
index 0000000000..21254c9da5
--- /dev/null
+++ b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Volo/Abp/AspNetCore/Components/WebAssembly/ICookieService.cs
@@ -0,0 +1,12 @@
+using System;
+using System.Threading.Tasks;
+
+namespace Volo.Abp.AspNetCore.Components.WebAssembly
+{
+ public interface ICookieService
+ {
+ public ValueTask SetAsync(string key, string value, CookieOptions options = null);
+ public ValueTask GetAsync(string key);
+ public ValueTask DeleteAsync(string key, string path = null);
+ }
+}
\ No newline at end of file
diff --git a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/wwwroot/abp.js b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/wwwroot/abp.js
new file mode 100644
index 0000000000..b945daa56f
--- /dev/null
+++ b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/wwwroot/abp.js
@@ -0,0 +1,80 @@
+var abp = abp || {};
+(function () {
+ abp.utils = abp.utils || {};
+ /**
+ * Sets a cookie value for given key.
+ * This is a simple implementation created to be used by ABP.
+ * Please use a complete cookie library if you need.
+ * @param {string} key
+ * @param {string} value
+ * @param {string} expireDate (optional). If not specified the cookie will expire at the end of session.
+ * @param {string} path (optional)
+ * @param {bool} secure (optional)
+ */
+ abp.utils.setCookieValue = function (key, value, expireDate, path, secure) {
+ var cookieValue = encodeURIComponent(key) + '=';
+ if (value) {
+ cookieValue = cookieValue + encodeURIComponent(value);
+ }
+
+ if (expireDate) {
+ cookieValue = cookieValue + "; expires=" + expireDate;
+ }
+
+ if (path) {
+ cookieValue = cookieValue + "; path=" + path;
+ }
+
+ if (secure) {
+ cookieValue = cookieValue + "; secure";
+ }
+
+ document.cookie = cookieValue;
+ };
+
+ /**
+ * Gets a cookie with given key.
+ * This is a simple implementation created to be used by ABP.
+ * Please use a complete cookie library if you need.
+ * @param {string} key
+ * @returns {string} Cookie value or null
+ */
+ abp.utils.getCookieValue = function (key) {
+ var equalities = document.cookie.split('; ');
+ for (var i = 0; i < equalities.length; i++) {
+ if (!equalities[i]) {
+ continue;
+ }
+
+ var splitted = equalities[i].split('=');
+ if (splitted.length != 2) {
+ continue;
+ }
+
+ if (decodeURIComponent(splitted[0]) === key) {
+ return decodeURIComponent(splitted[1] || '');
+ }
+ }
+
+ return null;
+ };
+
+ /**
+ * Deletes cookie for given key.
+ * This is a simple implementation created to be used by ABP.
+ * Please use a complete cookie library if you need.
+ * @param {string} key
+ * @param {string} path (optional)
+ */
+ abp.utils.deleteCookie = function (key, path) {
+ var cookieValue = encodeURIComponent(key) + '=';
+
+ cookieValue = cookieValue + "; expires=" + (new Date(new Date().getTime() - 86400000)).toUTCString();
+
+ if (path) {
+ cookieValue = cookieValue + "; path=" + path;
+ }
+
+ document.cookie = cookieValue;
+ }
+})();
\ No newline at end of file
diff --git a/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs b/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs
index 8723209c53..ffbb62ba04 100644
--- a/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs
+++ b/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs
@@ -184,6 +184,7 @@ namespace Volo.Abp.BlazoriseUI
protected TUpdateViewModel EditingEntity;
protected Modal CreateModal;
protected Modal EditModal;
+ protected List BreadcrumbItems = new List(2);
protected string CreatePolicyName { get; set; }
protected string UpdatePolicyName { get; set; }
@@ -239,6 +240,7 @@ namespace Volo.Abp.BlazoriseUI
protected override async Task OnInitializedAsync()
{
+ await SetBreadcrumbItemsAsync();
await SetPermissionsAsync();
await GetEntitiesAsync();
}
@@ -438,5 +440,10 @@ namespace Volo.Abp.BlazoriseUI
await AuthorizationService.CheckAsync(policyName);
}
+
+ protected virtual ValueTask SetBreadcrumbItemsAsync()
+ {
+ return ValueTask.CompletedTask;
+ }
}
}
diff --git a/framework/src/Volo.Abp.BlazoriseUI/BreadcrumbItem.cs b/framework/src/Volo.Abp.BlazoriseUI/BreadcrumbItem.cs
new file mode 100644
index 0000000000..36417e122a
--- /dev/null
+++ b/framework/src/Volo.Abp.BlazoriseUI/BreadcrumbItem.cs
@@ -0,0 +1,20 @@
+using Blazorise;
+
+namespace Volo.Abp.BlazoriseUI
+{
+ public class BreadcrumbItem
+ {
+ public string Text { get; set; }
+
+ public object Icon { get; set; }
+
+ public string Url { get; set; }
+
+ public BreadcrumbItem(string text, string url = null, object icon = null)
+ {
+ Text = text;
+ Url = url;
+ Icon = icon;
+ }
+ }
+}
diff --git a/framework/src/Volo.Abp.BlazoriseUI/Components/PageHeader.razor b/framework/src/Volo.Abp.BlazoriseUI/Components/PageHeader.razor
new file mode 100644
index 0000000000..4a569cfe95
--- /dev/null
+++ b/framework/src/Volo.Abp.BlazoriseUI/Components/PageHeader.razor
@@ -0,0 +1,37 @@
+
+
+
+
+ @if (BreadcrumbItems.Any())
+ {
+
+
+ @if (BreadcrumbShowHome)
+ {
+
+
+
+
+
+ }
+ @foreach (var item in BreadcrumbItems)
+ {
+
+
+ @if (item.Icon != null)
+ {
+
+ }
+ @item.Text
+
+
+ }
+
+
+ }
+
+
+ @ChildContent
+
+
+
\ No newline at end of file
diff --git a/framework/src/Volo.Abp.BlazoriseUI/Components/PageHeader.razor.cs b/framework/src/Volo.Abp.BlazoriseUI/Components/PageHeader.razor.cs
new file mode 100644
index 0000000000..90e4b0f0c7
--- /dev/null
+++ b/framework/src/Volo.Abp.BlazoriseUI/Components/PageHeader.razor.cs
@@ -0,0 +1,29 @@
+using System.Collections.Generic;
+using Blazorise;
+using Microsoft.AspNetCore.Components;
+
+namespace Volo.Abp.BlazoriseUI.Components
+{
+ public partial class PageHeader : ComponentBase
+ {
+ [Parameter]
+ public string Title { get; set; }
+
+ [Parameter]
+ public bool BreadcrumbShowHome { get; set; } = true;
+
+ [Parameter]
+ public bool BreadcrumbShowCurrent { get; set; } = true;
+
+ [Parameter]
+ public RenderFragment ChildContent { get; set; }
+
+ [Parameter]
+ public List BreadcrumbItems { get; set; }
+
+ public PageHeader()
+ {
+ BreadcrumbItems = new List();
+ }
+ }
+}
diff --git a/framework/test/Volo.Abp.MongoDB.Tests/Volo.Abp.MongoDB.Tests.csproj b/framework/test/Volo.Abp.MongoDB.Tests/Volo.Abp.MongoDB.Tests.csproj
index 39cff60ed5..3d0d708c22 100644
--- a/framework/test/Volo.Abp.MongoDB.Tests/Volo.Abp.MongoDB.Tests.csproj
+++ b/framework/test/Volo.Abp.MongoDB.Tests/Volo.Abp.MongoDB.Tests.csproj
@@ -15,7 +15,7 @@
-
+
diff --git a/framework/test/Volo.Abp.MongoDB.Tests/Volo/Abp/MongoDB/AbpMongoDbTestModule.cs b/framework/test/Volo.Abp.MongoDB.Tests/Volo/Abp/MongoDB/AbpMongoDbTestModule.cs
index 8ec0b026cd..e580c6fce6 100644
--- a/framework/test/Volo.Abp.MongoDB.Tests/Volo/Abp/MongoDB/AbpMongoDbTestModule.cs
+++ b/framework/test/Volo.Abp.MongoDB.Tests/Volo/Abp/MongoDB/AbpMongoDbTestModule.cs
@@ -21,9 +21,10 @@ namespace Volo.Abp.MongoDB
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
- var connectionString = MongoDbFixture.ConnectionString.EnsureEndsWith('/') +
- "Db_" +
- Guid.NewGuid().ToString("N");
+ var stringArray = MongoDbFixture.ConnectionString.Split('?');
+ var connectionString = stringArray[0].EnsureEndsWith('/') +
+ "Db_" +
+ Guid.NewGuid().ToString("N") + "/?" + stringArray[1];
Configure(options =>
{
@@ -35,11 +36,6 @@ namespace Volo.Abp.MongoDB
options.AddDefaultRepositories();
options.AddRepository();
});
-
- Configure(options =>
- {
- options.TransactionBehavior = UnitOfWorkTransactionBehavior.Disabled;
- });
}
}
}
diff --git a/framework/test/Volo.Abp.MongoDB.Tests/Volo/Abp/MongoDB/MongoDbFixture.cs b/framework/test/Volo.Abp.MongoDB.Tests/Volo/Abp/MongoDB/MongoDbFixture.cs
index 3fa239ebbb..259d608a86 100644
--- a/framework/test/Volo.Abp.MongoDB.Tests/Volo/Abp/MongoDB/MongoDbFixture.cs
+++ b/framework/test/Volo.Abp.MongoDB.Tests/Volo/Abp/MongoDB/MongoDbFixture.cs
@@ -10,7 +10,7 @@ namespace Volo.Abp.MongoDB
static MongoDbFixture()
{
- MongoDbRunner = MongoDbRunner.Start();
+ MongoDbRunner = MongoDbRunner.Start(singleNodeReplSet: true, singleNodeReplSetWaitTimeout: 20);
ConnectionString = MongoDbRunner.ConnectionString;
}
diff --git a/framework/test/Volo.Abp.MongoDB.Tests/Volo/Abp/MongoDB/Transactions/Transaction_Tests.cs b/framework/test/Volo.Abp.MongoDB.Tests/Volo/Abp/MongoDB/Transactions/Transaction_Tests.cs
new file mode 100644
index 0000000000..882c849936
--- /dev/null
+++ b/framework/test/Volo.Abp.MongoDB.Tests/Volo/Abp/MongoDB/Transactions/Transaction_Tests.cs
@@ -0,0 +1,90 @@
+using System;
+using System.Threading.Tasks;
+using Microsoft.Extensions.DependencyInjection;
+using Shouldly;
+using Volo.Abp.Domain.Repositories;
+using Volo.Abp.TestApp.Domain;
+using Volo.Abp.TestApp.Testing;
+using Volo.Abp.Uow;
+using Xunit;
+
+namespace Volo.Abp.MongoDB.Transactions
+{
+ public class Transaction_Tests : TestAppTestBase
+ {
+ private readonly IBasicRepository _personRepository;
+ private readonly IUnitOfWorkManager _unitOfWorkManager;
+
+ public Transaction_Tests()
+ {
+ _personRepository = GetRequiredService>();
+ _unitOfWorkManager = GetRequiredService();
+ }
+
+ [Fact]
+ public async Task Should_Rollback_Transaction_When_An_Exception_Is_Thrown()
+ {
+ var personId = Guid.NewGuid();
+ const string exceptionMessage = "thrown to rollback the transaction!";
+
+ try
+ {
+ await WithUnitOfWorkAsync(new AbpUnitOfWorkOptions { IsTransactional = true }, async () =>
+ {
+ await _personRepository.InsertAsync(new Person(personId, "Adam", 42));
+ throw new Exception(exceptionMessage);
+ });
+ }
+ catch (Exception e) when (e.Message == exceptionMessage)
+ {
+
+ }
+
+ var person = await _personRepository.FindAsync(personId);
+ person.ShouldBeNull();
+ }
+
+ [Fact]
+ public async Task Should_Rollback_Transaction_Manually()
+ {
+ var personId = Guid.NewGuid();
+
+ await WithUnitOfWorkAsync(new AbpUnitOfWorkOptions { IsTransactional = true }, async () =>
+ {
+ _unitOfWorkManager.Current.ShouldNotBeNull();
+
+ await _personRepository.InsertAsync(new Person(personId, "Adam", 42));
+
+ await _unitOfWorkManager.Current.RollbackAsync();
+ });
+
+ var person = await _personRepository.FindAsync(personId);
+ person.ShouldBeNull();
+ }
+
+ [Fact]
+ public async Task Should_Rollback_Transaction_Manually_With_Double_DbContext_Transaction()
+ {
+ var personId = Guid.NewGuid();
+ var bookId = Guid.NewGuid();
+
+ using (var scope = ServiceProvider.CreateScope())
+ {
+ var uowManager = scope.ServiceProvider.GetRequiredService();
+
+ using (uowManager.Begin(new AbpUnitOfWorkOptions { IsTransactional = true }))
+ {
+ _unitOfWorkManager.Current.ShouldNotBeNull();
+
+ await _personRepository.InsertAsync(new Person(personId, "Adam", 42));
+
+ await _unitOfWorkManager.Current.SaveChangesAsync();
+
+ //Will automatically rollback since not called the Complete!
+ }
+ }
+
+ (await _personRepository.FindAsync(personId)).ShouldBeNull();
+ }
+ }
+}
diff --git a/modules/audit-logging/test/Volo.Abp.AuditLogging.MongoDB.Tests/Volo.Abp.AuditLogging.MongoDB.Tests.csproj b/modules/audit-logging/test/Volo.Abp.AuditLogging.MongoDB.Tests/Volo.Abp.AuditLogging.MongoDB.Tests.csproj
index dda1379793..ec89bbf896 100644
--- a/modules/audit-logging/test/Volo.Abp.AuditLogging.MongoDB.Tests/Volo.Abp.AuditLogging.MongoDB.Tests.csproj
+++ b/modules/audit-logging/test/Volo.Abp.AuditLogging.MongoDB.Tests/Volo.Abp.AuditLogging.MongoDB.Tests.csproj
@@ -14,7 +14,7 @@
-
+
diff --git a/modules/audit-logging/test/Volo.Abp.AuditLogging.MongoDB.Tests/Volo/Abp/AuditLogging/MongoDB/AbpAuditLoggingMongoDbTestModule.cs b/modules/audit-logging/test/Volo.Abp.AuditLogging.MongoDB.Tests/Volo/Abp/AuditLogging/MongoDB/AbpAuditLoggingMongoDbTestModule.cs
index a8d213a81f..cd210e6985 100644
--- a/modules/audit-logging/test/Volo.Abp.AuditLogging.MongoDB.Tests/Volo/Abp/AuditLogging/MongoDB/AbpAuditLoggingMongoDbTestModule.cs
+++ b/modules/audit-logging/test/Volo.Abp.AuditLogging.MongoDB.Tests/Volo/Abp/AuditLogging/MongoDB/AbpAuditLoggingMongoDbTestModule.cs
@@ -13,19 +13,15 @@ namespace Volo.Abp.AuditLogging.MongoDB
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
- var connectionString = MongoDbFixture.ConnectionString.EnsureEndsWith('/') +
- "Db_" +
- Guid.NewGuid().ToString("N");
+ var stringArray = MongoDbFixture.ConnectionString.Split('?');
+ var connectionString = stringArray[0].EnsureEndsWith('/') +
+ "Db_" +
+ Guid.NewGuid().ToString("N") + "/?" + stringArray[1];
Configure(options =>
{
options.ConnectionStrings.Default = connectionString;
});
-
- Configure(options =>
- {
- options.TransactionBehavior = UnitOfWorkTransactionBehavior.Disabled;
- });
}
}
}
diff --git a/modules/audit-logging/test/Volo.Abp.AuditLogging.MongoDB.Tests/Volo/Abp/AuditLogging/MongoDB/MongoDbFixture.cs b/modules/audit-logging/test/Volo.Abp.AuditLogging.MongoDB.Tests/Volo/Abp/AuditLogging/MongoDB/MongoDbFixture.cs
index e217faf961..f66be5d113 100644
--- a/modules/audit-logging/test/Volo.Abp.AuditLogging.MongoDB.Tests/Volo/Abp/AuditLogging/MongoDB/MongoDbFixture.cs
+++ b/modules/audit-logging/test/Volo.Abp.AuditLogging.MongoDB.Tests/Volo/Abp/AuditLogging/MongoDB/MongoDbFixture.cs
@@ -10,7 +10,7 @@ namespace Volo.Abp.AuditLogging.MongoDB
static MongoDbFixture()
{
- MongoDbRunner = MongoDbRunner.Start();
+ MongoDbRunner = MongoDbRunner.Start(singleNodeReplSet: true, singleNodeReplSetWaitTimeout: 20);
ConnectionString = MongoDbRunner.ConnectionString;
}
diff --git a/modules/background-jobs/test/Volo.Abp.BackgroundJobs.MongoDB.Tests/Volo.Abp.BackgroundJobs.MongoDB.Tests.csproj b/modules/background-jobs/test/Volo.Abp.BackgroundJobs.MongoDB.Tests/Volo.Abp.BackgroundJobs.MongoDB.Tests.csproj
index 0f9f0bf566..ce922d5aea 100644
--- a/modules/background-jobs/test/Volo.Abp.BackgroundJobs.MongoDB.Tests/Volo.Abp.BackgroundJobs.MongoDB.Tests.csproj
+++ b/modules/background-jobs/test/Volo.Abp.BackgroundJobs.MongoDB.Tests/Volo.Abp.BackgroundJobs.MongoDB.Tests.csproj
@@ -14,7 +14,7 @@
-
+
diff --git a/modules/background-jobs/test/Volo.Abp.BackgroundJobs.MongoDB.Tests/Volo/Abp/BackgroundJobs/MongoDB/AbpBackgroundJobsMongoDbTestModule.cs b/modules/background-jobs/test/Volo.Abp.BackgroundJobs.MongoDB.Tests/Volo/Abp/BackgroundJobs/MongoDB/AbpBackgroundJobsMongoDbTestModule.cs
index a7ec1ad65f..d1dcaa2a2e 100644
--- a/modules/background-jobs/test/Volo.Abp.BackgroundJobs.MongoDB.Tests/Volo/Abp/BackgroundJobs/MongoDB/AbpBackgroundJobsMongoDbTestModule.cs
+++ b/modules/background-jobs/test/Volo.Abp.BackgroundJobs.MongoDB.Tests/Volo/Abp/BackgroundJobs/MongoDB/AbpBackgroundJobsMongoDbTestModule.cs
@@ -13,19 +13,15 @@ namespace Volo.Abp.BackgroundJobs.MongoDB
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
- var connectionString = MongoDbFixture.ConnectionString.EnsureEndsWith('/') +
- "Db_" +
- Guid.NewGuid().ToString("N");
+ var stringArray = MongoDbFixture.ConnectionString.Split('?');
+ var connectionString = stringArray[0].EnsureEndsWith('/') +
+ "Db_" +
+ Guid.NewGuid().ToString("N") + "/?" + stringArray[1];
Configure(options =>
{
options.ConnectionStrings.Default = connectionString;
});
-
- Configure(options =>
- {
- options.TransactionBehavior = UnitOfWorkTransactionBehavior.Disabled;
- });
}
}
}
diff --git a/modules/background-jobs/test/Volo.Abp.BackgroundJobs.MongoDB.Tests/Volo/Abp/BackgroundJobs/MongoDB/MongoDbFixture.cs b/modules/background-jobs/test/Volo.Abp.BackgroundJobs.MongoDB.Tests/Volo/Abp/BackgroundJobs/MongoDB/MongoDbFixture.cs
index c358bed276..a348587184 100644
--- a/modules/background-jobs/test/Volo.Abp.BackgroundJobs.MongoDB.Tests/Volo/Abp/BackgroundJobs/MongoDB/MongoDbFixture.cs
+++ b/modules/background-jobs/test/Volo.Abp.BackgroundJobs.MongoDB.Tests/Volo/Abp/BackgroundJobs/MongoDB/MongoDbFixture.cs
@@ -10,7 +10,7 @@ namespace Volo.Abp.BackgroundJobs.MongoDB
static MongoDbFixture()
{
- MongoDbRunner = MongoDbRunner.Start();
+ MongoDbRunner = MongoDbRunner.Start(singleNodeReplSet: true, singleNodeReplSetWaitTimeout: 20);
ConnectionString = MongoDbRunner.ConnectionString;
}
diff --git a/modules/blob-storing-database/test/Volo.Abp.BlobStoring.Database.MongoDB.Tests/MongoDB/BlobStoringDatabaseMongoDbTestModule.cs b/modules/blob-storing-database/test/Volo.Abp.BlobStoring.Database.MongoDB.Tests/MongoDB/BlobStoringDatabaseMongoDbTestModule.cs
index 12cb8b0de3..2121949da7 100644
--- a/modules/blob-storing-database/test/Volo.Abp.BlobStoring.Database.MongoDB.Tests/MongoDB/BlobStoringDatabaseMongoDbTestModule.cs
+++ b/modules/blob-storing-database/test/Volo.Abp.BlobStoring.Database.MongoDB.Tests/MongoDB/BlobStoringDatabaseMongoDbTestModule.cs
@@ -13,19 +13,15 @@ namespace Volo.Abp.BlobStoring.Database.MongoDB
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
- var connectionString = MongoDbFixture.ConnectionString.EnsureEndsWith('/') +
- "Db_" +
- Guid.NewGuid().ToString("N");
+ var stringArray = MongoDbFixture.ConnectionString.Split('?');
+ var connectionString = stringArray[0].EnsureEndsWith('/') +
+ "Db_" +
+ Guid.NewGuid().ToString("N") + "/?" + stringArray[1];
Configure(options =>
{
options.ConnectionStrings.Default = connectionString;
});
-
- Configure(options =>
- {
- options.TransactionBehavior = UnitOfWorkTransactionBehavior.Disabled;
- });
}
}
}
diff --git a/modules/blob-storing-database/test/Volo.Abp.BlobStoring.Database.MongoDB.Tests/MongoDB/MongoDbFixture.cs b/modules/blob-storing-database/test/Volo.Abp.BlobStoring.Database.MongoDB.Tests/MongoDB/MongoDbFixture.cs
index a7cfb4f4b6..916279f57d 100644
--- a/modules/blob-storing-database/test/Volo.Abp.BlobStoring.Database.MongoDB.Tests/MongoDB/MongoDbFixture.cs
+++ b/modules/blob-storing-database/test/Volo.Abp.BlobStoring.Database.MongoDB.Tests/MongoDB/MongoDbFixture.cs
@@ -10,7 +10,7 @@ namespace Volo.Abp.BlobStoring.Database.MongoDB
static MongoDbFixture()
{
- MongoDbRunner = MongoDbRunner.Start();
+ MongoDbRunner = MongoDbRunner.Start(singleNodeReplSet: true, singleNodeReplSetWaitTimeout: 20);
ConnectionString = MongoDbRunner.ConnectionString;
}
diff --git a/modules/blob-storing-database/test/Volo.Abp.BlobStoring.Database.MongoDB.Tests/Volo.Abp.BlobStoring.Database.MongoDB.Tests.csproj b/modules/blob-storing-database/test/Volo.Abp.BlobStoring.Database.MongoDB.Tests/Volo.Abp.BlobStoring.Database.MongoDB.Tests.csproj
index a56030ccc6..e2448c7d5f 100644
--- a/modules/blob-storing-database/test/Volo.Abp.BlobStoring.Database.MongoDB.Tests/Volo.Abp.BlobStoring.Database.MongoDB.Tests.csproj
+++ b/modules/blob-storing-database/test/Volo.Abp.BlobStoring.Database.MongoDB.Tests/Volo.Abp.BlobStoring.Database.MongoDB.Tests.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/modules/blogging/test/Volo.Blogging.MongoDB.Tests/Volo.Blogging.MongoDB.Tests.csproj b/modules/blogging/test/Volo.Blogging.MongoDB.Tests/Volo.Blogging.MongoDB.Tests.csproj
index 1301bbf1bd..3b73719bdc 100644
--- a/modules/blogging/test/Volo.Blogging.MongoDB.Tests/Volo.Blogging.MongoDB.Tests.csproj
+++ b/modules/blogging/test/Volo.Blogging.MongoDB.Tests/Volo.Blogging.MongoDB.Tests.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/modules/blogging/test/Volo.Blogging.MongoDB.Tests/Volo/Blogging/MongoDB/BloggingMongoDBTestModule.cs b/modules/blogging/test/Volo.Blogging.MongoDB.Tests/Volo/Blogging/MongoDB/BloggingMongoDBTestModule.cs
index f66922cfcd..41942f75d0 100644
--- a/modules/blogging/test/Volo.Blogging.MongoDB.Tests/Volo/Blogging/MongoDB/BloggingMongoDBTestModule.cs
+++ b/modules/blogging/test/Volo.Blogging.MongoDB.Tests/Volo/Blogging/MongoDB/BloggingMongoDBTestModule.cs
@@ -13,19 +13,15 @@ namespace Volo.Blogging.MongoDB
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
- var connectionString = MongoDbFixture.ConnectionString.EnsureEndsWith('/') +
- "Db_" +
- Guid.NewGuid().ToString("N");
+ var stringArray = MongoDbFixture.ConnectionString.Split('?');
+ var connectionString = stringArray[0].EnsureEndsWith('/') +
+ "Db_" +
+ Guid.NewGuid().ToString("N") + "/?" + stringArray[1];
Configure(options =>
{
options.ConnectionStrings.Default = connectionString;
});
-
- Configure(options =>
- {
- options.TransactionBehavior = UnitOfWorkTransactionBehavior.Disabled;
- });
}
}
}
diff --git a/modules/blogging/test/Volo.Blogging.MongoDB.Tests/Volo/Blogging/MongoDB/MongoDbFixture.cs b/modules/blogging/test/Volo.Blogging.MongoDB.Tests/Volo/Blogging/MongoDB/MongoDbFixture.cs
index 71824397b4..6da6ba3662 100644
--- a/modules/blogging/test/Volo.Blogging.MongoDB.Tests/Volo/Blogging/MongoDB/MongoDbFixture.cs
+++ b/modules/blogging/test/Volo.Blogging.MongoDB.Tests/Volo/Blogging/MongoDB/MongoDbFixture.cs
@@ -10,7 +10,7 @@ namespace Volo.Blogging.MongoDB
static MongoDbFixture()
{
- MongoDbRunner = MongoDbRunner.Start();
+ MongoDbRunner = MongoDbRunner.Start(singleNodeReplSet: true, singleNodeReplSetWaitTimeout: 20);
ConnectionString = MongoDbRunner.ConnectionString;
}
diff --git a/modules/cms-kit/test/Volo.CmsKit.MongoDB.Tests/MongoDB/CmsKitMongoDbTestModule.cs b/modules/cms-kit/test/Volo.CmsKit.MongoDB.Tests/MongoDB/CmsKitMongoDbTestModule.cs
index 521b93cc8c..d8e781a28c 100644
--- a/modules/cms-kit/test/Volo.CmsKit.MongoDB.Tests/MongoDB/CmsKitMongoDbTestModule.cs
+++ b/modules/cms-kit/test/Volo.CmsKit.MongoDB.Tests/MongoDB/CmsKitMongoDbTestModule.cs
@@ -13,19 +13,15 @@ namespace Volo.CmsKit.MongoDB
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
- var connectionString = MongoDbFixture.ConnectionString.EnsureEndsWith('/') +
- "Db_" +
- Guid.NewGuid().ToString("N");
+ var stringArray = MongoDbFixture.ConnectionString.Split('?');
+ var connectionString = stringArray[0].EnsureEndsWith('/') +
+ "Db_" +
+ Guid.NewGuid().ToString("N") + "/?" + stringArray[1];
Configure(options =>
{
options.ConnectionStrings.Default = connectionString;
});
-
- Configure(options =>
- {
- options.TransactionBehavior = UnitOfWorkTransactionBehavior.Disabled;
- });
}
}
}
diff --git a/modules/cms-kit/test/Volo.CmsKit.MongoDB.Tests/MongoDB/MongoDbFixture.cs b/modules/cms-kit/test/Volo.CmsKit.MongoDB.Tests/MongoDB/MongoDbFixture.cs
index 3898749c10..fd92e70e19 100644
--- a/modules/cms-kit/test/Volo.CmsKit.MongoDB.Tests/MongoDB/MongoDbFixture.cs
+++ b/modules/cms-kit/test/Volo.CmsKit.MongoDB.Tests/MongoDB/MongoDbFixture.cs
@@ -10,7 +10,7 @@ namespace Volo.CmsKit.MongoDB
static MongoDbFixture()
{
- MongoDbRunner = MongoDbRunner.Start();
+ MongoDbRunner = MongoDbRunner.Start(singleNodeReplSet: true, singleNodeReplSetWaitTimeout: 20);
ConnectionString = MongoDbRunner.ConnectionString;
}
diff --git a/modules/cms-kit/test/Volo.CmsKit.MongoDB.Tests/Volo.CmsKit.MongoDB.Tests.csproj b/modules/cms-kit/test/Volo.CmsKit.MongoDB.Tests/Volo.CmsKit.MongoDB.Tests.csproj
index 834bfca873..783dd21ba9 100644
--- a/modules/cms-kit/test/Volo.CmsKit.MongoDB.Tests/Volo.CmsKit.MongoDB.Tests.csproj
+++ b/modules/cms-kit/test/Volo.CmsKit.MongoDB.Tests/Volo.CmsKit.MongoDB.Tests.csproj
@@ -9,7 +9,7 @@
-
+
diff --git a/modules/docs/test/Volo.Docs.MongoDB.Tests/Volo.Docs.MongoDB.Tests.csproj b/modules/docs/test/Volo.Docs.MongoDB.Tests/Volo.Docs.MongoDB.Tests.csproj
index f8c009a8a7..098634157c 100644
--- a/modules/docs/test/Volo.Docs.MongoDB.Tests/Volo.Docs.MongoDB.Tests.csproj
+++ b/modules/docs/test/Volo.Docs.MongoDB.Tests/Volo.Docs.MongoDB.Tests.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/modules/docs/test/Volo.Docs.MongoDB.Tests/Volo/Docs/MongoDB/DocsMongoDBTestModule.cs b/modules/docs/test/Volo.Docs.MongoDB.Tests/Volo/Docs/MongoDB/DocsMongoDBTestModule.cs
index d00f25b533..5a75a6d182 100644
--- a/modules/docs/test/Volo.Docs.MongoDB.Tests/Volo/Docs/MongoDB/DocsMongoDBTestModule.cs
+++ b/modules/docs/test/Volo.Docs.MongoDB.Tests/Volo/Docs/MongoDB/DocsMongoDBTestModule.cs
@@ -13,19 +13,15 @@ namespace Volo.Docs.MongoDB
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
- var connectionString = MongoDbFixture.ConnectionString.EnsureEndsWith('/') +
- "Db_" +
- Guid.NewGuid().ToString("N");
+ var stringArray = MongoDbFixture.ConnectionString.Split('?');
+ var connectionString = stringArray[0].EnsureEndsWith('/') +
+ "Db_" +
+ Guid.NewGuid().ToString("N") + "/?" + stringArray[1];
Configure(options =>
{
options.ConnectionStrings.Default = connectionString;
});
-
- Configure(options =>
- {
- options.TransactionBehavior = UnitOfWorkTransactionBehavior.Disabled;
- });
}
}
}
diff --git a/modules/docs/test/Volo.Docs.MongoDB.Tests/Volo/Docs/MongoDB/MongoDbFixture.cs b/modules/docs/test/Volo.Docs.MongoDB.Tests/Volo/Docs/MongoDB/MongoDbFixture.cs
index 9a40d79492..0f9ab7b6c9 100644
--- a/modules/docs/test/Volo.Docs.MongoDB.Tests/Volo/Docs/MongoDB/MongoDbFixture.cs
+++ b/modules/docs/test/Volo.Docs.MongoDB.Tests/Volo/Docs/MongoDB/MongoDbFixture.cs
@@ -10,7 +10,7 @@ namespace Volo.Docs.MongoDB
static MongoDbFixture()
{
- MongoDbRunner = MongoDbRunner.Start();
+ MongoDbRunner = MongoDbRunner.Start(singleNodeReplSet: true, singleNodeReplSetWaitTimeout: 20);
ConnectionString = MongoDbRunner.ConnectionString;
}
diff --git a/modules/feature-management/test/Volo.Abp.FeatureManagement.MongoDB.Tests/Volo.Abp.FeatureManagement.MongoDB.Tests.csproj b/modules/feature-management/test/Volo.Abp.FeatureManagement.MongoDB.Tests/Volo.Abp.FeatureManagement.MongoDB.Tests.csproj
index 1e667cf711..101ba7d1d4 100644
--- a/modules/feature-management/test/Volo.Abp.FeatureManagement.MongoDB.Tests/Volo.Abp.FeatureManagement.MongoDB.Tests.csproj
+++ b/modules/feature-management/test/Volo.Abp.FeatureManagement.MongoDB.Tests/Volo.Abp.FeatureManagement.MongoDB.Tests.csproj
@@ -14,7 +14,7 @@
-
+
diff --git a/modules/feature-management/test/Volo.Abp.FeatureManagement.MongoDB.Tests/Volo/Abp/FeatureManagement/MongoDB/AbpFeatureManagementMongoDbTestModule.cs b/modules/feature-management/test/Volo.Abp.FeatureManagement.MongoDB.Tests/Volo/Abp/FeatureManagement/MongoDB/AbpFeatureManagementMongoDbTestModule.cs
index fdafebef51..129c3b5aaa 100644
--- a/modules/feature-management/test/Volo.Abp.FeatureManagement.MongoDB.Tests/Volo/Abp/FeatureManagement/MongoDB/AbpFeatureManagementMongoDbTestModule.cs
+++ b/modules/feature-management/test/Volo.Abp.FeatureManagement.MongoDB.Tests/Volo/Abp/FeatureManagement/MongoDB/AbpFeatureManagementMongoDbTestModule.cs
@@ -13,19 +13,15 @@ namespace Volo.Abp.FeatureManagement.MongoDB
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
- var connectionString = MongoDbFixture.ConnectionString.EnsureEndsWith('/') +
- "Db_" +
- Guid.NewGuid().ToString("N");
+ var stringArray = MongoDbFixture.ConnectionString.Split('?');
+ var connectionString = stringArray[0].EnsureEndsWith('/') +
+ "Db_" +
+ Guid.NewGuid().ToString("N") + "/?" + stringArray[1];
Configure(options =>
{
options.ConnectionStrings.Default = connectionString;
});
-
- Configure(options =>
- {
- options.TransactionBehavior = UnitOfWorkTransactionBehavior.Disabled;
- });
}
}
}
diff --git a/modules/feature-management/test/Volo.Abp.FeatureManagement.MongoDB.Tests/Volo/Abp/FeatureManagement/MongoDB/MongoDbFixture.cs b/modules/feature-management/test/Volo.Abp.FeatureManagement.MongoDB.Tests/Volo/Abp/FeatureManagement/MongoDB/MongoDbFixture.cs
index bb89a83f76..c2fa1c96a7 100644
--- a/modules/feature-management/test/Volo.Abp.FeatureManagement.MongoDB.Tests/Volo/Abp/FeatureManagement/MongoDB/MongoDbFixture.cs
+++ b/modules/feature-management/test/Volo.Abp.FeatureManagement.MongoDB.Tests/Volo/Abp/FeatureManagement/MongoDB/MongoDbFixture.cs
@@ -10,7 +10,7 @@ namespace Volo.Abp.FeatureManagement.MongoDB
static MongoDbFixture()
{
- MongoDbRunner = MongoDbRunner.Start();
+ MongoDbRunner = MongoDbRunner.Start(singleNodeReplSet: true, singleNodeReplSetWaitTimeout: 20);
ConnectionString = MongoDbRunner.ConnectionString;
}
diff --git a/modules/identity/test/Volo.Abp.Identity.MongoDB.Tests/Volo.Abp.Identity.MongoDB.Tests.csproj b/modules/identity/test/Volo.Abp.Identity.MongoDB.Tests/Volo.Abp.Identity.MongoDB.Tests.csproj
index 581e113534..6f4d94340d 100644
--- a/modules/identity/test/Volo.Abp.Identity.MongoDB.Tests/Volo.Abp.Identity.MongoDB.Tests.csproj
+++ b/modules/identity/test/Volo.Abp.Identity.MongoDB.Tests/Volo.Abp.Identity.MongoDB.Tests.csproj
@@ -20,7 +20,7 @@
-
+
diff --git a/modules/identity/test/Volo.Abp.Identity.MongoDB.Tests/Volo/Abp/Identity/MongoDB/AbpIdentityMongoDbTestModule.cs b/modules/identity/test/Volo.Abp.Identity.MongoDB.Tests/Volo/Abp/Identity/MongoDB/AbpIdentityMongoDbTestModule.cs
index 101f4836a5..3399b96754 100644
--- a/modules/identity/test/Volo.Abp.Identity.MongoDB.Tests/Volo/Abp/Identity/MongoDB/AbpIdentityMongoDbTestModule.cs
+++ b/modules/identity/test/Volo.Abp.Identity.MongoDB.Tests/Volo/Abp/Identity/MongoDB/AbpIdentityMongoDbTestModule.cs
@@ -15,19 +15,15 @@ namespace Volo.Abp.Identity.MongoDB
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
- var connectionString = MongoDbFixture.ConnectionString.EnsureEndsWith('/') +
- "Db_" +
- Guid.NewGuid().ToString("N");
+ var stringArray = MongoDbFixture.ConnectionString.Split('?');
+ var connectionString = stringArray[0].EnsureEndsWith('/') +
+ "Db_" +
+ Guid.NewGuid().ToString("N") + "/?" + stringArray[1];
Configure(options =>
{
options.ConnectionStrings.Default = connectionString;
});
-
- Configure(options =>
- {
- options.TransactionBehavior = UnitOfWorkTransactionBehavior.Disabled;
- });
}
}
}
diff --git a/modules/identity/test/Volo.Abp.Identity.MongoDB.Tests/Volo/Abp/Identity/MongoDB/MongoDbFixture.cs b/modules/identity/test/Volo.Abp.Identity.MongoDB.Tests/Volo/Abp/Identity/MongoDB/MongoDbFixture.cs
index 09581c13d5..8563470a27 100644
--- a/modules/identity/test/Volo.Abp.Identity.MongoDB.Tests/Volo/Abp/Identity/MongoDB/MongoDbFixture.cs
+++ b/modules/identity/test/Volo.Abp.Identity.MongoDB.Tests/Volo/Abp/Identity/MongoDB/MongoDbFixture.cs
@@ -10,7 +10,7 @@ namespace Volo.Abp.Identity.MongoDB
static MongoDbFixture()
{
- MongoDbRunner = MongoDbRunner.Start();
+ MongoDbRunner = MongoDbRunner.Start(singleNodeReplSet: true, singleNodeReplSetWaitTimeout: 20);
ConnectionString = MongoDbRunner.ConnectionString;
}
diff --git a/modules/identityserver/test/Volo.Abp.IdentityServer.MongoDB.Tests/Volo.Abp.IdentityServer.MongoDB.Tests.csproj b/modules/identityserver/test/Volo.Abp.IdentityServer.MongoDB.Tests/Volo.Abp.IdentityServer.MongoDB.Tests.csproj
index 9768c83e98..5ef09a8598 100644
--- a/modules/identityserver/test/Volo.Abp.IdentityServer.MongoDB.Tests/Volo.Abp.IdentityServer.MongoDB.Tests.csproj
+++ b/modules/identityserver/test/Volo.Abp.IdentityServer.MongoDB.Tests/Volo.Abp.IdentityServer.MongoDB.Tests.csproj
@@ -20,7 +20,7 @@
-
+
diff --git a/modules/identityserver/test/Volo.Abp.IdentityServer.MongoDB.Tests/Volo/Abp/IdentityServer/AbpIdentityServerMongoDbTestModule.cs b/modules/identityserver/test/Volo.Abp.IdentityServer.MongoDB.Tests/Volo/Abp/IdentityServer/AbpIdentityServerMongoDbTestModule.cs
index ae32aa2d4a..b89da5ebbe 100644
--- a/modules/identityserver/test/Volo.Abp.IdentityServer.MongoDB.Tests/Volo/Abp/IdentityServer/AbpIdentityServerMongoDbTestModule.cs
+++ b/modules/identityserver/test/Volo.Abp.IdentityServer.MongoDB.Tests/Volo/Abp/IdentityServer/AbpIdentityServerMongoDbTestModule.cs
@@ -17,18 +17,14 @@ namespace Volo.Abp.IdentityServer
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
- var connectionString = MongoDbFixture.ConnectionString.EnsureEndsWith('/') +
- "Db_" +
- Guid.NewGuid().ToString("N");
+ var stringArray = MongoDbFixture.ConnectionString.Split('?');
+ var connectionString = stringArray[0].EnsureEndsWith('/') +
+ "Db_" +
+ Guid.NewGuid().ToString("N") + "/?" + stringArray[1];
Configure(options =>
{
options.ConnectionStrings.Default = connectionString;
- });
-
- Configure(options =>
- {
- options.TransactionBehavior = UnitOfWorkTransactionBehavior.Disabled;
});
}
}
diff --git a/modules/identityserver/test/Volo.Abp.IdentityServer.MongoDB.Tests/Volo/Abp/IdentityServer/MongoDbFixture.cs b/modules/identityserver/test/Volo.Abp.IdentityServer.MongoDB.Tests/Volo/Abp/IdentityServer/MongoDbFixture.cs
index 2c2f120acd..eb088c21af 100644
--- a/modules/identityserver/test/Volo.Abp.IdentityServer.MongoDB.Tests/Volo/Abp/IdentityServer/MongoDbFixture.cs
+++ b/modules/identityserver/test/Volo.Abp.IdentityServer.MongoDB.Tests/Volo/Abp/IdentityServer/MongoDbFixture.cs
@@ -10,7 +10,7 @@ namespace Volo.Abp.IdentityServer
static MongoDbFixture()
{
- MongoDbRunner = MongoDbRunner.Start();
+ MongoDbRunner = MongoDbRunner.Start(singleNodeReplSet: true, singleNodeReplSetWaitTimeout: 20);
ConnectionString = MongoDbRunner.ConnectionString;
}
diff --git a/modules/permission-management/test/Volo.Abp.PermissionManagement.MongoDB.Tests/Volo.Abp.PermissionManagement.MongoDB.Tests.csproj b/modules/permission-management/test/Volo.Abp.PermissionManagement.MongoDB.Tests/Volo.Abp.PermissionManagement.MongoDB.Tests.csproj
index 888e06c2b9..263b5f852d 100644
--- a/modules/permission-management/test/Volo.Abp.PermissionManagement.MongoDB.Tests/Volo.Abp.PermissionManagement.MongoDB.Tests.csproj
+++ b/modules/permission-management/test/Volo.Abp.PermissionManagement.MongoDB.Tests/Volo.Abp.PermissionManagement.MongoDB.Tests.csproj
@@ -18,7 +18,7 @@
-
+
diff --git a/modules/permission-management/test/Volo.Abp.PermissionManagement.MongoDB.Tests/Volo/Abp/PermissionManagement/MongoDb/AbpPermissionManagementMongoDbTestModule.cs b/modules/permission-management/test/Volo.Abp.PermissionManagement.MongoDB.Tests/Volo/Abp/PermissionManagement/MongoDb/AbpPermissionManagementMongoDbTestModule.cs
index d896cf01dc..cd47d024e2 100644
--- a/modules/permission-management/test/Volo.Abp.PermissionManagement.MongoDB.Tests/Volo/Abp/PermissionManagement/MongoDb/AbpPermissionManagementMongoDbTestModule.cs
+++ b/modules/permission-management/test/Volo.Abp.PermissionManagement.MongoDB.Tests/Volo/Abp/PermissionManagement/MongoDb/AbpPermissionManagementMongoDbTestModule.cs
@@ -12,19 +12,15 @@ namespace Volo.Abp.PermissionManagement.MongoDB
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
- var connectionString = MongoDbFixture.ConnectionString.EnsureEndsWith('/') +
- "Db_" +
- Guid.NewGuid().ToString("N");
+ var stringArray = MongoDbFixture.ConnectionString.Split('?');
+ var connectionString = stringArray[0].EnsureEndsWith('/') +
+ "Db_" +
+ Guid.NewGuid().ToString("N") + "/?" + stringArray[1];
Configure(options =>
{
options.ConnectionStrings.Default = connectionString;
});
-
- Configure(options =>
- {
- options.TransactionBehavior = UnitOfWorkTransactionBehavior.Disabled;
- });
}
}
}
diff --git a/modules/permission-management/test/Volo.Abp.PermissionManagement.MongoDB.Tests/Volo/Abp/PermissionManagement/MongoDb/MongoDbFixture.cs b/modules/permission-management/test/Volo.Abp.PermissionManagement.MongoDB.Tests/Volo/Abp/PermissionManagement/MongoDb/MongoDbFixture.cs
index 97799fc03b..768a6bcb1c 100644
--- a/modules/permission-management/test/Volo.Abp.PermissionManagement.MongoDB.Tests/Volo/Abp/PermissionManagement/MongoDb/MongoDbFixture.cs
+++ b/modules/permission-management/test/Volo.Abp.PermissionManagement.MongoDB.Tests/Volo/Abp/PermissionManagement/MongoDb/MongoDbFixture.cs
@@ -10,7 +10,7 @@ namespace Volo.Abp.PermissionManagement.MongoDB
static MongoDbFixture()
{
- MongoDbRunner = MongoDbRunner.Start();
+ MongoDbRunner = MongoDbRunner.Start(singleNodeReplSet: true, singleNodeReplSetWaitTimeout: 20);
ConnectionString = MongoDbRunner.ConnectionString;
}
diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/Pages/SettingManagement/SettingManagement.razor b/modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/Pages/SettingManagement/SettingManagement.razor
index 8f5285ff98..ce854161ef 100644
--- a/modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/Pages/SettingManagement/SettingManagement.razor
+++ b/modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/Pages/SettingManagement/SettingManagement.razor
@@ -1,26 +1,9 @@
@page "/setting-management"
-@using Microsoft.Extensions.Localization
-@using Volo.Abp.SettingManagement.Localization
-@inject IStringLocalizer L
@inherits SettingManagementBase
-
@* ************************* PAGE HEADER ************************* *@
-
+
+
+
@@ -39,7 +22,7 @@
@group.DisplayName
-
+
@{
SettingItemRenders.Add(builder =>
{
@@ -47,7 +30,7 @@
builder.CloseComponent();
});
}
-
+
@SettingItemRenders.Last()
}
diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/Pages/SettingManagement/SettingManagement.razor.cs b/modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/Pages/SettingManagement/SettingManagement.razor.cs
index 3d41afd05f..3c4775fd02 100644
--- a/modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/Pages/SettingManagement/SettingManagement.razor.cs
+++ b/modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/Pages/SettingManagement/SettingManagement.razor.cs
@@ -3,7 +3,10 @@ using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Components;
+using Microsoft.Extensions.Localization;
using Microsoft.Extensions.Options;
+using Volo.Abp.BlazoriseUI;
+using Volo.Abp.SettingManagement.Localization;
namespace Volo.Abp.SettingManagement.Blazor.Pages.SettingManagement
{
@@ -11,18 +14,21 @@ namespace Volo.Abp.SettingManagement.Blazor.Pages.SettingManagement
{
[Inject]
protected IServiceProvider ServiceProvider { get; set; }
-
+
protected SettingComponentCreationContext SettingComponentCreationContext { get; set; }
[Inject]
protected IOptions _options { get; set; }
+ [Inject]
+ protected IStringLocalizer L { get; set; }
protected SettingManagementComponentOptions Options => _options.Value;
-
+
protected List SettingItemRenders { get; set; } = new List();
protected string SelectedGroup;
-
+ protected List BreadcrumbItems = new List();
+
protected override async Task OnInitializedAsync()
{
SettingComponentCreationContext = new SettingComponentCreationContext(ServiceProvider);
@@ -31,10 +37,11 @@ namespace Volo.Abp.SettingManagement.Blazor.Pages.SettingManagement
{
await contributor.ConfigureAsync(SettingComponentCreationContext);
}
-
+
SettingItemRenders.Clear();
SelectedGroup = GetNormalizedString(SettingComponentCreationContext.Groups.First().Id);
+ BreadcrumbItems.Add(new BreadcrumbItem(L["Settings"]));
}
protected string GetNormalizedString(string value)
diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/_Imports.razor b/modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/_Imports.razor
index 4685ac9893..de520acc22 100644
--- a/modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/_Imports.razor
+++ b/modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/_Imports.razor
@@ -1,5 +1,6 @@
@using Microsoft.AspNetCore.Components.Web
@using Volo.Abp.AspNetCore.Components.WebAssembly
@using Volo.Abp.BlazoriseUI
+@using Volo.Abp.BlazoriseUI.Components
@using Blazorise
@using Blazorise.DataGrid
\ No newline at end of file
diff --git a/modules/setting-management/test/Volo.Abp.SettingManagement.MongoDB.Tests/Volo.Abp.SettingManagement.MongoDB.Tests.csproj b/modules/setting-management/test/Volo.Abp.SettingManagement.MongoDB.Tests/Volo.Abp.SettingManagement.MongoDB.Tests.csproj
index b500136b68..398ff74afe 100644
--- a/modules/setting-management/test/Volo.Abp.SettingManagement.MongoDB.Tests/Volo.Abp.SettingManagement.MongoDB.Tests.csproj
+++ b/modules/setting-management/test/Volo.Abp.SettingManagement.MongoDB.Tests/Volo.Abp.SettingManagement.MongoDB.Tests.csproj
@@ -18,7 +18,7 @@
-
+
diff --git a/modules/setting-management/test/Volo.Abp.SettingManagement.MongoDB.Tests/Volo/Abp/SettingManagement/MongoDB/AbpSettingManagementMongoDbTestModule.cs b/modules/setting-management/test/Volo.Abp.SettingManagement.MongoDB.Tests/Volo/Abp/SettingManagement/MongoDB/AbpSettingManagementMongoDbTestModule.cs
index 0e456a2df8..8b022c63bf 100644
--- a/modules/setting-management/test/Volo.Abp.SettingManagement.MongoDB.Tests/Volo/Abp/SettingManagement/MongoDB/AbpSettingManagementMongoDbTestModule.cs
+++ b/modules/setting-management/test/Volo.Abp.SettingManagement.MongoDB.Tests/Volo/Abp/SettingManagement/MongoDB/AbpSettingManagementMongoDbTestModule.cs
@@ -13,19 +13,15 @@ namespace Volo.Abp.SettingManagement.MongoDB
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
- var connectionString = MongoDbFixture.ConnectionString.EnsureEndsWith('/') +
- "Db_" +
- Guid.NewGuid().ToString("N");
+ var stringArray = MongoDbFixture.ConnectionString.Split('?');
+ var connectionString = stringArray[0].EnsureEndsWith('/') +
+ "Db_" +
+ Guid.NewGuid().ToString("N") + "/?" + stringArray[1];
Configure(options =>
{
options.ConnectionStrings.Default = connectionString;
});
-
- Configure(options =>
- {
- options.TransactionBehavior = UnitOfWorkTransactionBehavior.Disabled;
- });
}
}
}
diff --git a/modules/setting-management/test/Volo.Abp.SettingManagement.MongoDB.Tests/Volo/Abp/SettingManagement/MongoDB/MongoDbFixture.cs b/modules/setting-management/test/Volo.Abp.SettingManagement.MongoDB.Tests/Volo/Abp/SettingManagement/MongoDB/MongoDbFixture.cs
index 4f9142a829..8db91a3e72 100644
--- a/modules/setting-management/test/Volo.Abp.SettingManagement.MongoDB.Tests/Volo/Abp/SettingManagement/MongoDB/MongoDbFixture.cs
+++ b/modules/setting-management/test/Volo.Abp.SettingManagement.MongoDB.Tests/Volo/Abp/SettingManagement/MongoDB/MongoDbFixture.cs
@@ -10,7 +10,7 @@ namespace Volo.Abp.SettingManagement.MongoDB
static MongoDbFixture()
{
- MongoDbRunner = MongoDbRunner.Start();
+ MongoDbRunner = MongoDbRunner.Start(singleNodeReplSet: true, singleNodeReplSetWaitTimeout: 20);
ConnectionString = MongoDbRunner.ConnectionString;
}
diff --git a/modules/tenant-management/test/Volo.Abp.TenantManagement.MongoDB.Tests/Volo.Abp.TenantManagement.MongoDB.Tests.csproj b/modules/tenant-management/test/Volo.Abp.TenantManagement.MongoDB.Tests/Volo.Abp.TenantManagement.MongoDB.Tests.csproj
index 135500d917..8efbf4df9a 100644
--- a/modules/tenant-management/test/Volo.Abp.TenantManagement.MongoDB.Tests/Volo.Abp.TenantManagement.MongoDB.Tests.csproj
+++ b/modules/tenant-management/test/Volo.Abp.TenantManagement.MongoDB.Tests/Volo.Abp.TenantManagement.MongoDB.Tests.csproj
@@ -18,7 +18,7 @@
-
+
diff --git a/modules/tenant-management/test/Volo.Abp.TenantManagement.MongoDB.Tests/Volo/Abp/TenantManagement/MongoDb/AbpTenantManagementMongoDbTestModule.cs b/modules/tenant-management/test/Volo.Abp.TenantManagement.MongoDB.Tests/Volo/Abp/TenantManagement/MongoDb/AbpTenantManagementMongoDbTestModule.cs
index 3bdcf0ad9c..88c5ea05ea 100644
--- a/modules/tenant-management/test/Volo.Abp.TenantManagement.MongoDB.Tests/Volo/Abp/TenantManagement/MongoDb/AbpTenantManagementMongoDbTestModule.cs
+++ b/modules/tenant-management/test/Volo.Abp.TenantManagement.MongoDB.Tests/Volo/Abp/TenantManagement/MongoDb/AbpTenantManagementMongoDbTestModule.cs
@@ -13,19 +13,15 @@ namespace Volo.Abp.TenantManagement.MongoDB
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
- var connectionString = MongoDbFixture.ConnectionString.EnsureEndsWith('/') +
- "Db_" +
- Guid.NewGuid().ToString("N");
+ var stringArray = MongoDbFixture.ConnectionString.Split('?');
+ var connectionString = stringArray[0].EnsureEndsWith('/') +
+ "Db_" +
+ Guid.NewGuid().ToString("N") + "/?" + stringArray[1];
Configure(options =>
{
options.ConnectionStrings.Default = connectionString;
});
-
- Configure(options =>
- {
- options.TransactionBehavior = UnitOfWorkTransactionBehavior.Disabled;
- });
}
}
}
diff --git a/modules/tenant-management/test/Volo.Abp.TenantManagement.MongoDB.Tests/Volo/Abp/TenantManagement/MongoDb/MongoDbFixture.cs b/modules/tenant-management/test/Volo.Abp.TenantManagement.MongoDB.Tests/Volo/Abp/TenantManagement/MongoDb/MongoDbFixture.cs
index 689f273178..d4768a1044 100644
--- a/modules/tenant-management/test/Volo.Abp.TenantManagement.MongoDB.Tests/Volo/Abp/TenantManagement/MongoDb/MongoDbFixture.cs
+++ b/modules/tenant-management/test/Volo.Abp.TenantManagement.MongoDB.Tests/Volo/Abp/TenantManagement/MongoDb/MongoDbFixture.cs
@@ -12,7 +12,7 @@ namespace Volo.Abp.TenantManagement.MongoDB
static MongoDbFixture()
{
- MongoDbRunner = MongoDbRunner.Start();
+ MongoDbRunner = MongoDbRunner.Start(singleNodeReplSet: true, singleNodeReplSetWaitTimeout: 20);
ConnectionString = MongoDbRunner.ConnectionString;
}
diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj
index d1bec5d5d3..1c1179b657 100644
--- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj
+++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj
@@ -3,6 +3,7 @@
net5.0
true
+ false
diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/wwwroot/index.html b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/wwwroot/index.html
index 4566bec3c1..825c081ca8 100644
--- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/wwwroot/index.html
+++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/wwwroot/index.html
@@ -21,14 +21,9 @@
-
-
-
-
-
-
+