starts fixing up all the tests
This commit is contained in:
@@ -146,6 +146,10 @@ namespace Umbraco.Core
|
||||
container.Register<IDatabaseUnitOfWorkProvider, PetaPocoUnitOfWorkProvider>();
|
||||
container.Register<IUnitOfWorkProvider, FileUnitOfWorkProvider>();
|
||||
container.Register<BasePublishingStrategy, PublishingStrategy>();
|
||||
container.Register<IMappingResolver>(factory => new MappingResolver(
|
||||
factory.GetInstance<IServiceContainer>(),
|
||||
factory.GetInstance<ILogger>(),
|
||||
() => PluginManager.ResolveAssignedMapperTypes()));
|
||||
container.Register<RepositoryFactory>();
|
||||
container.Register<ServiceContext>(factory => new ServiceContext(
|
||||
factory.GetInstance<RepositoryFactory>(),
|
||||
@@ -338,11 +342,6 @@ namespace Umbraco.Core
|
||||
// .. we'll override this in the WebBootManager
|
||||
ServerMessengerResolver.Current = new ServerMessengerResolver(Container, typeof (DefaultServerMessenger));
|
||||
|
||||
MappingResolver.Current = new MappingResolver(
|
||||
Container, ProfilingLogger.Logger,
|
||||
() => PluginManager.ResolveAssignedMapperTypes());
|
||||
|
||||
|
||||
|
||||
//RepositoryResolver.Current = new RepositoryResolver(
|
||||
// new RepositoryFactory(ApplicationCache));
|
||||
|
||||
@@ -599,7 +599,7 @@ namespace Umbraco.Core
|
||||
/// This assumes all of the previous checks are done!
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
internal Result UpgradeSchemaAndData()
|
||||
internal Result UpgradeSchemaAndData(IMigrationResolver migrationResolver)
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -626,7 +626,7 @@ namespace Umbraco.Core
|
||||
? installedVersion
|
||||
: new Version(GlobalSettings.ConfigurationStatus);
|
||||
var targetVersion = UmbracoVersion.Current;
|
||||
var runner = new MigrationRunner(_logger, currentVersion, targetVersion, GlobalSettings.UmbracoMigrationName);
|
||||
var runner = new MigrationRunner(migrationResolver, _logger, currentVersion, targetVersion, GlobalSettings.UmbracoMigrationName);
|
||||
var upgraded = runner.Execute(database, DatabaseProvider, SqlSyntax, true);
|
||||
message = message + "<p>Upgrade completed!</p>";
|
||||
|
||||
|
||||
@@ -13,16 +13,13 @@ namespace Umbraco.Core.Persistence.Mappers
|
||||
protected BaseMapper(ISqlSyntaxProvider sqlSyntax)
|
||||
{
|
||||
_sqlSyntax = sqlSyntax;
|
||||
Build();
|
||||
}
|
||||
|
||||
internal abstract ConcurrentDictionary<string, DtoMapModel> PropertyInfoCache { get; }
|
||||
|
||||
private bool _built = false;
|
||||
public void Build()
|
||||
private void Build()
|
||||
{
|
||||
if (_built) return;
|
||||
|
||||
_built = true;
|
||||
BuildMap();
|
||||
}
|
||||
|
||||
|
||||
@@ -42,8 +42,6 @@ namespace Umbraco.Core.Persistence.Mappers
|
||||
var byAttribute = TryGetMapperByAttribute(type);
|
||||
if (byAttribute.Success)
|
||||
{
|
||||
//ensure it's built
|
||||
byAttribute.Result.Build();
|
||||
return byAttribute.Result;
|
||||
}
|
||||
throw new Exception("Invalid Type: A Mapper could not be resolved based on the passed in Type");
|
||||
@@ -67,9 +65,6 @@ namespace Umbraco.Core.Persistence.Mappers
|
||||
return Attempt<BaseMapper>.Fail();
|
||||
}
|
||||
|
||||
//ensure it's built
|
||||
mapper.Build();
|
||||
|
||||
return Attempt<BaseMapper>.Succeed(mapper);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Umbraco.Core.Persistence.Migrations
|
||||
{
|
||||
public interface IMigrationResolver
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the migrations
|
||||
/// </summary>
|
||||
IEnumerable<IMigration> Migrations { get; }
|
||||
}
|
||||
}
|
||||
@@ -9,7 +9,7 @@ namespace Umbraco.Core.Persistence.Migrations
|
||||
/// <summary>
|
||||
/// A resolver to return all IMigrations
|
||||
/// </summary>
|
||||
internal class MigrationResolver : ContainerLazyManyObjectsResolver<MigrationResolver, IMigration>
|
||||
internal class MigrationResolver : ContainerLazyManyObjectsResolver<MigrationResolver, IMigration>, IMigrationResolver
|
||||
{
|
||||
|
||||
public MigrationResolver(IServiceContainer container, ILogger logger, Func<IEnumerable<Type>> migrations)
|
||||
|
||||
@@ -14,19 +14,21 @@ namespace Umbraco.Core.Persistence.Migrations
|
||||
/// </summary>
|
||||
public class MigrationRunner
|
||||
{
|
||||
private readonly IMigrationResolver _resolver;
|
||||
private readonly ILogger _logger;
|
||||
private readonly Version _currentVersion;
|
||||
private readonly Version _targetVersion;
|
||||
private readonly string _productName;
|
||||
|
||||
|
||||
public MigrationRunner(ILogger logger, Version currentVersion, Version targetVersion, string productName)
|
||||
public MigrationRunner(IMigrationResolver resolver, ILogger logger, Version currentVersion, Version targetVersion, string productName)
|
||||
{
|
||||
if (logger == null) throw new ArgumentNullException("logger");
|
||||
if (currentVersion == null) throw new ArgumentNullException("currentVersion");
|
||||
if (targetVersion == null) throw new ArgumentNullException("targetVersion");
|
||||
Mandate.ParameterNotNullOrEmpty(productName, "productName");
|
||||
|
||||
_resolver = resolver;
|
||||
_logger = logger;
|
||||
_currentVersion = currentVersion;
|
||||
_targetVersion = targetVersion;
|
||||
@@ -136,7 +138,7 @@ namespace Umbraco.Core.Persistence.Migrations
|
||||
protected virtual IMigration[] FindMigrations()
|
||||
{
|
||||
//MCH NOTE: Consider adding the ProductName filter to the Resolver so we don't get a bunch of irrelevant migrations
|
||||
return MigrationResolver.Current.Migrations.ToArray();
|
||||
return _resolver.Migrations.ToArray();
|
||||
}
|
||||
|
||||
internal MigrationContext InitializeMigrations(
|
||||
|
||||
@@ -19,6 +19,11 @@ namespace Umbraco.Core.Persistence.Querying
|
||||
: base(sqlSyntax)
|
||||
{
|
||||
_mapper = mappingResolver.ResolveMapperByType(typeof(T));
|
||||
|
||||
if (_mapper == null)
|
||||
{
|
||||
throw new InvalidOperationException("Could not resolve a mapper for type " + typeof (T));
|
||||
}
|
||||
}
|
||||
|
||||
protected override string VisitMemberAccess(MemberExpression m)
|
||||
|
||||
@@ -316,6 +316,7 @@
|
||||
<Compile Include="Persistence\Factories\TaskTypeFactory.cs" />
|
||||
<Compile Include="Persistence\Mappers\DomainMapper.cs" />
|
||||
<Compile Include="Persistence\Mappers\IMappingResolver.cs" />
|
||||
<Compile Include="Persistence\Migrations\IMigrationResolver.cs" />
|
||||
<Compile Include="Persistence\Migrations\Upgrades\TargetVersionSevenThreeZero\AddPublicAccessTables.cs" />
|
||||
<Compile Include="Persistence\Migrations\Upgrades\TargetVersionSevenThreeZero\RemoveLanguageLocaleColumn.cs" />
|
||||
<Compile Include="Persistence\Migrations\Upgrades\TargetVersionSevenThreeZero\RemoveStylesheetDataAndTables.cs" />
|
||||
|
||||
@@ -19,7 +19,7 @@ namespace Umbraco.Tests.Migrations
|
||||
{
|
||||
// Arrange
|
||||
var sqlSyntax = new SqlCeSyntaxProvider();
|
||||
var context = new MigrationContext(DatabaseProviders.SqlServerCE, null, Mock.Of<ILogger>(), sqlSyntax);
|
||||
var context = new MigrationContext(DatabaseProviders.SqlServerCE, new Database("test", "System.Data.SqlClient"), Mock.Of<ILogger>(), sqlSyntax);
|
||||
var stub = new DropForeignKeyMigrationStub(sqlSyntax, Mock.Of<ILogger>());
|
||||
|
||||
// Act
|
||||
|
||||
@@ -17,11 +17,18 @@ namespace Umbraco.Tests.Migrations
|
||||
[TestFixture]
|
||||
public class FindingMigrationsTest
|
||||
{
|
||||
|
||||
private MigrationResolver _migrationResolver;
|
||||
|
||||
[SetUp]
|
||||
public void Initialize()
|
||||
{
|
||||
MigrationResolver.Current = new MigrationResolver(
|
||||
new ServiceContainer(),
|
||||
var container = new ServiceContainer();
|
||||
container.Register<ILogger>(factory => Mock.Of<ILogger>(), new PerContainerLifetime());
|
||||
container.Register<ISqlSyntaxProvider>(factory => Mock.Of<ISqlSyntaxProvider>(), new PerContainerLifetime());
|
||||
|
||||
_migrationResolver = new MigrationResolver(
|
||||
container,
|
||||
Mock.Of<ILogger>(),
|
||||
() => new List<Type>
|
||||
{
|
||||
@@ -38,7 +45,7 @@ namespace Umbraco.Tests.Migrations
|
||||
[Test]
|
||||
public void Can_Find_Migrations_With_Target_Version_Six()
|
||||
{
|
||||
var foundMigrations = MigrationResolver.Current.Migrations;
|
||||
var foundMigrations = _migrationResolver.Migrations;
|
||||
var targetVersion = new Version("6.0.0");
|
||||
var list = new List<IMigration>();
|
||||
|
||||
@@ -56,7 +63,11 @@ namespace Umbraco.Tests.Migrations
|
||||
|
||||
Assert.That(list.Count, Is.EqualTo(3));
|
||||
|
||||
var context = new MigrationContext(DatabaseProviders.SqlServerCE, null, Mock.Of<ILogger>(), new SqlCeSyntaxProvider());
|
||||
var context = new MigrationContext(
|
||||
DatabaseProviders.SqlServerCE,
|
||||
new Database("test", "System.Data.SqlClient"),
|
||||
Mock.Of<ILogger>(),
|
||||
new SqlCeSyntaxProvider());
|
||||
foreach (var migration1 in list)
|
||||
{
|
||||
var migration = (MigrationBase) migration1;
|
||||
@@ -72,11 +83,5 @@ namespace Umbraco.Tests.Migrations
|
||||
}
|
||||
}
|
||||
|
||||
[TearDown]
|
||||
public void TearDown()
|
||||
{
|
||||
LoggerResolver.Reset();
|
||||
MigrationResolver.Reset();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Moq;
|
||||
using NUnit.Framework;
|
||||
using Umbraco.Core.LightInject;
|
||||
using Umbraco.Core.Logging;
|
||||
using Umbraco.Core.Persistence;
|
||||
using Umbraco.Core.Persistence.Migrations;
|
||||
@@ -18,7 +19,9 @@ namespace Umbraco.Tests.Migrations
|
||||
public void Executes_Only_One_Migration_For_Spanning_Multiple_Targets()
|
||||
{
|
||||
var sqlSyntax = new SqlCeSyntaxProvider();
|
||||
var runner = new MigrationRunner(Mock.Of<ILogger>(), new Version(4, 0, 0), new Version(6, 0, 0), "Test");
|
||||
var runner = new MigrationRunner(
|
||||
Mock.Of<IMigrationResolver>(),
|
||||
Mock.Of<ILogger>(), new Version(4, 0, 0), new Version(6, 0, 0), "Test");
|
||||
|
||||
var migrations = runner.OrderedUpgradeMigrations(new List<IMigration> { new MultiMigration(sqlSyntax, Mock.Of<ILogger>()) });
|
||||
|
||||
@@ -35,7 +38,9 @@ namespace Umbraco.Tests.Migrations
|
||||
public void Executes_Migration_For_Spanning_One_Target_1()
|
||||
{
|
||||
var sqlSyntax = new SqlCeSyntaxProvider();
|
||||
var runner = new MigrationRunner(Mock.Of<ILogger>(), new Version(4, 0, 0), new Version(5, 0, 0), "Test");
|
||||
var runner = new MigrationRunner(
|
||||
Mock.Of<IMigrationResolver>(),
|
||||
Mock.Of<ILogger>(), new Version(4, 0, 0), new Version(5, 0, 0), "Test");
|
||||
|
||||
var migrations = runner.OrderedUpgradeMigrations(new List<IMigration> { new MultiMigration(sqlSyntax, Mock.Of<ILogger>()) });
|
||||
|
||||
@@ -52,7 +57,9 @@ namespace Umbraco.Tests.Migrations
|
||||
public void Executes_Migration_For_Spanning_One_Target_2()
|
||||
{
|
||||
var sqlSyntax = new SqlCeSyntaxProvider();
|
||||
var runner = new MigrationRunner(Mock.Of<ILogger>(), new Version(5, 0, 1), new Version(6, 0, 0), "Test");
|
||||
var runner = new MigrationRunner(
|
||||
Mock.Of<IMigrationResolver>(),
|
||||
Mock.Of<ILogger>(), new Version(5, 0, 1), new Version(6, 0, 0), "Test");
|
||||
|
||||
var migrations = runner.OrderedUpgradeMigrations(new List<IMigration> { new MultiMigration(sqlSyntax, Mock.Of<ILogger>()) });
|
||||
|
||||
|
||||
@@ -19,22 +19,27 @@ using GlobalSettings = Umbraco.Core.Configuration.GlobalSettings;
|
||||
|
||||
namespace Umbraco.Tests.Migrations
|
||||
{
|
||||
[DatabaseTestBehavior(DatabaseBehavior.NoDatabasePerFixture)]
|
||||
[TestFixture]
|
||||
public class TargetVersionSixthMigrationsTest : BaseDatabaseFactoryTest
|
||||
{
|
||||
/// <summary>Regular expression that finds multiline block comments.</summary>
|
||||
private static readonly Regex FindComments = new Regex(@"\/\*.*?\*\/", RegexOptions.Singleline | RegexOptions.Compiled);
|
||||
|
||||
private MigrationResolver _migrationResolver;
|
||||
|
||||
[SetUp]
|
||||
public override void Initialize()
|
||||
{
|
||||
base.Initialize();
|
||||
|
||||
TestHelper.InitializeContentDirectories();
|
||||
|
||||
Path = TestHelper.CurrentAssemblyDirectory;
|
||||
AppDomain.CurrentDomain.SetData("DataDirectory", Path);
|
||||
|
||||
MigrationResolver.Current = new MigrationResolver(
|
||||
new ServiceContainer(),
|
||||
|
||||
_migrationResolver = new MigrationResolver(
|
||||
Container,
|
||||
ProfilingLogger.Logger,
|
||||
() => new List<Type>
|
||||
{
|
||||
@@ -52,14 +57,6 @@ namespace Umbraco.Tests.Migrations
|
||||
typeof (UpdateCmsPropertyTypeGroupTable)
|
||||
}.OrderByDescending(x => x.Name));
|
||||
|
||||
//This is needed because the PluginManager is creating the migration instances with their default ctors
|
||||
LoggerResolver.Current = new LoggerResolver(Logger)
|
||||
{
|
||||
CanResolveBeforeFrozen = true
|
||||
};
|
||||
|
||||
Resolution.Freeze();
|
||||
|
||||
var engine = new SqlCeEngine("Datasource=|DataDirectory|UmbracoPetaPocoTests.sdf;Flush Interval=1;");
|
||||
engine.CreateDatabase();
|
||||
}
|
||||
@@ -83,9 +80,11 @@ namespace Umbraco.Tests.Migrations
|
||||
|
||||
var configuredVersion = new Version("4.8.0");
|
||||
var targetVersion = new Version("6.0.0");
|
||||
var foundMigrations = MigrationResolver.Current.Migrations;
|
||||
var foundMigrations = _migrationResolver.Migrations;
|
||||
|
||||
var migrationRunner = new MigrationRunner(Logger, configuredVersion, targetVersion, GlobalSettings.UmbracoMigrationName);
|
||||
var migrationRunner = new MigrationRunner(
|
||||
_migrationResolver,
|
||||
Logger, configuredVersion, targetVersion, GlobalSettings.UmbracoMigrationName);
|
||||
var migrations = migrationRunner.OrderedUpgradeMigrations(foundMigrations).ToList();
|
||||
|
||||
var context = new MigrationContext(DatabaseProviders.SqlServerCE, db, Logger, SqlSyntax);
|
||||
@@ -108,7 +107,6 @@ namespace Umbraco.Tests.Migrations
|
||||
base.TearDown();
|
||||
|
||||
PluginManager.Current = null;
|
||||
MigrationResolver.Reset();
|
||||
|
||||
TestHelper.CleanContentDirectories();
|
||||
|
||||
|
||||
@@ -23,6 +23,8 @@ namespace Umbraco.Tests.Migrations.Upgrades
|
||||
/// <summary>Regular expression that finds multiline block comments.</summary>
|
||||
private static readonly Regex FindComments = new Regex(@"\/\*.*?\*\/", RegexOptions.Singleline | RegexOptions.Compiled);
|
||||
|
||||
internal MigrationResolver MigrationResolver { get; private set; }
|
||||
|
||||
[SetUp]
|
||||
public virtual void Initialize()
|
||||
{
|
||||
@@ -30,9 +32,13 @@ namespace Umbraco.Tests.Migrations.Upgrades
|
||||
|
||||
Path = TestHelper.CurrentAssemblyDirectory;
|
||||
AppDomain.CurrentDomain.SetData("DataDirectory", Path);
|
||||
|
||||
MigrationResolver.Current = new MigrationResolver(
|
||||
new ServiceContainer(),
|
||||
|
||||
var container = new ServiceContainer();
|
||||
container.Register<ILogger>(factory => Mock.Of<ILogger>(), new PerContainerLifetime());
|
||||
container.Register<ISqlSyntaxProvider>(factory => Mock.Of<ISqlSyntaxProvider>(), new PerContainerLifetime());
|
||||
|
||||
MigrationResolver = new MigrationResolver(
|
||||
container,
|
||||
Mock.Of<ILogger>(),
|
||||
() => new List<Type>
|
||||
{
|
||||
@@ -50,12 +56,6 @@ namespace Umbraco.Tests.Migrations.Upgrades
|
||||
typeof (UpdateCmsPropertyTypeGroupTable)
|
||||
});
|
||||
|
||||
LoggerResolver.Current = new LoggerResolver(Mock.Of<ILogger>())
|
||||
{
|
||||
CanResolveBeforeFrozen = true
|
||||
};
|
||||
|
||||
Resolution.Freeze();
|
||||
|
||||
DatabaseSpecificSetUp();
|
||||
|
||||
@@ -85,7 +85,9 @@ namespace Umbraco.Tests.Migrations.Upgrades
|
||||
}
|
||||
|
||||
//Setup the MigrationRunner
|
||||
var migrationRunner = new MigrationRunner(Mock.Of<ILogger>(), configuredVersion, targetVersion, GlobalSettings.UmbracoMigrationName);
|
||||
var migrationRunner = new MigrationRunner(
|
||||
MigrationResolver,
|
||||
Mock.Of<ILogger>(), configuredVersion, targetVersion, GlobalSettings.UmbracoMigrationName);
|
||||
bool upgraded = migrationRunner.Execute(db, provider, sqlHelper, true);
|
||||
|
||||
Assert.That(upgraded, Is.True);
|
||||
@@ -105,9 +107,7 @@ namespace Umbraco.Tests.Migrations.Upgrades
|
||||
public virtual void TearDown()
|
||||
{
|
||||
PluginManager.Current = null;
|
||||
MigrationResolver.Reset();
|
||||
LoggerResolver.Reset();
|
||||
|
||||
|
||||
TestHelper.CleanContentDirectories();
|
||||
|
||||
Path = TestHelper.CurrentAssemblyDirectory;
|
||||
|
||||
@@ -28,7 +28,9 @@ namespace Umbraco.Tests.Migrations.Upgrades
|
||||
var fix = new PublishAfterUpgradeToVersionSixth(sqlSyntax);
|
||||
|
||||
//Setup the MigrationRunner
|
||||
var migrationRunner = new MigrationRunner(Mock.Of<ILogger>(), configuredVersion, targetVersion, GlobalSettings.UmbracoMigrationName);
|
||||
var migrationRunner = new MigrationRunner(
|
||||
MigrationResolver,
|
||||
Mock.Of<ILogger>(), configuredVersion, targetVersion, GlobalSettings.UmbracoMigrationName);
|
||||
bool upgraded = migrationRunner.Execute(db, provider, sqlSyntax, true);
|
||||
|
||||
Assert.That(upgraded, Is.True);
|
||||
|
||||
@@ -19,7 +19,7 @@ namespace Umbraco.Tests.Migrations.Upgrades
|
||||
{
|
||||
var sqlSyntax = new SqlCeSyntaxProvider();
|
||||
var migration = new AddIndexToCmsMacroTable(true, sqlSyntax, Mock.Of<ILogger>());
|
||||
var migrationContext = new MigrationContext(DatabaseProviders.SqlServerCE, null, Mock.Of<ILogger>(),
|
||||
var migrationContext = new MigrationContext(DatabaseProviders.SqlServerCE, new Database("test", "System.Data.SqlClient"), Mock.Of<ILogger>(),
|
||||
sqlSyntax);
|
||||
migration.GetUpExpressions(migrationContext);
|
||||
|
||||
@@ -35,7 +35,7 @@ namespace Umbraco.Tests.Migrations.Upgrades
|
||||
{
|
||||
var sqlSyntax = new SqlCeSyntaxProvider();
|
||||
var migration = new AddIndexToCmsMacroPropertyTable(true, sqlSyntax, Mock.Of<ILogger>());
|
||||
var migrationContext = new MigrationContext(DatabaseProviders.SqlServerCE, null, Mock.Of<ILogger>(), sqlSyntax);
|
||||
var migrationContext = new MigrationContext(DatabaseProviders.SqlServerCE, new Database("test", "System.Data.SqlClient"), Mock.Of<ILogger>(), sqlSyntax);
|
||||
migration.GetUpExpressions(migrationContext);
|
||||
|
||||
Assert.AreEqual(1, migrationContext.Expressions.Count);
|
||||
|
||||
@@ -14,6 +14,7 @@ namespace Umbraco.Tests.Persistence.Mappers
|
||||
// Act
|
||||
string column = new ContentMapper(new SqlCeSyntaxProvider()).Map("Id");
|
||||
|
||||
|
||||
// Assert
|
||||
Assert.That(column, Is.EqualTo("[umbracoNode].[id]"));
|
||||
}
|
||||
|
||||
@@ -104,9 +104,21 @@ namespace Umbraco.Tests.TestHelpers
|
||||
}
|
||||
}
|
||||
|
||||
protected override void ConfigureContainer()
|
||||
{
|
||||
base.ConfigureContainer();
|
||||
|
||||
Container.Register<ISqlSyntaxProvider, SqlCeSyntaxProvider>();
|
||||
}
|
||||
|
||||
private MappingResolver _mappingResolver;
|
||||
protected IMappingResolver MappingResolver
|
||||
{
|
||||
get { return Mock.Of<IMappingResolver>(); }
|
||||
get
|
||||
{
|
||||
return _mappingResolver ??
|
||||
(_mappingResolver = new MappingResolver(Container, Mock.Of<ILogger>(), () => PluginManager.Current.ResolveAssignedMapperTypes()));
|
||||
}
|
||||
}
|
||||
|
||||
protected virtual ISqlSyntaxProvider SqlSyntax
|
||||
|
||||
@@ -65,17 +65,7 @@ namespace Umbraco.Tests.TestHelpers
|
||||
|
||||
InitializeMappers();
|
||||
|
||||
//register basic stuff that might need to be there for some container resolvers to work, we can
|
||||
// add more to this in base classes in resolution freezing
|
||||
Container.Register<ILogger>(factory => Logger);
|
||||
Container.Register<CacheHelper>(factory => CacheHelper);
|
||||
Container.Register<ProfilingLogger>(factory => ProfilingLogger);
|
||||
var settings = SettingsForTests.GetDefault();
|
||||
Container.Register<IUmbracoSettingsSection>(factory => SettingsForTests.GetDefault(), new PerContainerLifetime());
|
||||
Container.Register<IContentSection>(factory => settings.Content, new PerContainerLifetime());
|
||||
Container.Register<IRuntimeCacheProvider>(factory => CacheHelper.RuntimeCache);
|
||||
Container.Register<IServiceProvider, ActivatorServiceProvider>();
|
||||
Container.Register<MediaFileSystem>(factory => new MediaFileSystem(Mock.Of<IFileSystem>()));
|
||||
ConfigureContainer();
|
||||
|
||||
FreezeResolution();
|
||||
|
||||
@@ -101,6 +91,21 @@ namespace Umbraco.Tests.TestHelpers
|
||||
|
||||
}
|
||||
|
||||
protected virtual void ConfigureContainer()
|
||||
{
|
||||
//register basic stuff that might need to be there for some container resolvers to work, we can
|
||||
// add more to this in base classes in resolution freezing
|
||||
Container.Register<ILogger>(factory => Logger);
|
||||
Container.Register<CacheHelper>(factory => CacheHelper);
|
||||
Container.Register<ProfilingLogger>(factory => ProfilingLogger);
|
||||
var settings = SettingsForTests.GetDefault();
|
||||
Container.Register<IUmbracoSettingsSection>(factory => SettingsForTests.GetDefault(), new PerContainerLifetime());
|
||||
Container.Register<IContentSection>(factory => settings.Content, new PerContainerLifetime());
|
||||
Container.Register<IRuntimeCacheProvider>(factory => CacheHelper.RuntimeCache);
|
||||
Container.Register<IServiceProvider, ActivatorServiceProvider>();
|
||||
Container.Register<MediaFileSystem>(factory => new MediaFileSystem(Mock.Of<IFileSystem>()));
|
||||
}
|
||||
|
||||
private static readonly object Locker = new object();
|
||||
|
||||
private static void InitializeLegacyMappingsForCoreEditors()
|
||||
|
||||
@@ -20,10 +20,10 @@ namespace Umbraco.Tests.TestHelpers
|
||||
get { return _sqlSyntax ?? (_sqlSyntax = new SqlCeSyntaxProvider()); }
|
||||
}
|
||||
|
||||
private IMappingResolver _mappingResolver;
|
||||
private MappingResolver _mappingResolver;
|
||||
protected IMappingResolver MappingResolver
|
||||
{
|
||||
get { return _mappingResolver ?? (_mappingResolver = Mock.Of<IMappingResolver>()); }
|
||||
get { return _mappingResolver; }
|
||||
}
|
||||
|
||||
[SetUp]
|
||||
@@ -34,6 +34,9 @@ namespace Umbraco.Tests.TestHelpers
|
||||
container.Register<ILogger>(factory => Mock.Of<ILogger>(), new PerContainerLifetime());
|
||||
container.Register<IProfiler>(factory => Mock.Of<IProfiler>(), new PerContainerLifetime());
|
||||
|
||||
_mappingResolver = new MappingResolver(container, Mock.Of<ILogger>(),
|
||||
() => PluginManager.Current.ResolveAssignedMapperTypes());
|
||||
|
||||
var logger = new ProfilingLogger(Mock.Of<ILogger>(), Mock.Of<IProfiler>());
|
||||
|
||||
PluginManager.Current = new PluginManager(new ActivatorServiceProvider(), new NullCacheProvider(),
|
||||
@@ -54,6 +57,7 @@ namespace Umbraco.Tests.TestHelpers
|
||||
[TearDown]
|
||||
public virtual void TearDown()
|
||||
{
|
||||
Resolution.Reset();
|
||||
//MappingResolver.Reset();
|
||||
PluginManager.Current = null;
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ using System.Linq;
|
||||
using Umbraco.Core;
|
||||
using Umbraco.Core.Configuration;
|
||||
using Umbraco.Core.Logging;
|
||||
using Umbraco.Core.Persistence.Migrations;
|
||||
using Umbraco.Web.Install.Models;
|
||||
|
||||
namespace Umbraco.Web.Install.InstallSteps
|
||||
@@ -30,7 +31,7 @@ namespace Umbraco.Web.Install.InstallSteps
|
||||
{
|
||||
LogHelper.Info<DatabaseUpgradeStep>("Running 'Upgrade' service");
|
||||
|
||||
var result = _applicationContext.DatabaseContext.UpgradeSchemaAndData();
|
||||
var result = _applicationContext.DatabaseContext.UpgradeSchemaAndData(MigrationResolver.Current);
|
||||
|
||||
if (result.Success == false)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user