V14: Remove old backoffice project. (#15752)
* Move magical route to management api * Move auth around * Remove "New" cookies, as they are no longer needed * Move all installer related * Remove BackOfficeServerVariables.cs and trees * Move webhooks to management api * Remove remainting controllers * Remove last services * Move preview to management api * Remove mroe extensions * Remove tours * Remove old Auth handlers * Remove server variables entirely * Remove old backoffice controller * Remove controllers namespace entirely * Move rest of preview * move last services * Move language file extension * Remove old backoffice entirely (Backoffice and Web.UI projects) * Clean up unused security classes * Fix up installer route * Remove obsolete tests * Fix up DI in integration test * Add missing property mapping * Move core mapping into core * Add composers to integration test * remove identity * Fix up DI * Outcomment failing test :) * Fix up remaining test * Update mapper * Remove the actual project files * Remove backoffice cs proj * Remove old backoffice from yml * Run belissima before login * Remove caching * Refactor file paths * Remove belle from static assets * Dont refer to old project in templates * update gitignore * Add missing files * Remove install view as its no longer used * Fix up failing test * Remove outcommented code * Update submodule to latest * fix build --------- Co-authored-by: Bjarke Berg <mail@bergmania.dk>
This commit is contained in:
@@ -1,41 +0,0 @@
|
||||
// Copyright (c) Umbraco.
|
||||
// See LICENSE for more details.
|
||||
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Moq;
|
||||
using NUnit.Framework;
|
||||
using Umbraco.Cms.Core.Events;
|
||||
using Umbraco.Cms.Infrastructure.WebAssets;
|
||||
using Umbraco.Extensions;
|
||||
|
||||
namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Web.Common.AngularIntegration;
|
||||
|
||||
[TestFixture]
|
||||
public class ServerVariablesParserTests
|
||||
{
|
||||
[Test]
|
||||
public async Task Parse()
|
||||
{
|
||||
var parser = new ServerVariablesParser(Mock.Of<IEventAggregator>());
|
||||
|
||||
var d = new Dictionary<string, object>
|
||||
{
|
||||
{ "test1", "Test 1" },
|
||||
{ "test2", "Test 2" },
|
||||
{ "test3", "Test 3" },
|
||||
{ "test4", "Test 4" },
|
||||
{ "test5", "Test 5" },
|
||||
};
|
||||
|
||||
var output = (await parser.ParseAsync(d)).StripWhitespace();
|
||||
|
||||
Assert.IsTrue(output.Contains(@"Umbraco.Sys.ServerVariables = {
|
||||
""test1"": ""Test 1"",
|
||||
""test2"": ""Test 2"",
|
||||
""test3"": ""Test 3"",
|
||||
""test4"": ""Test 4"",
|
||||
""test5"": ""Test 5""
|
||||
} ;".StripWhitespace()));
|
||||
}
|
||||
}
|
||||
@@ -6,11 +6,10 @@ using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.FileProviders;
|
||||
using Moq;
|
||||
using NUnit.Framework;
|
||||
using Umbraco.Cms.Api.Management.Controllers.Security;
|
||||
using Umbraco.Cms.Core.Composing;
|
||||
using Umbraco.Cms.Core.Hosting;
|
||||
using Umbraco.Cms.Tests.UnitTests.AutoFixture;
|
||||
using Umbraco.Cms.Web.BackOffice.Controllers;
|
||||
using Umbraco.Cms.Web.BackOffice.Install;
|
||||
|
||||
namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Web.Common;
|
||||
|
||||
@@ -37,45 +36,7 @@ internal class FileNameTests
|
||||
|
||||
[Test]
|
||||
[AutoMoqData]
|
||||
public async Task InstallViewExists(
|
||||
[Frozen] IHostingEnvironment hostingEnvironment,
|
||||
InstallController sut)
|
||||
{
|
||||
Mock.Get(hostingEnvironment).Setup(x => x.ToAbsolute(It.IsAny<string>())).Returns("http://localhost/");
|
||||
var viewResult = await sut.Index() as ViewResult;
|
||||
var fileName = GetViewName(viewResult, Path.DirectorySeparatorChar.ToString());
|
||||
|
||||
var views = GetUiFiles(new[] { "umbraco", "UmbracoInstall" });
|
||||
Assert.True(views.Contains(fileName), $"Expected {fileName} to exist, but it didn't");
|
||||
}
|
||||
|
||||
[Test]
|
||||
[AutoMoqData]
|
||||
public void PreviewViewExists(PreviewController sut)
|
||||
{
|
||||
var viewResult = sut.Index() as ViewResult;
|
||||
var fileName = GetViewName(viewResult);
|
||||
|
||||
var views = GetUiFiles(new[] { "umbraco", "UmbracoBackOffice" });
|
||||
|
||||
Assert.True(views.Contains(fileName), $"Expected {fileName} to exist, but it didn't");
|
||||
}
|
||||
|
||||
[Test]
|
||||
[AutoMoqData]
|
||||
public async Task LoginViewExists(BackOfficeController sut)
|
||||
{
|
||||
var viewResult = await sut.Login() as ViewResult;
|
||||
var fileName = GetViewName(viewResult);
|
||||
|
||||
var views = GetUiFiles(new[] { "umbraco", "UmbracoLogin" });
|
||||
|
||||
Assert.True(views.Contains(fileName), $"Expected {fileName} to exist, but it didn't");
|
||||
}
|
||||
|
||||
[Test]
|
||||
[AutoMoqData]
|
||||
public void BackOfficeDefaultExists(BackOfficeController sut)
|
||||
public void BackOfficeDefaultExists(BackOfficeDefaultController sut)
|
||||
{
|
||||
var viewResult = sut.DefaultView();
|
||||
var fileName = GetViewName(viewResult);
|
||||
|
||||
@@ -7,12 +7,12 @@ using Microsoft.AspNetCore.Routing;
|
||||
using Microsoft.Extensions.Options;
|
||||
using Moq;
|
||||
using NUnit.Framework;
|
||||
using Umbraco.Cms.Api.Management.Controllers.Security;
|
||||
using Umbraco.Cms.Api.Management.Routing;
|
||||
using Umbraco.Cms.Core;
|
||||
using Umbraco.Cms.Core.Configuration.Models;
|
||||
using Umbraco.Cms.Core.Hosting;
|
||||
using Umbraco.Cms.Core.Services;
|
||||
using Umbraco.Cms.Web.BackOffice.Controllers;
|
||||
using Umbraco.Cms.Web.BackOffice.Routing;
|
||||
using Umbraco.Cms.Web.Common.Attributes;
|
||||
using Umbraco.Cms.Web.Common.Controllers;
|
||||
using Umbraco.Extensions;
|
||||
@@ -47,11 +47,11 @@ public class BackOfficeAreaRoutesTests
|
||||
|
||||
Assert.AreEqual(1, endpoints.DataSources.Count);
|
||||
var route = endpoints.DataSources.First();
|
||||
Assert.AreEqual(4, route.Endpoints.Count);
|
||||
Assert.AreEqual(3, route.Endpoints.Count);
|
||||
|
||||
AssertMinimalBackOfficeRoutes(route);
|
||||
|
||||
var endpoint4 = (RouteEndpoint)route.Endpoints[3];
|
||||
var endpoint4 = (RouteEndpoint)route.Endpoints[2];
|
||||
var apiControllerName = ControllerExtensions.GetControllerName<Testing1Controller>();
|
||||
Assert.AreEqual(
|
||||
$"umbraco/backoffice/api/{apiControllerName.ToLowerInvariant()}/{{action}}/{{id?}}",
|
||||
@@ -65,26 +65,8 @@ public class BackOfficeAreaRoutesTests
|
||||
{
|
||||
var endpoint1 = (RouteEndpoint)route.Endpoints[0];
|
||||
Assert.AreEqual("umbraco/{action}/{id?}", endpoint1.RoutePattern.RawText);
|
||||
Assert.AreEqual(Constants.Web.Mvc.BackOfficeArea, endpoint1.RoutePattern.Defaults[AreaToken]);
|
||||
Assert.AreEqual("Default", endpoint1.RoutePattern.Defaults[ActionToken]);
|
||||
Assert.AreEqual(
|
||||
ControllerExtensions.GetControllerName<BackOfficeController>(),
|
||||
endpoint1.RoutePattern.Defaults[ControllerToken]);
|
||||
Assert.AreEqual(
|
||||
endpoint1.RoutePattern.Defaults[AreaToken],
|
||||
typeof(BackOfficeController).GetCustomAttribute<AreaAttribute>(false).RouteValue);
|
||||
|
||||
var endpoint2 = (RouteEndpoint)route.Endpoints[1];
|
||||
var controllerName = ControllerExtensions.GetControllerName<AuthenticationController>();
|
||||
Assert.AreEqual(
|
||||
$"umbraco/backoffice/{Constants.Web.Mvc.BackOfficeApiArea.ToLowerInvariant()}/{controllerName.ToLowerInvariant()}/{{action}}/{{id?}}",
|
||||
endpoint2.RoutePattern.RawText);
|
||||
Assert.AreEqual(Constants.Web.Mvc.BackOfficeApiArea, endpoint2.RoutePattern.Defaults[AreaToken]);
|
||||
Assert.IsFalse(endpoint2.RoutePattern.Defaults.ContainsKey(ActionToken));
|
||||
Assert.AreEqual(controllerName, endpoint2.RoutePattern.Defaults[ControllerToken]);
|
||||
Assert.AreEqual(
|
||||
endpoint1.RoutePattern.Defaults[AreaToken],
|
||||
typeof(BackOfficeController).GetCustomAttribute<AreaAttribute>(false).RouteValue);
|
||||
Assert.AreEqual("Index", endpoint1.RoutePattern.Defaults[ActionToken]);
|
||||
Assert.AreEqual(ControllerExtensions.GetControllerName<BackOfficeDefaultController>(), endpoint1.RoutePattern.Defaults[ControllerToken]);
|
||||
}
|
||||
|
||||
private BackOfficeAreaRoutes GetBackOfficeAreaRoutes(RuntimeLevel level)
|
||||
|
||||
@@ -1,98 +0,0 @@
|
||||
// Copyright (c) Umbraco.
|
||||
// See LICENSE for more details.
|
||||
|
||||
using System.Linq;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Routing;
|
||||
using Moq;
|
||||
using NUnit.Framework;
|
||||
using Umbraco.Cms.Core;
|
||||
using Umbraco.Cms.Core.Hosting;
|
||||
using Umbraco.Cms.Core.Services;
|
||||
using Umbraco.Cms.Web.BackOffice.Install;
|
||||
using Umbraco.Extensions;
|
||||
using static Umbraco.Cms.Core.Constants.Web.Routing;
|
||||
|
||||
namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Web.Common.Routing;
|
||||
|
||||
[TestFixture]
|
||||
public class InstallAreaRoutesTests
|
||||
{
|
||||
[TestCase(RuntimeLevel.BootFailed)]
|
||||
[TestCase(RuntimeLevel.Unknown)]
|
||||
[TestCase(RuntimeLevel.Boot)]
|
||||
public void RuntimeState_No_Routes(RuntimeLevel level)
|
||||
{
|
||||
var routes = GetInstallAreaRoutes(level);
|
||||
var endpoints = new TestRouteBuilder();
|
||||
routes.CreateRoutes(endpoints);
|
||||
|
||||
Assert.AreEqual(0, endpoints.DataSources.Count);
|
||||
}
|
||||
|
||||
[TestCase(RuntimeLevel.Install)]
|
||||
[TestCase(RuntimeLevel.Upgrade)]
|
||||
public void RuntimeState_Install(RuntimeLevel level)
|
||||
{
|
||||
var routes = GetInstallAreaRoutes(level);
|
||||
var endpoints = new TestRouteBuilder();
|
||||
routes.CreateRoutes(endpoints);
|
||||
|
||||
Assert.AreEqual(1, endpoints.DataSources.Count);
|
||||
var route = endpoints.DataSources.First();
|
||||
Assert.AreEqual(2, route.Endpoints.Count);
|
||||
|
||||
var endpoint1 = (RouteEndpoint)route.Endpoints[0];
|
||||
Assert.AreEqual("install/api/{action}/{id?}", endpoint1.RoutePattern.RawText);
|
||||
Assert.AreEqual(Constants.Web.Mvc.InstallArea, endpoint1.RoutePattern.Defaults[AreaToken]);
|
||||
Assert.AreEqual("Index", endpoint1.RoutePattern.Defaults[ActionToken]);
|
||||
Assert.AreEqual(
|
||||
ControllerExtensions.GetControllerName<InstallApiController>(),
|
||||
endpoint1.RoutePattern.Defaults[ControllerToken]);
|
||||
Assert.AreEqual(
|
||||
endpoint1.RoutePattern.Defaults[AreaToken],
|
||||
typeof(InstallApiController).GetCustomAttribute<AreaAttribute>(false).RouteValue);
|
||||
|
||||
var endpoint2 = (RouteEndpoint)route.Endpoints[1];
|
||||
Assert.AreEqual("install/{action}/{id?}", endpoint2.RoutePattern.RawText);
|
||||
Assert.AreEqual(Constants.Web.Mvc.InstallArea, endpoint2.RoutePattern.Defaults[AreaToken]);
|
||||
Assert.AreEqual("Index", endpoint2.RoutePattern.Defaults[ActionToken]);
|
||||
Assert.AreEqual(
|
||||
ControllerExtensions.GetControllerName<InstallController>(),
|
||||
endpoint2.RoutePattern.Defaults[ControllerToken]);
|
||||
Assert.AreEqual(
|
||||
endpoint2.RoutePattern.Defaults[AreaToken],
|
||||
typeof(InstallController).GetCustomAttribute<AreaAttribute>(false).RouteValue);
|
||||
|
||||
var dataSource = endpoints.DataSources.Last();
|
||||
Assert.AreEqual(2, dataSource.Endpoints.Count);
|
||||
|
||||
Assert.AreEqual("Route: install/api/{action}/{id?}", dataSource.Endpoints[0].ToString());
|
||||
Assert.AreEqual("Route: install/{action}/{id?}", dataSource.Endpoints[1].ToString());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void RuntimeState_Run()
|
||||
{
|
||||
var routes = GetInstallAreaRoutes(RuntimeLevel.Run);
|
||||
var endpoints = new TestRouteBuilder();
|
||||
routes.CreateRoutes(endpoints);
|
||||
|
||||
Assert.AreEqual(1, endpoints.DataSources.Count);
|
||||
var route = endpoints.DataSources.First();
|
||||
Assert.AreEqual(2, route.Endpoints.Count);
|
||||
|
||||
var endpoint = (RouteEndpoint)route.Endpoints[0];
|
||||
Assert.AreEqual("install/api/{action}/{id?}", endpoint.RoutePattern.RawText);
|
||||
|
||||
endpoint = (RouteEndpoint)route.Endpoints[1];
|
||||
Assert.AreEqual("install/{action}/{id?}", endpoint.RoutePattern.RawText);
|
||||
}
|
||||
|
||||
private InstallAreaRoutes GetInstallAreaRoutes(RuntimeLevel level) =>
|
||||
new(
|
||||
Mock.Of<IRuntimeState>(x => x.Level == level),
|
||||
Mock.Of<IHostingEnvironment>(x =>
|
||||
x.ToAbsolute(It.IsAny<string>()) == "/install" && x.ApplicationVirtualPath == string.Empty),
|
||||
Mock.Of<LinkGenerator>());
|
||||
}
|
||||
@@ -1,18 +1,17 @@
|
||||
// Copyright (c) Umbraco.
|
||||
// See LICENSE for more details.
|
||||
|
||||
using System.Linq;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Routing;
|
||||
using Microsoft.Extensions.Options;
|
||||
using Moq;
|
||||
using NUnit.Framework;
|
||||
using Umbraco.Cms.Api.Management.Controllers.Preview;
|
||||
using Umbraco.Cms.Api.Management.Routing;
|
||||
using Umbraco.Cms.Core;
|
||||
using Umbraco.Cms.Core.Configuration.Models;
|
||||
using Umbraco.Cms.Core.Hosting;
|
||||
using Umbraco.Cms.Core.Services;
|
||||
using Umbraco.Cms.Web.BackOffice.Controllers;
|
||||
using Umbraco.Cms.Web.BackOffice.Routing;
|
||||
using Umbraco.Extensions;
|
||||
using static Umbraco.Cms.Core.Constants.Web.Routing;
|
||||
|
||||
@@ -42,7 +41,7 @@ public class PreviewRoutesTests
|
||||
var endpoints = new TestRouteBuilder();
|
||||
routes.CreateRoutes(endpoints);
|
||||
|
||||
Assert.AreEqual(2, endpoints.DataSources.Count);
|
||||
Assert.AreEqual(1, endpoints.DataSources.Count);
|
||||
var route = endpoints.DataSources.First();
|
||||
Assert.AreEqual(2, route.Endpoints.Count);
|
||||
|
||||
@@ -50,18 +49,6 @@ public class PreviewRoutesTests
|
||||
Assert.AreEqual($"{routes.GetPreviewHubRoute()}/negotiate", endpoint0.RoutePattern.RawText);
|
||||
var endpoint1 = (RouteEndpoint)route.Endpoints[1];
|
||||
Assert.AreEqual($"{routes.GetPreviewHubRoute()}", endpoint1.RoutePattern.RawText);
|
||||
|
||||
var endpoint3 = (RouteEndpoint)endpoints.DataSources.Last().Endpoints[0];
|
||||
var previewControllerName = ControllerExtensions.GetControllerName<PreviewController>();
|
||||
Assert.AreEqual(
|
||||
$"umbraco/{previewControllerName.ToLowerInvariant()}/{{action}}/{{id?}}",
|
||||
endpoint3.RoutePattern.RawText);
|
||||
Assert.AreEqual(Constants.Web.Mvc.BackOfficeArea, endpoint3.RoutePattern.Defaults["area"]);
|
||||
Assert.AreEqual("Index", endpoint3.RoutePattern.Defaults[ActionToken]);
|
||||
Assert.AreEqual(previewControllerName, endpoint3.RoutePattern.Defaults[ControllerToken]);
|
||||
Assert.AreEqual(
|
||||
endpoint3.RoutePattern.Defaults["area"],
|
||||
typeof(PreviewController).GetCustomAttribute<AreaAttribute>(false).RouteValue);
|
||||
}
|
||||
|
||||
private PreviewRoutes GetRoutes(RuntimeLevel level)
|
||||
|
||||
Reference in New Issue
Block a user