Merge branch 'v9/dev' into v9/feature/projecttemplate-cleanup

This commit is contained in:
Ronald Barendse
2022-04-12 11:16:16 +02:00
26 changed files with 1109 additions and 287 deletions

View File

@@ -1,4 +1,4 @@
<Project>
<Project>
<!-- Enable multi-level merging -->
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)../'))" />

View File

@@ -92,6 +92,8 @@ namespace JsonSchema
public ContentDashboardSettings ContentDashboard { get; set; }
public HelpPageSettings HelpPage { get; set; }
public InstallDefaultDataSettings DefaultDataCreation { get; set; }
}
/// <summary>

View File

@@ -0,0 +1,73 @@
// Copyright (c) Umbraco.
// See LICENSE for more details.
using System.Collections.Generic;
namespace Umbraco.Cms.Core.Configuration.Models
{
/// <summary>
/// An enumeration of options available for control over installation of default Umbraco data.
/// </summary>
public enum InstallDefaultDataOption
{
/// <summary>
/// Do not install any items of this type (other than Umbraco defined essential ones).
/// </summary>
None,
/// <summary>
/// Only install the default data specified in the <see cref="InstallDefaultDataSettings.Values"/>
/// </summary>
Values,
/// <summary>
/// Install all default data, except that specified in the <see cref="InstallDefaultDataSettings.Values"/>
/// </summary>
ExceptValues,
/// <summary>
/// Install all default data.
/// </summary>
All
}
/// <summary>
/// Typed configuration options for installation of default data.
/// </summary>
public class InstallDefaultDataSettings
{
/// <summary>
/// Gets or sets a value indicating whether to create default data on installation.
/// </summary>
public InstallDefaultDataOption InstallData { get; set; } = InstallDefaultDataOption.All;
/// <summary>
/// Gets or sets a value indicating which default data (languages, data types, etc.) should be created when <see cref="InstallData"/> is
/// set to <see cref="InstallDefaultDataOption.Values"/> or <see cref="InstallDefaultDataOption.ExceptValues"/>.
/// </summary>
/// <remarks>
/// <para>
/// For languages, the values provided should be the ISO codes for the languages to be included or excluded, e.g. "en-US".
/// If removing the single default language, ensure that a different one is created via some other means (such
/// as a restore from Umbraco Deploy schema data).
/// </para>
/// <para>
/// For data types, the values provided should be the Guid values used by Umbraco for the data type, listed at:
/// <see cref="Constants.DataTypes"/>
/// Some data types - such as the string label - cannot be excluded from install as they are required for core Umbraco
/// functionality.
/// Otherwise take care not to remove data types required for default Umbraco media and member types, unless you also
/// choose to exclude them.
/// </para>
/// <para>
/// For media types, the values provided should be the Guid values used by Umbraco for the media type, listed at:
/// https://github.com/umbraco/Umbraco-CMS/blob/v9/dev/src/Umbraco.Infrastructure/Migrations/Install/DatabaseDataCreator.cs.
/// </para>
/// <para>
/// For member types, the values provided should be the Guid values used by Umbraco for the member type, listed at:
/// https://github.com/umbraco/Umbraco-CMS/blob/v9/dev/src/Umbraco.Infrastructure/Migrations/Install/DatabaseDataCreator.cs.
/// </para>
/// </remarks>
public IList<string> Values { get; set; } = new List<string>();
}
}

View File

@@ -56,6 +56,21 @@ namespace Umbraco.Cms.Core
public const string ConfigPackageMigration = ConfigPrefix + "PackageMigration";
public const string ConfigContentDashboard = ConfigPrefix + "ContentDashboard";
public const string ConfigHelpPage = ConfigPrefix + "HelpPage";
public const string ConfigInstallDefaultData = ConfigPrefix + "InstallDefaultData";
public static class NamedOptions
{
public static class InstallDefaultData
{
public const string Languages = "Languages";
public const string DataTypes = "DataTypes";
public const string MediaTypes = "MediaTypes";
public const string MemberTypes = "MemberTypes";
}
}
}
}
}

View File

@@ -211,7 +211,6 @@ namespace Umbraco.Cms.Core
/// </summary>
public static readonly Guid ListViewMembersGuid = new Guid(ListViewMembers);
/// <summary>
/// Guid for Date Picker with time as string
/// </summary>

View File

@@ -90,6 +90,19 @@ namespace Umbraco.Cms.Core.DependencyInjection
.AddUmbracoOptions<ContentDashboardSettings>()
.AddUmbracoOptions<HelpPageSettings>();
builder.Services.Configure<InstallDefaultDataSettings>(
Constants.Configuration.NamedOptions.InstallDefaultData.Languages,
builder.Config.GetSection($"{Constants.Configuration.ConfigInstallDefaultData}:{Constants.Configuration.NamedOptions.InstallDefaultData.Languages}"));
builder.Services.Configure<InstallDefaultDataSettings>(
Constants.Configuration.NamedOptions.InstallDefaultData.DataTypes,
builder.Config.GetSection($"{Constants.Configuration.ConfigInstallDefaultData}:{Constants.Configuration.NamedOptions.InstallDefaultData.DataTypes}"));
builder.Services.Configure<InstallDefaultDataSettings>(
Constants.Configuration.NamedOptions.InstallDefaultData.MediaTypes,
builder.Config.GetSection($"{Constants.Configuration.ConfigInstallDefaultData}:{Constants.Configuration.NamedOptions.InstallDefaultData.MediaTypes}"));
builder.Services.Configure<InstallDefaultDataSettings>(
Constants.Configuration.NamedOptions.InstallDefaultData.MemberTypes,
builder.Config.GetSection($"{Constants.Configuration.ConfigInstallDefaultData}:{Constants.Configuration.NamedOptions.InstallDefaultData.MemberTypes}"));
builder.Services.Configure<RequestHandlerSettings>(options => options.MergeReplacements(builder.Config));
return builder;

