Fix tests
This commit is contained in:
@@ -8,6 +8,7 @@ using NPoco;
|
||||
using Umbraco.Core;
|
||||
using Umbraco.Core.Cache;
|
||||
using Umbraco.Core.Configuration;
|
||||
using Umbraco.Core.DI;
|
||||
using Umbraco.Core.Events;
|
||||
using Umbraco.Core.IO;
|
||||
using Umbraco.Core.Logging;
|
||||
@@ -221,7 +222,10 @@ namespace Umbraco.Tests.TestHelpers
|
||||
if (databaseFactory == null)
|
||||
{
|
||||
var accessor = new TestUmbracoDatabaseAccessor();
|
||||
var mappers = Mock.Of<IMapperCollection>();
|
||||
//var mappersBuilder = new MapperCollectionBuilder(Current.Container); // fixme
|
||||
//mappersBuilder.AddCore();
|
||||
//var mappers = mappersBuilder.CreateCollection();
|
||||
var mappers = Current.Container.GetInstance<IMapperCollection>();
|
||||
databaseFactory = new DefaultDatabaseFactory(GlobalSettings.UmbracoConnectionName, GetDefaultSqlSyntaxProviders(logger), logger, accessor, mappers);
|
||||
}
|
||||
repositoryFactory = repositoryFactory ?? new RepositoryFactory(Mock.Of<IServiceContainer>());
|
||||
|
||||
@@ -363,8 +363,8 @@ namespace umbraco.DataLayer
|
||||
public static MethodInfo OpenMethod { get; private set; }
|
||||
public static MethodInfo CloseMethod { get; private set; }
|
||||
|
||||
private static readonly object Factory;
|
||||
private static readonly MethodInfo GetMethod;
|
||||
private static readonly object DatabaseContext;
|
||||
private static readonly PropertyInfo Database;
|
||||
private static readonly PropertyInfo ConnectionProperty;
|
||||
private static readonly FieldInfo TransactionField;
|
||||
private static readonly FieldInfo InnerConnectionField;
|
||||
@@ -379,7 +379,6 @@ namespace umbraco.DataLayer
|
||||
var coreAssembly = Assembly.Load("Umbraco.Core");
|
||||
|
||||
var databaseContextType = coreAssembly.GetType("Umbraco.Core.DatabaseContext");
|
||||
var defaultDatabaseFactoryType = coreAssembly.GetType("Umbraco.Core.Persistence.DefaultDatabaseFactory");
|
||||
var umbracoDatabaseType = coreAssembly.GetType("Umbraco.Core.Persistence.UmbracoDatabase");
|
||||
|
||||
var nPocoAssembly = Assembly.Load("NPoco");
|
||||
@@ -387,12 +386,9 @@ namespace umbraco.DataLayer
|
||||
|
||||
var currentType = coreAssembly.GetType("Umbraco.Core.DI.Current");
|
||||
var databaseContextProperty = currentType.GetProperty("DatabaseContext", BindingFlags.Instance | BindingFlags.Public | BindingFlags.Static);
|
||||
var databaseContext = databaseContextProperty.GetValue(null);
|
||||
DatabaseContext = databaseContextProperty.GetValue(null);
|
||||
|
||||
var factoryProperty = databaseContextType.GetProperty("DatabaseFactory", BindingFlags.Instance | BindingFlags.NonPublic);
|
||||
Factory = factoryProperty.GetValue(databaseContext);
|
||||
|
||||
GetMethod = defaultDatabaseFactoryType.GetMethod("GetDatabase", BindingFlags.Instance | BindingFlags.Public);
|
||||
Database = databaseContextType.GetProperty("Database", BindingFlags.Instance | BindingFlags.Public);
|
||||
|
||||
OpenMethod = databaseType.GetMethod("OpenSharedConnection", BindingFlags.Instance | BindingFlags.Public);
|
||||
CloseMethod = databaseType.GetMethod("CloseSharedConnection", BindingFlags.Instance | BindingFlags.Public);
|
||||
@@ -412,7 +408,7 @@ namespace umbraco.DataLayer
|
||||
|
||||
public CurrentConnectionUsing()
|
||||
{
|
||||
_database = GetMethod.Invoke(Factory, NoArgs);
|
||||
_database = Database.GetValue(DatabaseContext);
|
||||
|
||||
var connection = ConnectionProperty.GetValue(_database, NoArgs);
|
||||
// we have to open to make sure that we *do* have a connection
|
||||
|
||||
Reference in New Issue
Block a user