Configuration to control the creation of default data (#12122)
* Added configuration and checks for creation of default Umbraco data. * Fixed configuration binding issues. * Updated comments. * Added DefaultDataCreationSettings to the JSON schema. * Removed option to not install default relation types as Umbraco relies on (and will recreate) them if they aren't there. * Renamed configuration class used for install of default data and converted to named optios. * Fix to failing unit tests. * Fixes for integration tests. * Apply suggestions from code review Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com> * Further fix from code review. * Updated naming as per PR review suggestions. * Update src/Umbraco.Infrastructure/Migrations/Install/DatabaseDataCreator.cs Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com> Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
This commit is contained in:
@@ -92,6 +92,8 @@ namespace JsonSchema
|
||||
public ContentDashboardSettings ContentDashboard { get; set; }
|
||||
|
||||
public HelpPageSettings HelpPage { get; set; }
|
||||
|
||||
public InstallDefaultDataSettings DefaultDataCreation { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -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>();
|
||||
}
|
||||
}
|
||||
@@ -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";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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>
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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>>));
|
||||
|
||||
@@ -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>());
|
||||
|
||||
Reference in New Issue
Block a user