View File

@@ -1,9 +1,13 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using NPoco;
using Umbraco.Cms.Core.Configuration;
using Umbraco.Cms.Core.Configuration.Models;
using Umbraco.Cms.Core.Events;
using Umbraco.Cms.Core.Notifications;
using Umbraco.Cms.Infrastructure.Migrations.Notifications;
@@ -11,6 +15,7 @@ using Umbraco.Cms.Infrastructure.Persistence;
using Umbraco.Cms.Infrastructure.Persistence.DatabaseModelDefinitions;
using Umbraco.Cms.Infrastructure.Persistence.Dtos;
using Umbraco.Cms.Infrastructure.Persistence.SqlSyntax;
using Umbraco.Cms.Web.Common.DependencyInjection;
using Umbraco.Extensions;
using ColumnInfo = Umbraco.Cms.Infrastructure.Persistence.SqlSyntax.ColumnInfo;
@@ -88,15 +93,33 @@ namespace Umbraco.Cms.Infrastructure.Migrations.Install
private readonly ILogger<DatabaseSchemaCreator> _logger;
private readonly ILoggerFactory _loggerFactory;
private readonly IUmbracoVersion _umbracoVersion;
private readonly IOptionsMonitor<InstallDefaultDataSettings> _defaultDataCreationSettings;
public DatabaseSchemaCreator(IUmbracoDatabase database, ILogger<DatabaseSchemaCreator> logger,
ILoggerFactory loggerFactory, IUmbracoVersion umbracoVersion, IEventAggregator eventAggregator)
[Obsolete("Please use constructor taking all parameters. Scheduled for removal in V11.")]
public DatabaseSchemaCreator(
IUmbracoDatabase database,
ILogger<DatabaseSchemaCreator> logger,
ILoggerFactory loggerFactory,
IUmbracoVersion umbracoVersion,
IEventAggregator eventAggregator)
: this (database, logger, loggerFactory, umbracoVersion, eventAggregator, StaticServiceProvider.Instance.GetRequiredService<IOptionsMonitor<InstallDefaultDataSettings>>())
{
}
public DatabaseSchemaCreator(
IUmbracoDatabase database,
ILogger<DatabaseSchemaCreator> logger,
ILoggerFactory loggerFactory,
IUmbracoVersion umbracoVersion,
IEventAggregator eventAggregator,
IOptionsMonitor<InstallDefaultDataSettings> defaultDataCreationSettings)
{
_database = database ?? throw new ArgumentNullException(nameof(database));
_logger = logger ?? throw new ArgumentNullException(nameof(logger));
_loggerFactory = loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory));
_umbracoVersion = umbracoVersion ?? throw new ArgumentNullException(nameof(umbracoVersion));
_eventAggregator = eventAggregator;
_defaultDataCreationSettings = defaultDataCreationSettings;
if (_database?.SqlContext?.SqlSyntax == null)
{
@@ -153,8 +176,11 @@ namespace Umbraco.Cms.Infrastructure.Migrations.Install
if (creatingNotification.Cancel == false)
{
var dataCreation = new DatabaseDataCreator(_database,
_loggerFactory.CreateLogger<DatabaseDataCreator>(), _umbracoVersion);
var dataCreation = new DatabaseDataCreator(
_database,
_loggerFactory.CreateLogger<DatabaseDataCreator>(),
_umbracoVersion,
_defaultDataCreationSettings);
foreach (Type table in OrderedTables)
{
CreateTable(false, table, dataCreation);
@@ -419,9 +445,14 @@ namespace Umbraco.Cms.Infrastructure.Migrations.Install
where T : new()
{
Type tableType = typeof(T);
CreateTable(overwrite, tableType,
new DatabaseDataCreator(_database, _loggerFactory.CreateLogger<DatabaseDataCreator>(),
_umbracoVersion));
CreateTable(
overwrite,
tableType,
new DatabaseDataCreator(
_database,
_loggerFactory.CreateLogger<DatabaseDataCreator>(),
_umbracoVersion,
_defaultDataCreationSettings));
}
/// <summary>

View File

@@ -1,7 +1,12 @@
using System;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using Umbraco.Cms.Core.Configuration;
using Umbraco.Cms.Core.Configuration.Models;
using Umbraco.Cms.Core.Events;
using Umbraco.Cms.Infrastructure.Persistence;
using Umbraco.Cms.Web.Common.DependencyInjection;
namespace Umbraco.Cms.Infrastructure.Migrations.Install
{
@@ -14,22 +19,35 @@ namespace Umbraco.Cms.Infrastructure.Migrations.Install
private readonly ILoggerFactory _loggerFactory;
private readonly IUmbracoVersion _umbracoVersion;
private readonly IEventAggregator _eventAggregator;
private readonly IOptionsMonitor<InstallDefaultDataSettings> _installDefaultDataSettings;
[Obsolete("Please use the constructor taking all parameters. Scheduled for removal in V11.")]
public DatabaseSchemaCreatorFactory(
ILogger<DatabaseSchemaCreator> logger,
ILoggerFactory loggerFactory,
IUmbracoVersion umbracoVersion,
IEventAggregator eventAggregator)
: this(logger, loggerFactory, umbracoVersion, eventAggregator, StaticServiceProvider.Instance.GetRequiredService<IOptionsMonitor<InstallDefaultDataSettings>>())
{
}
public DatabaseSchemaCreatorFactory(
ILogger<DatabaseSchemaCreator> logger,
ILoggerFactory loggerFactory,
IUmbracoVersion umbracoVersion,
IEventAggregator eventAggregator,
IOptionsMonitor<InstallDefaultDataSettings> installDefaultDataSettings)
{
_logger = logger;
_loggerFactory = loggerFactory;
_umbracoVersion = umbracoVersion;
_eventAggregator = eventAggregator;
_installDefaultDataSettings = installDefaultDataSettings;
}
public DatabaseSchemaCreator Create(IUmbracoDatabase database)
{
return new DatabaseSchemaCreator(database, _logger, _loggerFactory, _umbracoVersion, _eventAggregator);
return new DatabaseSchemaCreator(database, _logger, _loggerFactory, _umbracoVersion, _eventAggregator, _installDefaultDataSettings);
}
}
}

View File

@@ -159,7 +159,8 @@ namespace Umbraco.Cms.Infrastructure.Persistence.Repositories.Implement
.LeftJoin<ContentDto>("c").On<NodeDto, ContentDto>((left, right) => left.NodeId == right.NodeId, aliasLeft: "cn", aliasRight: "c")
.LeftJoin<ContentTypeDto>("ct").On<ContentDto, ContentTypeDto>((left, right) => left.ContentTypeId == right.NodeId, aliasLeft: "c", aliasRight: "ct")
.LeftJoin<NodeDto>("ctn").On<ContentTypeDto, NodeDto>((left, right) => left.NodeId == right.NodeId, aliasLeft: "ct", aliasRight: "ctn")
.Where<NodeDto>(x => x.NodeId == id, "pn");
.Where<NodeDto>(x => x.NodeId == id, "pn")
.Where<RelationDto>(x => x.ChildId == id || x.ParentId == id, "r"); // This last Where is purely to help SqlServer make a smarter query plan. More info https://github.com/umbraco/Umbraco-CMS/issues/12190
if (filterMustBeIsDependency)
{

View File

@@ -443,10 +443,18 @@ namespace Umbraco.Cms.Infrastructure.PublishedCache
refreshedIdsA.Contains(x.ContentTypeId) &&
BuildKit(x, out _)))
{
// replacing the node: must preserve the parents
// replacing the node: must preserve the relations
var node = GetHead(_contentNodes, kit.Node.Id)?.Value;
if (node != null)
{
// Preserve children
kit.Node.FirstChildContentId = node.FirstChildContentId;
kit.Node.LastChildContentId = node.LastChildContentId;
// Also preserve siblings
kit.Node.NextSiblingContentId = node.NextSiblingContentId;
kit.Node.PreviousSiblingContentId = node.PreviousSiblingContentId;
}
SetValueLocked(_contentNodes, kit.Node.Id, kit.Node);

View File

@@ -2,10 +2,12 @@ using System;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Http.Extensions;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Controllers;
using Microsoft.AspNetCore.Mvc.Filters;
using Microsoft.Extensions.DependencyInjection;
using Umbraco.Cms.Core;
using Umbraco.Cms.Core.Models.PublishedContent;
using Umbraco.Cms.Core.Routing;
using Umbraco.Cms.Core.Web;
@@ -54,12 +56,14 @@ namespace Umbraco.Cms.Web.Common.Filters
{
if (content != null)
{
IUmbracoContextAccessor umbracoContextAccessor = context.HttpContext.RequestServices.GetRequiredService<IUmbracoContextAccessor>();
UriUtility uriUtility = context.HttpContext.RequestServices.GetRequiredService<UriUtility>();
Uri originalRequestUrl = new Uri(context.HttpContext.Request.GetEncodedUrl());
Uri cleanedUrl = uriUtility.UriToUmbraco(originalRequestUrl);
IPublishedRouter router = context.HttpContext.RequestServices.GetRequiredService<IPublishedRouter>();
var umbracoContext = umbracoContextAccessor.GetRequiredUmbracoContext();
IPublishedRequestBuilder requestBuilder = await router.CreateRequestAsync(umbracoContext.CleanedUmbracoUrl);
IPublishedRequestBuilder requestBuilder = await router.CreateRequestAsync(cleanedUrl);
requestBuilder.SetPublishedContent(content);
IPublishedRequest publishedRequest = requestBuilder.Build();

View File

@@ -22,7 +22,9 @@ using Umbraco.Cms.Core.Services;
using Umbraco.Cms.Core.Web;
using Umbraco.Cms.Infrastructure.PublishedCache;
using Umbraco.Cms.Infrastructure.WebAssets;
using Umbraco.Cms.Web.Common.DependencyInjection;
using Umbraco.Cms.Web.Common.Profiler;
using Umbraco.Cms.Web.Common.Routing;
using Umbraco.Extensions;
namespace Umbraco.Cms.Web.Common.Middleware
@@ -53,6 +55,7 @@ namespace Umbraco.Cms.Web.Common.Middleware
private readonly IRuntimeState _runtimeState;
private readonly IVariationContextAccessor _variationContextAccessor;
private readonly IDefaultCultureAccessor _defaultCultureAccessor;
private readonly IOptions<UmbracoRequestOptions> _umbracoRequestOptions;
private readonly SmidgeOptions _smidgeOptions;
private readonly WebProfiler _profiler;
@@ -66,6 +69,43 @@ namespace Umbraco.Cms.Web.Common.Middleware
private static object s_firstBackOfficeRequestLocker = new object();
#pragma warning restore IDE0044 // Add readonly modifier
/// <summary>
/// Initializes a new instance of the <see cref="UmbracoRequestMiddleware"/> class.
/// </summary>
// Obsolete, scheduled for removal in V11
[Obsolete("Use constructor that takes an IOptions<UmbracoRequestOptions>")]
public UmbracoRequestMiddleware(
ILogger<UmbracoRequestMiddleware> logger,
IUmbracoContextFactory umbracoContextFactory,
IRequestCache requestCache,
PublishedSnapshotServiceEventHandler publishedSnapshotServiceEventHandler,
IEventAggregator eventAggregator,
IProfiler profiler,
IHostingEnvironment hostingEnvironment,
UmbracoRequestPaths umbracoRequestPaths,
BackOfficeWebAssets backOfficeWebAssets,
IOptions<SmidgeOptions> smidgeOptions,
IRuntimeState runtimeState,
IVariationContextAccessor variationContextAccessor,
IDefaultCultureAccessor defaultCultureAccessor)
: this(
logger,
umbracoContextFactory,
requestCache,
publishedSnapshotServiceEventHandler,
eventAggregator,
profiler,
hostingEnvironment,
umbracoRequestPaths,
backOfficeWebAssets,
smidgeOptions,
runtimeState,
variationContextAccessor,
defaultCultureAccessor,
StaticServiceProvider.Instance.GetRequiredService<IOptions<UmbracoRequestOptions>>())
{
}
/// <summary>
/// Initializes a new instance of the <see cref="UmbracoRequestMiddleware"/> class.
/// </summary>
@@ -82,7 +122,8 @@ namespace Umbraco.Cms.Web.Common.Middleware
IOptions<SmidgeOptions> smidgeOptions,
IRuntimeState runtimeState,
IVariationContextAccessor variationContextAccessor,
IDefaultCultureAccessor defaultCultureAccessor)
IDefaultCultureAccessor defaultCultureAccessor,
IOptions<UmbracoRequestOptions> umbracoRequestOptions)
{
_logger = logger;
_umbracoContextFactory = umbracoContextFactory;
@@ -95,6 +136,7 @@ namespace Umbraco.Cms.Web.Common.Middleware
_runtimeState = runtimeState;
_variationContextAccessor = variationContextAccessor;
_defaultCultureAccessor = defaultCultureAccessor;
_umbracoRequestOptions = umbracoRequestOptions;
_smidgeOptions = smidgeOptions.Value;
_profiler = profiler as WebProfiler; // Ignore if not a WebProfiler
}
@@ -103,7 +145,7 @@ namespace Umbraco.Cms.Web.Common.Middleware
public async Task InvokeAsync(HttpContext context, RequestDelegate next)
{
// do not process if client-side request
if (context.Request.IsClientSideRequest())
if (context.Request.IsClientSideRequest() && !_umbracoRequestOptions.Value.HandleAsServerSideRequest(context.Request))
{
// we need this here because for bundle requests, these are 'client side' requests that we need to handle
LazyInitializeBackOfficeServices(context.Request.Path);

View File

@@ -0,0 +1,14 @@
using System;
using Microsoft.AspNetCore.Http;
namespace Umbraco.Cms.Web.Common.Routing
{
public class UmbracoRequestOptions
{
/// <summary>
/// Gets the delegate that checks if we're gonna handle a request as a client-side request
/// this returns true by default and can be overwritten in Startup.cs
/// </summary>
public Func<HttpRequest, bool> HandleAsServerSideRequest { get; set; } = x => false;
}
}

View File

@@ -1259,7 +1259,7 @@ function contentResource($q, $http, umbDataFormatter, umbRequestHelper) {
getPublicAccess: function (contentId) {
return umbRequestHelper.resourcePromise(
$http.get(
umbRequestHelper.getApiUrl("contentApiBaseUrl", "GetPublicAccess", {
umbRequestHelper.getApiUrl("publicAccessApiBaseUrl", "GetPublicAccess", {
contentId: contentId
})
),
@@ -1308,7 +1308,7 @@ function contentResource($q, $http, umbDataFormatter, umbRequestHelper) {
}
return umbRequestHelper.resourcePromise(
$http.post(
umbRequestHelper.getApiUrl("contentApiBaseUrl", "PostPublicAccess", publicAccess)
umbRequestHelper.getApiUrl("publicAccessApiBaseUrl", "PostPublicAccess", publicAccess)
),
"Failed to update public access for content item with id " + contentId
);

View File

@@ -1,7 +1,7 @@
(function () {
"use strict";
function ContentProtectController($scope, $q, contentResource, memberResource, memberGroupResource, navigationService, localizationService, editorService) {
function ContentProtectController($scope, $q, publicAccessResource, memberResource, memberGroupResource, navigationService, localizationService, editorService) {
var vm = this;
var id = $scope.currentNode.id;
@@ -30,7 +30,7 @@
vm.loading = true;
// get the current public access protection
contentResource.getPublicAccess(id).then(function (publicAccess) {
publicAccessResource.getPublicAccess(id).then(function (publicAccess) {
vm.loading = false;
// init the current settings for public access (if any)
@@ -94,7 +94,7 @@
vm.buttonState = "busy";
var groups = _.map(vm.groups, function (group) { return encodeURIComponent(group.name); });
var usernames = _.map(vm.members, function (member) { return member.username; });
contentResource.updatePublicAccess(id, groups, usernames, vm.loginPage.id, vm.errorPage.id).then(
publicAccessResource.updatePublicAccess(id, groups, usernames, vm.loginPage.id, vm.errorPage.id).then(
function () {
localizationService.localize("publicAccess_paIsProtected", [$scope.currentNode.name]).then(function (value) {
vm.success = {
@@ -181,11 +181,11 @@
vm.members.push(newMember);
}
})
);
);
});
editorService.close();
navigationService.allowHideDialog(true);
// wait for all the member lookups to complete
// wait for all the member lookups to complete
vm.loading = true;
$q.all(promises).then(function() {
vm.loading = false;
@@ -239,7 +239,7 @@
function removeProtectionConfirm() {
vm.buttonState = "busy";
contentResource.removePublicAccess(id).then(
publicAccessResource.removePublicAccess(id).then(
function () {
localizationService.localize("publicAccess_paIsRemoved", [$scope.currentNode.name]).then(function(value) {
vm.success = {

View File

@@ -1,29 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata minClientVersion="4.1.0">
<id>Umbraco.Templates</id>
<version>1.0.0</version>
<authors>Umbraco HQ</authors>
<owners>Umbraco HQ</owners>
<license type="expression">MIT</license>
<projectUrl>https://umbraco.com/</projectUrl>
<metadata minClientVersion="4.1.0">
<id>Umbraco.Templates</id>
<version>1.0.0</version>
<authors>Umbraco HQ</authors>
<owners>Umbraco HQ</owners>
<license type="expression">MIT</license>
<projectUrl>https://umbraco.com/</projectUrl>
<icon>icon.png</icon>
<iconUrl>https://umbraco.com/dist/nuget/logo-small.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<iconUrl>https://umbraco.com/dist/nuget/logo-small.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Umbraco CMS templates for .NET Core Template Engine available through the dotnet CLI's new command</description>
<language>en-US</language>
<tags>umbraco</tags>
<language>en-US</language>
<tags>umbraco</tags>
<repository type="git" url="https://github.com/umbraco/Umbraco-CMS" />
<packageTypes>
<packageType name="Template" />
</packageTypes>
</metadata>
<packageTypes>
<packageType name="Template" />
</packageTypes>
</metadata>
<files>
<file src="icon.png" />
<file src="UmbracoPackage\**" target="UmbracoPackage" exclude="bin;obj" />
<file src="UmbracoProject\**" target="UmbracoProject" exclude="bin;obj" />
<file src="..\src\Umbraco.Web.UI\Program.cs" target="UmbracoProject" />
<file src="..\src\Umbraco.Web.UI\Startup.cs" target="UmbracoProject" />
<file src="..\src\Umbraco.Web.UI\Views\**" target="UmbracoProject\Views" />
<file src="icon.png" />
<file src="UmbracoPackage\**" target="UmbracoPackage" exclude="bin;obj" />
<file src="UmbracoProject\**" target="UmbracoProject" exclude="bin;obj" />
<file src="..\src\Umbraco.Web.UI\Program.cs" target="UmbracoProject" />
<file src="..\src\Umbraco.Web.UI\Startup.cs" target="UmbracoProject" />
<file src="..\src\Umbraco.Web.UI\Views\**" target="UmbracoProject\Views" />
</files>
</package>

View File

@@ -46,7 +46,7 @@
"description": "The version of Umbraco.Cms to add as PackageReference.",
"type": "parameter",
"datatype": "string",
"defaultValue": "9.4.0-rc",
"defaultValue": "9.5.0-rc",
"replaces": "UMBRACO_VERSION_FROM_TEMPLATE"
},
"namespaceReplacer": {

View File

@@ -44,7 +44,7 @@
"description": "The version of Umbraco.Cms to add as PackageReference.",
"type": "parameter",
"datatype": "string",
"defaultValue": "9.4.0-rc",
"defaultValue": "9.5.0-rc",
"replaces": "UMBRACO_VERSION_FROM_TEMPLATE"
},
"UseHttpsRedirect": {

View File

@@ -2,11 +2,13 @@ using System;
using System.IO;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
using Microsoft.Extensions.Options;
using Moq;
using NPoco;
using NUnit.Framework;
using Umbraco.Cms.Core;
using Umbraco.Cms.Core.Configuration;
using Umbraco.Cms.Core.Configuration.Models;
using Umbraco.Cms.Core.Events;
using Umbraco.Cms.Infrastructure.Migrations.Install;
using Umbraco.Cms.Infrastructure.Persistence;
@@ -67,7 +69,7 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence
using (var database = UmbracoDatabaseFactory.CreateDatabase())
using (var transaction = database.GetTransaction())
{
schemaHelper = new DatabaseSchemaCreator(database, Mock.Of<ILogger<DatabaseSchemaCreator>>(), NullLoggerFactory.Instance, new UmbracoVersion(), Mock.Of<IEventAggregator>());
schemaHelper = new DatabaseSchemaCreator(database, Mock.Of<ILogger<DatabaseSchemaCreator>>(), NullLoggerFactory.Instance, new UmbracoVersion(), Mock.Of<IEventAggregator>(), Mock.Of<IOptionsMonitor<InstallDefaultDataSettings>>(x => x.CurrentValue == new InstallDefaultDataSettings()));
schemaHelper.InitializeDatabaseSchema();
transaction.Complete();
}

View File

@@ -10,9 +10,11 @@ using System.Diagnostics;
using System.Linq;
using System.Threading;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using Moq;
using Umbraco.Cms.Core;
using Umbraco.Cms.Core.Configuration;
using Umbraco.Cms.Core.Configuration.Models;
using Umbraco.Cms.Core.Events;
using Umbraco.Cms.Infrastructure.Migrations.Install;
using Umbraco.Cms.Infrastructure.Persistence;
@@ -137,7 +139,7 @@ namespace Umbraco.Cms.Tests.Integration.Testing
using (NPoco.ITransaction transaction = database.GetTransaction())
{
var schemaCreator = new DatabaseSchemaCreator(database, _loggerFactory.CreateLogger<DatabaseSchemaCreator>(), _loggerFactory, new UmbracoVersion(), Mock.Of<IEventAggregator>());
var schemaCreator = new DatabaseSchemaCreator(database, _loggerFactory.CreateLogger<DatabaseSchemaCreator>(), _loggerFactory, new UmbracoVersion(), Mock.Of<IEventAggregator>(), Mock.Of<IOptionsMonitor<InstallDefaultDataSettings>>(x => x.CurrentValue == new InstallDefaultDataSettings()));
schemaCreator.InitializeDatabaseSchema();
transaction.Complete();

View File

@@ -6,9 +6,11 @@ using System.Linq;
using System.Threading.Tasks;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
using Microsoft.Extensions.Options;
using Moq;
using NUnit.Framework;
using Umbraco.Cms.Core.Configuration;
using Umbraco.Cms.Core.Configuration.Models;
using Umbraco.Cms.Core.Events;
using Umbraco.Cms.Core.Migrations;
using Umbraco.Cms.Core.Scoping;
@@ -56,7 +58,7 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Migrations
upgrader.Execute(MigrationPlanExecutor, ScopeProvider, Mock.Of<IKeyValueService>());
var helper = new DatabaseSchemaCreator(scope.Database, LoggerFactory.CreateLogger<DatabaseSchemaCreator>(), LoggerFactory, UmbracoVersion, EventAggregator);
var helper = new DatabaseSchemaCreator(scope.Database, LoggerFactory.CreateLogger<DatabaseSchemaCreator>(), LoggerFactory, UmbracoVersion, EventAggregator, Mock.Of<IOptionsMonitor<InstallDefaultDataSettings>>());
bool exists = helper.TableExists("umbracoUser");
Assert.IsTrue(exists);

View File

@@ -1,6 +1,9 @@
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using Moq;
using NUnit.Framework;
using Umbraco.Cms.Core.Configuration;
using Umbraco.Cms.Core.Configuration.Models;
using Umbraco.Cms.Core.Events;
using Umbraco.Cms.Infrastructure.Migrations.Install;
using Umbraco.Cms.Tests.Common.Testing;
@@ -22,7 +25,7 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence
using (var scope = ScopeProvider.CreateScope())
{
var schema = new DatabaseSchemaCreator(scope.Database, LoggerFactory.CreateLogger<DatabaseSchemaCreator>(), LoggerFactory, UmbracoVersion, EventAggregator);
var schema = new DatabaseSchemaCreator(scope.Database, LoggerFactory.CreateLogger<DatabaseSchemaCreator>(), LoggerFactory, UmbracoVersion, EventAggregator, Mock.Of<IOptionsMonitor<InstallDefaultDataSettings>>(x => x.CurrentValue == new InstallDefaultDataSettings()));
result = schema.ValidateSchema(DatabaseSchemaCreator.OrderedTables);
}

View File

@@ -1,8 +1,12 @@
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
using Microsoft.Extensions.Options;
using Moq;
using NUnit.Framework;
using Umbraco.Cms.Core.Configuration;
using Umbraco.Cms.Core.Configuration.Models;
using Umbraco.Cms.Core.Events;
using Umbraco.Cms.Core.Scoping;
using Umbraco.Cms.Infrastructure.Migrations.Install;
using Umbraco.Cms.Infrastructure.Persistence.Dtos;
using Umbraco.Cms.Tests.Common.Testing;
@@ -23,7 +27,7 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence
{
using (var scope = ScopeProvider.CreateScope())
{
var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger<DatabaseSchemaCreator>(), _loggerFactory, UmbracoVersion, EventAggregator);
var helper = CreateDatabaseSchemaCreator(scope);
helper.CreateTable<NodeDto>();
@@ -36,7 +40,7 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence
{
using (var scope = ScopeProvider.CreateScope())
{
var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger<DatabaseSchemaCreator>(), _loggerFactory, UmbracoVersion, EventAggregator);
var helper = CreateDatabaseSchemaCreator(scope);
helper.CreateTable<NodeDto>();
helper.CreateTable<AccessDto>();
@@ -50,7 +54,7 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence
{
using (var scope = ScopeProvider.CreateScope())
{
var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger<DatabaseSchemaCreator>(), _loggerFactory, UmbracoVersion, EventAggregator);
var helper = CreateDatabaseSchemaCreator(scope);
helper.CreateTable<NodeDto>();
helper.CreateTable<AccessDto>();
@@ -65,7 +69,7 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence
{
using (var scope = ScopeProvider.CreateScope())
{
var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger<DatabaseSchemaCreator>(), _loggerFactory, UmbracoVersion, EventAggregator);
var helper = CreateDatabaseSchemaCreator(scope);
helper.CreateTable<NodeDto>();
helper.CreateTable<ContentType2ContentTypeDto>();
@@ -79,7 +83,7 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence
{
using (var scope = ScopeProvider.CreateScope())
{
var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger<DatabaseSchemaCreator>(), _loggerFactory, UmbracoVersion, EventAggregator);
var helper = CreateDatabaseSchemaCreator(scope);
helper.CreateTable<NodeDto>();
helper.CreateTable<ContentTypeDto>();
@@ -94,7 +98,7 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence
{
using (var scope = ScopeProvider.CreateScope())
{
var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger<DatabaseSchemaCreator>(), _loggerFactory, UmbracoVersion, EventAggregator);
var helper = CreateDatabaseSchemaCreator(scope);
helper.CreateTable<NodeDto>();
helper.CreateTable<ContentTypeDto>();
@@ -108,7 +112,7 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence
{
using (var scope = ScopeProvider.CreateScope())
{
var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger<DatabaseSchemaCreator>(), _loggerFactory, UmbracoVersion, EventAggregator);
var helper = CreateDatabaseSchemaCreator(scope);
helper.CreateTable<NodeDto>();
helper.CreateTable<ContentTypeDto>();
@@ -124,7 +128,7 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence
{
using (var scope = ScopeProvider.CreateScope())
{
var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger<DatabaseSchemaCreator>(), _loggerFactory, UmbracoVersion, EventAggregator);
var helper = CreateDatabaseSchemaCreator(scope);
helper.CreateTable<NodeDto>();
helper.CreateTable<DataTypeDto>();
@@ -138,7 +142,7 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence
{
using (var scope = ScopeProvider.CreateScope())
{
var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger<DatabaseSchemaCreator>(), _loggerFactory, UmbracoVersion, EventAggregator);
var helper = CreateDatabaseSchemaCreator(scope);
helper.CreateTable<DictionaryDto>();
@@ -151,7 +155,7 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence
{
using (var scope = ScopeProvider.CreateScope())
{
var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger<DatabaseSchemaCreator>(), _loggerFactory, UmbracoVersion, EventAggregator);
var helper = CreateDatabaseSchemaCreator(scope);
helper.CreateTable<DictionaryDto>();
helper.CreateTable<LanguageDto>();
@@ -166,7 +170,7 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence
{
using (var scope = ScopeProvider.CreateScope())
{
var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger<DatabaseSchemaCreator>(), _loggerFactory, UmbracoVersion, EventAggregator);
var helper = CreateDatabaseSchemaCreator(scope);
helper.CreateTable<NodeDto>();
helper.CreateTable<TemplateDto>();
@@ -180,7 +184,7 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence
{
using (var scope = ScopeProvider.CreateScope())
{
var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger<DatabaseSchemaCreator>(), _loggerFactory, UmbracoVersion, EventAggregator);
var helper = CreateDatabaseSchemaCreator(scope);
helper.CreateTable<NodeDto>();
helper.CreateTable<ContentTypeDto>();
@@ -197,7 +201,7 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence
{
using (var scope = ScopeProvider.CreateScope())
{
var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger<DatabaseSchemaCreator>(), _loggerFactory, UmbracoVersion, EventAggregator);
var helper = CreateDatabaseSchemaCreator(scope);
helper.CreateTable<NodeDto>();
helper.CreateTable<ContentTypeDto>();
@@ -213,7 +217,7 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence
{
using (var scope = ScopeProvider.CreateScope())
{
var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger<DatabaseSchemaCreator>(), _loggerFactory, UmbracoVersion, EventAggregator);
var helper = CreateDatabaseSchemaCreator(scope);
helper.CreateTable<NodeDto>();
helper.CreateTable<DomainDto>();
@@ -227,7 +231,7 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence
{
using (var scope = ScopeProvider.CreateScope())
{
var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger<DatabaseSchemaCreator>(), _loggerFactory, UmbracoVersion, EventAggregator);
var helper = CreateDatabaseSchemaCreator(scope);
helper.CreateTable<LogViewerQueryDto>();
@@ -240,7 +244,7 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence
{
using (var scope = ScopeProvider.CreateScope())
{
var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger<DatabaseSchemaCreator>(), _loggerFactory, UmbracoVersion, EventAggregator);
var helper = CreateDatabaseSchemaCreator(scope);
helper.CreateTable<LanguageDto>();
@@ -253,7 +257,7 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence
{
using (var scope = ScopeProvider.CreateScope())
{
var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger<DatabaseSchemaCreator>(), _loggerFactory, UmbracoVersion, EventAggregator);
var helper = CreateDatabaseSchemaCreator(scope);
helper.CreateTable<LogDto>();
@@ -266,7 +270,7 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence
{
using (var scope = ScopeProvider.CreateScope())
{
var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger<DatabaseSchemaCreator>(), _loggerFactory, UmbracoVersion, EventAggregator);
var helper = CreateDatabaseSchemaCreator(scope);
helper.CreateTable<MacroDto>();
@@ -279,7 +283,7 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence
{
using (var scope = ScopeProvider.CreateScope())
{
var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger<DatabaseSchemaCreator>(), _loggerFactory, UmbracoVersion, EventAggregator);
var helper = CreateDatabaseSchemaCreator(scope);
helper.CreateTable<NodeDto>();
helper.CreateTable<ContentTypeDto>();
@@ -295,7 +299,7 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence
{
using (var scope = ScopeProvider.CreateScope())
{
var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger<DatabaseSchemaCreator>(), _loggerFactory, UmbracoVersion, EventAggregator);
var helper = CreateDatabaseSchemaCreator(scope);
helper.CreateTable<NodeDto>();
helper.CreateTable<ContentTypeDto>();
@@ -312,7 +316,7 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence
{
using (var scope = ScopeProvider.CreateScope())
{
var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger<DatabaseSchemaCreator>(), _loggerFactory, UmbracoVersion, EventAggregator);
var helper = CreateDatabaseSchemaCreator(scope);
helper.CreateTable<NodeDto>();
helper.CreateTable<ContentTypeDto>();
@@ -327,7 +331,7 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence
{
using (var scope = ScopeProvider.CreateScope())
{
var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger<DatabaseSchemaCreator>(), _loggerFactory, UmbracoVersion, EventAggregator);
var helper = CreateDatabaseSchemaCreator(scope);
helper.CreateTable<NodeDto>();
helper.CreateTable<ContentTypeDto>();
@@ -345,7 +349,7 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence
{
using (var scope = ScopeProvider.CreateScope())
{
var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger<DatabaseSchemaCreator>(), _loggerFactory, UmbracoVersion, EventAggregator);
var helper = CreateDatabaseSchemaCreator(scope);
helper.CreateTable<NodeDto>();
helper.CreateTable<ContentTypeDto>();
@@ -362,7 +366,7 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence
{
using (var scope = ScopeProvider.CreateScope())
{
var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger<DatabaseSchemaCreator>(), _loggerFactory, UmbracoVersion, EventAggregator);
var helper = CreateDatabaseSchemaCreator(scope);
helper.CreateTable<NodeDto>();
helper.CreateTable<ContentTypeDto>();
@@ -377,7 +381,7 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence
{
using (var scope = ScopeProvider.CreateScope())
{
var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger<DatabaseSchemaCreator>(), _loggerFactory, UmbracoVersion, EventAggregator);
var helper = CreateDatabaseSchemaCreator(scope);
helper.CreateTable<NodeDto>();
helper.CreateTable<RelationTypeDto>();
@@ -392,7 +396,7 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence
{
using (var scope = ScopeProvider.CreateScope())
{
var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger<DatabaseSchemaCreator>(), _loggerFactory, UmbracoVersion, EventAggregator);
var helper = CreateDatabaseSchemaCreator(scope);
helper.CreateTable<RelationTypeDto>();
@@ -405,7 +409,7 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence
{
using (var scope = ScopeProvider.CreateScope())
{
var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger<DatabaseSchemaCreator>(), _loggerFactory, UmbracoVersion, EventAggregator);
var helper = CreateDatabaseSchemaCreator(scope);
helper.CreateTable<TagDto>();
@@ -418,7 +422,7 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence
{
using (var scope = ScopeProvider.CreateScope())
{
var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger<DatabaseSchemaCreator>(), _loggerFactory, UmbracoVersion, EventAggregator);
var helper = CreateDatabaseSchemaCreator(scope);
helper.CreateTable<NodeDto>();
helper.CreateTable<ContentTypeDto>();
@@ -439,7 +443,7 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence
{
using (var scope = ScopeProvider.CreateScope())
{
var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger<DatabaseSchemaCreator>(), _loggerFactory, UmbracoVersion, EventAggregator);
var helper = CreateDatabaseSchemaCreator(scope);
helper.CreateTable<UserDto>();
@@ -452,7 +456,7 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence
{
using (var scope = ScopeProvider.CreateScope())
{
var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger<DatabaseSchemaCreator>(), _loggerFactory, UmbracoVersion, EventAggregator);
var helper = CreateDatabaseSchemaCreator(scope);
helper.CreateTable<NodeDto>();
helper.CreateTable<UserGroupDto>();
@@ -466,7 +470,7 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence
{
using (var scope = ScopeProvider.CreateScope())
{
var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger<DatabaseSchemaCreator>(), _loggerFactory, UmbracoVersion, EventAggregator);
var helper = CreateDatabaseSchemaCreator(scope);
helper.CreateTable<NodeDto>();
helper.CreateTable<UserDto>();
@@ -480,7 +484,7 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence
{
using (var scope = ScopeProvider.CreateScope())
{
var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger<DatabaseSchemaCreator>(), _loggerFactory, UmbracoVersion, EventAggregator);
var helper = CreateDatabaseSchemaCreator(scope);
helper.CreateTable<NodeDto>();
helper.CreateTable<UserGroupDto>();
@@ -495,7 +499,7 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence
{
using (var scope = ScopeProvider.CreateScope())
{
var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger<DatabaseSchemaCreator>(), _loggerFactory, UmbracoVersion, EventAggregator);
var helper = CreateDatabaseSchemaCreator(scope);
helper.CreateTable<NodeDto>();
helper.CreateTable<UserGroupDto>();
@@ -504,5 +508,8 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence
scope.Complete();
}
}
private DatabaseSchemaCreator CreateDatabaseSchemaCreator(IScope scope) =>
new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger<DatabaseSchemaCreator>(), _loggerFactory, UmbracoVersion, EventAggregator, Mock.Of<IOptionsMonitor<InstallDefaultDataSettings>>(x => x.CurrentValue == new InstallDefaultDataSettings()));
}
}

View File

@@ -12,6 +12,7 @@ using Umbraco.Cms.Core.Configuration.Models;
using Umbraco.Cms.Core.Hosting;
using Umbraco.Cms.Core.Security;
using Umbraco.Cms.Core.Services;
using Umbraco.Cms.Infrastructure.Migrations.Install;
using Umbraco.Cms.Web.BackOffice.Controllers;
using Umbraco.Cms.Web.BackOffice.Install;
using Umbraco.Cms.Web.BackOffice.Routing;
@@ -34,7 +35,8 @@ namespace Umbraco.Cms.Tests.UnitTests.AutoFixture.Customizations
.Customize(new ConstructorCustomization(typeof(MemberController), new GreedyConstructorQuery()))
.Customize(new ConstructorCustomization(typeof(BackOfficeController), new GreedyConstructorQuery()))
.Customize(new ConstructorCustomization(typeof(BackOfficeUserManager), new GreedyConstructorQuery()))
.Customize(new ConstructorCustomization(typeof(MemberManager), new GreedyConstructorQuery()));
.Customize(new ConstructorCustomization(typeof(MemberManager), new GreedyConstructorQuery()))
.Customize(new ConstructorCustomization(typeof(DatabaseSchemaCreatorFactory), new GreedyConstructorQuery()));
// When requesting an IUserStore ensure we actually uses a IUserLockoutStore
fixture.Customize<IUserStore<BackOfficeIdentityUser>>(cc => cc.FromFactory(Mock.Of<IUserLockoutStore<BackOfficeIdentityUser>>));

View File

@@ -55,7 +55,7 @@ namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Core.Components
Mock.Of<IOptionsMonitor<ConnectionStrings>>(x => x.CurrentValue == connectionStrings),
new MapperCollection(() => Enumerable.Empty<BaseMapper>()),
TestHelper.DbProviderFactoryCreator,
new DatabaseSchemaCreatorFactory(loggerFactory.CreateLogger<DatabaseSchemaCreator>(), loggerFactory, new UmbracoVersion(), Mock.Of<IEventAggregator>()),
new DatabaseSchemaCreatorFactory(loggerFactory.CreateLogger<DatabaseSchemaCreator>(), loggerFactory, new UmbracoVersion(), Mock.Of<IEventAggregator>(), Mock.Of<IOptionsMonitor<InstallDefaultDataSettings>>()),
mapperCollection);
var fs = new FileSystems(loggerFactory, IOHelper, Options.Create(globalSettings), Mock.Of<IHostingEnvironment>());