Merge branch 'v13/dev' into v13/feature/content-create-update-delete

This commit is contained in:
kjac
2023-02-23 16:50:19 +01:00
104 changed files with 3819 additions and 425 deletions

View File

@@ -18,6 +18,7 @@ using Umbraco.Cms.Core.Services;
using Umbraco.Cms.Core.Web;
using Umbraco.Cms.Api.Management;
using Umbraco.Cms.Api.Management.Controllers.Install;
using Umbraco.Cms.Core.Persistence.Repositories;
using Umbraco.Cms.Persistence.Sqlite;
using Umbraco.Cms.Persistence.SqlServer;
using Umbraco.Cms.Tests.Common.Testing;
@@ -77,10 +78,14 @@ namespace Umbraco.Cms.Tests.Integration.TestServerTest
// Executes after the standard ConfigureServices method
builder.ConfigureTestServices(services =>
{
services.AddSingleton<IWebProfilerRepository, TestWebProfilerRepository>();
// Add a test auth scheme with a test auth handler to authn and assign the user
services.AddAuthentication(TestAuthHandler.TestAuthenticationScheme)
.AddScheme<AuthenticationSchemeOptions, TestAuthHandler>(TestAuthHandler.TestAuthenticationScheme, options => { }));
.AddScheme<AuthenticationSchemeOptions, TestAuthHandler>(
TestAuthHandler.TestAuthenticationScheme, options => { });
});
});
Client = Factory.CreateClient(new WebApplicationFactoryClientOptions

View File

@@ -0,0 +1,12 @@
using Umbraco.Cms.Core.Persistence.Repositories;
namespace Umbraco.Cms.Tests.Integration.Testing;
public class TestWebProfilerRepository : IWebProfilerRepository
{
private bool _status = false;
public void SetStatus(int userId, bool status) => _status = status;
public bool GetStatus(int userId) => _status;
}

View File

@@ -8,6 +8,7 @@ using NUnit.Framework;
using Umbraco.Cms.Core.Cache;
using Umbraco.Cms.Core.Configuration.Models;
using Umbraco.Cms.Core.IO;
using Umbraco.Cms.Core.Persistence.Repositories;
using Umbraco.Cms.Core.Services;
using Umbraco.Cms.Core.Strings;
using Umbraco.Cms.Core.Web;
@@ -19,6 +20,7 @@ using Umbraco.Cms.Persistence.SqlServer;
using Umbraco.Cms.Tests.Common.Builders;
using Umbraco.Cms.Tests.Integration.DependencyInjection;
using Umbraco.Cms.Tests.Integration.Extensions;
using Umbraco.Cms.Tests.Integration.TestServerTest;
using Constants = Umbraco.Cms.Core.Constants;
namespace Umbraco.Cms.Tests.Integration.Testing;
@@ -129,7 +131,9 @@ public abstract class UmbracoIntegrationTest : UmbracoIntegrationTestBase
// We register this service because we need it for IRuntimeState, if we don't this breaks 900 tests
services.AddSingleton<IConflictingRouteService, TestConflictingRouteService>();
services.AddSingleton<IWebProfilerRepository, TestWebProfilerRepository>();
services.AddLogger(webHostEnvironment, Configuration);
// Add it!

View File

@@ -147,6 +147,7 @@ public class NotificationsRepositoryTest : UmbracoIntegrationTest
{
var userDto = new UserDto
{
Key = Guid.NewGuid(),
Email = "test" + i,
Login = "test" + i,
Password = "test",
@@ -209,6 +210,7 @@ public class NotificationsRepositoryTest : UmbracoIntegrationTest
{
var userDto = new UserDto
{
Key = Guid.NewGuid(),
Email = "test" + i,
Login = "test" + i,
Password = "test",

View File

@@ -7,6 +7,7 @@ using Moq;
using Umbraco.Cms.Core.Configuration.Models;
using Umbraco.Cms.Core.PublishedCache;
using Umbraco.Cms.Core.Routing;
using Umbraco.Cms.Core.Services;
using Umbraco.Cms.Core.Web;
using Umbraco.Cms.Tests.Common;
using Umbraco.Cms.Web.Common.AspNetCore;
@@ -68,7 +69,8 @@ public class TestUmbracoContextFactory
hostingEnvironment,
new UriUtility(hostingEnvironment),
new AspNetCoreCookieManager(httpContextAccessor),
httpContextAccessor);
httpContextAccessor,
Mock.Of<IWebProfilerService>());
return umbracoContextFactory;
}

View File

@@ -1,7 +1,3 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Identity;
using Microsoft.Extensions.Logging;
@@ -46,7 +42,8 @@ public class MemberManagerTests
Mock.Of<ILocalizedTextService>(),
Mock.Of<IEntityService>(),
new TestOptionsSnapshot<GlobalSettings>(new GlobalSettings()),
AppCaches.Disabled),
AppCaches.Disabled,
Mock.Of<ITwoFactorLoginService>())
};
_fakeMemberStore = new MemberUserStore(

View File

@@ -235,14 +235,16 @@ public class MemberUserStoreTests
public async Task GivenIDeleteUser_AndTheUserIsDeletedCorrectly_ThenIShouldGetASuccessResultAsync()
{
// arrange
var memberKey = new Guid("4B003A55-1DE9-4DEB-95A0-352FFC693D8F");
var sut = CreateSut();
var fakeUser = new MemberIdentityUser(777);
var fakeUser = new MemberIdentityUser(777) { Key = memberKey };
var fakeCancellationToken = CancellationToken.None;
IMemberType fakeMemberType = new MemberType(new MockShortStringHelper(), 77);
IMember mockMember = new Member(fakeMemberType)
{
Id = 777,
Key = memberKey,
Name = "fakeName",
Email = "fakeemail@umbraco.com",
Username = "fakeUsername",
@@ -250,6 +252,7 @@ public class MemberUserStoreTests
};
_mockMemberService.Setup(x => x.GetById(mockMember.Id)).Returns(mockMember);
_mockMemberService.Setup(x => x.GetByKey(mockMember.Key)).Returns(mockMember);
_mockMemberService.Setup(x => x.Delete(mockMember));
// act
@@ -258,7 +261,7 @@ public class MemberUserStoreTests
// assert
Assert.IsTrue(identityResult.Succeeded);
Assert.IsTrue(!identityResult.Errors.Any());
_mockMemberService.Verify(x => x.GetById(mockMember.Id));
_mockMemberService.Verify(x => x.GetByKey(mockMember.Key));
_mockMemberService.Verify(x => x.Delete(mockMember));
_mockMemberService.VerifyNoOtherCalls();
}