From defc9d3bc26efe6fba1457ec5d40275fbf127229 Mon Sep 17 00:00:00 2001 From: Shannon Date: Fri, 9 Jan 2015 10:51:15 +1100 Subject: [PATCH] Updated all repo's to have their correct ctor's with their correct dependencies. Updated them all to accept ILogger updated all other dependencies with the same without breaking anything since all is internal, or obsoleted other public methods. Updates lots of the tests with mock instances instead, now more tests have less singleton dependencies, easier to test, much clearer and more IoC driven. Updated unit tests to supply the ILogger for required objects, tests should run faster now since most things are just mocked. --- src/Umbraco.Core/ApplicationContext.cs | 55 ++++++++++- .../ClientDependencyConfiguration.cs | 9 +- src/Umbraco.Core/CoreBootManager.cs | 7 +- .../Logging/DebugDiagnosticsLogger.cs | 43 ++++++++ src/Umbraco.Core/Logging/Logger.cs | 21 ++++ .../Persistence/Caching/NullCacheProvider.cs | 1 + .../Caching/RuntimeCacheProvider.cs | 2 + .../Migrations/Initial/BaseDataCreation.cs | 8 +- .../Persistence/PetaPocoExtensions.cs | 5 +- .../Repositories/ContentPreviewRepository.cs | 5 +- .../Repositories/ContentRepository.cs | 27 ++--- .../Repositories/ContentTypeBaseRepository.cs | 10 +- .../Repositories/ContentTypeRepository.cs | 10 +- .../Repositories/ContentXmlRepository.cs | 5 +- .../DataTypeDefinitionRepository.cs | 19 ++-- .../Repositories/DictionaryRepository.cs | 13 +-- .../Repositories/LanguageRepository.cs | 10 +- .../Repositories/MacroRepository.cs | 9 +- .../Repositories/MediaRepository.cs | 21 +--- .../Repositories/MediaTypeRepository.cs | 10 +- .../Repositories/MemberGroupRepository.cs | 14 +-- .../Repositories/MemberRepository.cs | 21 +--- .../Repositories/MemberTypeRepository.cs | 9 +- .../Repositories/PetaPocoRepositoryBase.cs | 11 +-- .../Repositories/RecycleBinRepository.cs | 7 +- .../Repositories/RelationRepository.cs | 11 +-- .../Repositories/RelationTypeRepository.cs | 9 +- .../Repositories/RepositoryBase.cs | 11 +-- .../ServerRegistrationRepository.cs | 10 +- .../Persistence/Repositories/TagRepository.cs | 10 +- .../Repositories/TemplateRepository.cs | 37 ++----- .../Repositories/UserRepository.cs | 12 +-- .../Repositories/UserTypeRepository.cs | 10 +- .../Repositories/VersionableRepositoryBase.cs | 8 +- .../Persistence/RepositoryFactory.cs | 98 +++++++++++++------ src/Umbraco.Core/Services/ServiceContext.cs | 21 ++-- .../Standalone/ServiceContextManager.cs | 4 +- src/Umbraco.Core/Umbraco.Core.csproj | 1 + .../CodeFirst/TypeInheritanceTest.cs | 3 - .../Macros/MacroEngineFactoryTests.cs | 5 +- src/Umbraco.Tests/MediaFactoryTests.cs | 5 +- .../Migrations/FindingMigrationsTest.cs | 5 +- .../TargetVersionSixthMigrationsTest.cs | 1 - .../Migrations/Upgrades/BaseUpgradeTest.cs | 1 - .../Upgrades/ValidateOlderSchemaTest.cs | 1 - .../Upgrades/ValidateV7TagsUpgradeTest.cs | 12 ++- src/Umbraco.Tests/MockTests.cs | 12 ++- .../Mvc/SurfaceControllerTests.cs | 12 ++- src/Umbraco.Tests/ObjectExtensionsTests.cs | 2 - .../Persistence/BaseTableByTableTest.cs | 16 ++- .../Repositories/ContentRepositoryTest.cs | 12 ++- .../Repositories/ContentTypeRepositoryTest.cs | 18 ++-- .../DataTypeDefinitionRepositoryTest.cs | 29 ++++-- .../Repositories/DictionaryRepositoryTest.cs | 12 ++- .../Repositories/LanguageRepositoryTest.cs | 4 +- .../Repositories/MacroRepositoryTest.cs | 38 +++---- .../Repositories/MediaRepositoryTest.cs | 12 ++- .../Repositories/MediaTypeRepositoryTest.cs | 4 +- .../Repositories/MemberRepositoryTest.cs | 10 +- .../Repositories/MemberTypeRepositoryTest.cs | 4 +- .../Repositories/RelationRepositoryTest.cs | 10 +- .../RelationTypeRepositoryTest.cs | 6 +- .../ServerRegistrationRepositoryTest.cs | 6 +- .../Repositories/TagRepositoryTest.cs | 20 ++-- .../Repositories/TemplateRepositoryTest.cs | 97 +++++++++--------- .../Repositories/UserRepositoryTest.cs | 6 +- .../Repositories/UserTypeRepositoryTest.cs | 4 +- .../Persistence/RepositoryResolverTests.cs | 7 +- .../Plugins/PluginManagerTests.cs | 3 - src/Umbraco.Tests/Plugins/TypeFinderTests.cs | 5 +- .../Resolvers/ActionsResolverTests.cs | 2 - .../Resolvers/LazyManyObjectResolverTests.cs | 5 +- .../MacroFieldEditorsResolverTests.cs | 5 +- .../Resolvers/ManyResolverTests.cs | 2 - .../Resolvers/PackageActionsResolverTests.cs | 3 +- .../Resolvers/ResolutionTests.cs | 3 - .../Resolvers/SingleResolverTests.cs | 4 - .../Resolvers/XsltExtensionsResolverTests.cs | 3 - .../Services/MacroServiceTests.cs | 5 +- .../Services/ThreadSafetyServiceTest.cs | 2 +- .../TestHelpers/BaseDatabaseFactoryTest.cs | 11 ++- .../TestHelpers/BaseDatabaseTest.cs | 18 +++- .../TestHelpers/BaseUmbracoApplicationTest.cs | 15 ++- .../BaseUmbracoConfigurationTest.cs | 6 +- .../TestHelpers/DisposableUmbracoTest.cs | 2 - src/Umbraco.Tests/TestHelpers/TestHelper.cs | 8 +- src/Umbraco.Tests/XmlHelperTests.cs | 2 - .../masterpages/site1/template2.master | 6 +- .../Editors/PackageInstallController.cs | 2 +- .../InstallSteps/SetUmbracoVersionStep.cs | 2 +- src/Umbraco.Web/Mvc/SurfaceController.cs | 11 +++ .../Standalone/ServiceContextManager.cs | 6 +- .../developer/Packages/installer.aspx.cs | 3 +- 93 files changed, 604 insertions(+), 498 deletions(-) create mode 100644 src/Umbraco.Core/Logging/DebugDiagnosticsLogger.cs diff --git a/src/Umbraco.Core/ApplicationContext.cs b/src/Umbraco.Core/ApplicationContext.cs index f1bb929a94..360716e58e 100644 --- a/src/Umbraco.Core/ApplicationContext.cs +++ b/src/Umbraco.Core/ApplicationContext.cs @@ -21,21 +21,34 @@ namespace Umbraco.Core /// public class ApplicationContext : IDisposable { - /// /// Constructor /// /// /// /// - public ApplicationContext(DatabaseContext dbContext, ServiceContext serviceContext, CacheHelper cache) - { + /// + public ApplicationContext(DatabaseContext dbContext, ServiceContext serviceContext, CacheHelper cache, ILogger logger) + { if (dbContext == null) throw new ArgumentNullException("dbContext"); if (serviceContext == null) throw new ArgumentNullException("serviceContext"); if (cache == null) throw new ArgumentNullException("cache"); _databaseContext = dbContext; _services = serviceContext; ApplicationCache = cache; + Logger = logger; + } + + /// + /// Constructor + /// + /// + /// + /// + [Obsolete("Use the other constructor specifying an ILogger instead")] + public ApplicationContext(DatabaseContext dbContext, ServiceContext serviceContext, CacheHelper cache) + : this(dbContext, serviceContext, cache, LoggerResolver.Current.Logger) + { } /// @@ -83,6 +96,7 @@ namespace Umbraco.Core /// /// This is NOT thread safe /// + [Obsolete("Use the other method specifying an ILogger instead")] public static ApplicationContext EnsureContext(DatabaseContext dbContext, ServiceContext serviceContext, CacheHelper cache, bool replaceContext) { if (ApplicationContext.Current != null) @@ -95,6 +109,33 @@ namespace Umbraco.Core return ApplicationContext.Current; } + /// + /// A method used to create and ensure that a global ApplicationContext singleton is created. + /// + /// + /// + /// + /// If set to true will replace the current singleton instance - This should only be used for unit tests or on app + /// startup if for some reason the boot manager is not the umbraco boot manager. + /// + /// + /// + /// + /// + /// This is NOT thread safe + /// + public static ApplicationContext EnsureContext(DatabaseContext dbContext, ServiceContext serviceContext, CacheHelper cache, ILogger logger, bool replaceContext) + { + if (ApplicationContext.Current != null) + { + if (!replaceContext) + return ApplicationContext.Current; + } + var ctx = new ApplicationContext(dbContext, serviceContext, cache, logger); + ApplicationContext.Current = ctx; + return ApplicationContext.Current; + } + /// /// Singleton accessor /// @@ -108,7 +149,13 @@ namespace Umbraco.Core /// public CacheHelper ApplicationCache { get; private set; } - // IsReady is set to true by the boot manager once it has successfully booted + /// + /// Exposes the global ILogger - this should generally not be accessed via the UmbracoContext and should normally just be exposed + /// on most base classes or injected with IoC + /// + public ILogger Logger { get; private set; } + + // IsReady is set to true by the boot manager once it has successfully booted // note - the original umbraco module checks on content.Instance in umbraco.dll // now, the boot task that setup the content store ensures that it is ready bool _isReady = false; diff --git a/src/Umbraco.Core/Configuration/ClientDependencyConfiguration.cs b/src/Umbraco.Core/Configuration/ClientDependencyConfiguration.cs index acd691308a..6fbdec6901 100644 --- a/src/Umbraco.Core/Configuration/ClientDependencyConfiguration.cs +++ b/src/Umbraco.Core/Configuration/ClientDependencyConfiguration.cs @@ -8,10 +8,13 @@ namespace Umbraco.Core.Configuration { internal class ClientDependencyConfiguration { + private readonly ILogger _logger; private readonly string _fileName; - public ClientDependencyConfiguration() + public ClientDependencyConfiguration(ILogger logger) { + if (logger == null) throw new ArgumentNullException("logger"); + _logger = logger; _fileName = IOHelper.MapPath(string.Format("{0}/ClientDependency.config", SystemDirectories.Config)); } @@ -35,13 +38,13 @@ namespace Umbraco.Core.Configuration versionAttribute.SetValue(newVersion); clientDependencyConfigXml.Save(_fileName, SaveOptions.DisableFormatting); - LogHelper.Info(string.Format("Updated version number from {0} to {1}", oldVersion, newVersion)); + _logger.Info(string.Format("Updated version number from {0} to {1}", oldVersion, newVersion)); return true; } } catch (Exception ex) { - LogHelper.Error("Couldn't update ClientDependency version number", ex); + _logger.Error("Couldn't update ClientDependency version number", ex); } return false; diff --git a/src/Umbraco.Core/CoreBootManager.cs b/src/Umbraco.Core/CoreBootManager.cs index 206a2aba40..9200bb0213 100644 --- a/src/Umbraco.Core/CoreBootManager.cs +++ b/src/Umbraco.Core/CoreBootManager.cs @@ -80,7 +80,8 @@ namespace Umbraco.Core new PetaPocoUnitOfWorkProvider(dbFactory), new FileUnitOfWorkProvider(), new PublishingStrategy(), - ApplicationCache); + ApplicationCache, + LoggerResolver.Current.Logger); CreateApplicationContext(dbContext, serviceContext); @@ -110,7 +111,7 @@ namespace Umbraco.Core protected virtual void CreateApplicationContext(DatabaseContext dbContext, ServiceContext serviceContext) { //create the ApplicationContext - ApplicationContext = ApplicationContext.Current = new ApplicationContext(dbContext, serviceContext, ApplicationCache); + ApplicationContext = ApplicationContext.Current = new ApplicationContext(dbContext, serviceContext, ApplicationCache, LoggerResolver.Current.Logger); } /// @@ -150,7 +151,7 @@ namespace Umbraco.Core /// protected virtual void InitializeLoggerResolver() { - LoggerResolver.Current = new LoggerResolver(new Logger()) + LoggerResolver.Current = new LoggerResolver(Logger.CreateWithDefaultLog4NetConfiguration()) { //This is another special resolver that needs to be resolvable before resolution is frozen //since it is used for profiling the application startup diff --git a/src/Umbraco.Core/Logging/DebugDiagnosticsLogger.cs b/src/Umbraco.Core/Logging/DebugDiagnosticsLogger.cs new file mode 100644 index 0000000000..32ab434386 --- /dev/null +++ b/src/Umbraco.Core/Logging/DebugDiagnosticsLogger.cs @@ -0,0 +1,43 @@ +using System; +using System.Linq; + +namespace Umbraco.Core.Logging +{ + internal class DebugDiagnosticsLogger : ILogger + { + public void Error(Type callingType, string message, Exception exception) + { + System.Diagnostics.Debug.Fail(callingType.ToString(), message + Environment.NewLine + exception); + } + + public void Warn(Type callingType, string message, params Func[] formatItems) + { + System.Diagnostics.Debug.Fail(callingType.ToString(), string.Format(message, formatItems.Select(x => x()))); + } + + public void WarnWithException(Type callingType, string message, Exception e, params Func[] formatItems) + { + System.Diagnostics.Debug.Fail(callingType.ToString(), string.Format(message + Environment.NewLine + e, formatItems.Select(x => x()))); + } + + public void Info(Type callingType, Func generateMessage) + { + System.Diagnostics.Debug.WriteLine(callingType.ToString(), generateMessage()); + } + + public void Info(Type type, string generateMessageFormat, params Func[] formatItems) + { + System.Diagnostics.Debug.WriteLine(type.ToString(), string.Format(generateMessageFormat, formatItems.Select(x => x()))); + } + + public void Debug(Type callingType, Func generateMessage) + { + System.Diagnostics.Debug.WriteLine(callingType.ToString(), generateMessage()); + } + + public void Debug(Type type, string generateMessageFormat, params Func[] formatItems) + { + System.Diagnostics.Debug.WriteLine(type.ToString(), string.Format(generateMessageFormat, formatItems.Select(x => x()))); + } + } +} \ No newline at end of file diff --git a/src/Umbraco.Core/Logging/Logger.cs b/src/Umbraco.Core/Logging/Logger.cs index 2abe37eb8d..58f696d82b 100644 --- a/src/Umbraco.Core/Logging/Logger.cs +++ b/src/Umbraco.Core/Logging/Logger.cs @@ -1,8 +1,10 @@ using System; +using System.IO; using System.Linq; using System.Threading; using System.Web; using log4net; +using log4net.Config; namespace Umbraco.Core.Logging { @@ -11,6 +13,25 @@ namespace Umbraco.Core.Logging /// public class Logger : ILogger { + public Logger(FileInfo log4NetConfigFile) + { + XmlConfigurator.Configure(log4NetConfigFile); + } + + private Logger() + { + + } + + /// + /// Creates a logger with the default log4net configuration discovered (i.e. from the web.config) + /// + /// + public static Logger CreateWithDefaultLog4NetConfiguration() + { + return new Logger(); + } + /// /// Returns a logger for the type specified /// diff --git a/src/Umbraco.Core/Persistence/Caching/NullCacheProvider.cs b/src/Umbraco.Core/Persistence/Caching/NullCacheProvider.cs index c7e868389b..7779bc3cac 100644 --- a/src/Umbraco.Core/Persistence/Caching/NullCacheProvider.cs +++ b/src/Umbraco.Core/Persistence/Caching/NullCacheProvider.cs @@ -5,6 +5,7 @@ using Umbraco.Core.Models.EntityBase; namespace Umbraco.Core.Persistence.Caching { + //TODO: Remove this singleton! internal class NullCacheProvider : IRepositoryCacheProvider { #region Singleton diff --git a/src/Umbraco.Core/Persistence/Caching/RuntimeCacheProvider.cs b/src/Umbraco.Core/Persistence/Caching/RuntimeCacheProvider.cs index 611036f852..f76303458a 100644 --- a/src/Umbraco.Core/Persistence/Caching/RuntimeCacheProvider.cs +++ b/src/Umbraco.Core/Persistence/Caching/RuntimeCacheProvider.cs @@ -10,6 +10,8 @@ using Umbraco.Core.Models.EntityBase; namespace Umbraco.Core.Persistence.Caching { + //TODO: Remove this singleton! + /// /// The Runtime Cache provider looks up objects in the Runtime cache for fast retrival /// diff --git a/src/Umbraco.Core/Persistence/Migrations/Initial/BaseDataCreation.cs b/src/Umbraco.Core/Persistence/Migrations/Initial/BaseDataCreation.cs index cb9408b218..13dcfb1f70 100644 --- a/src/Umbraco.Core/Persistence/Migrations/Initial/BaseDataCreation.cs +++ b/src/Umbraco.Core/Persistence/Migrations/Initial/BaseDataCreation.cs @@ -10,11 +10,13 @@ namespace Umbraco.Core.Persistence.Migrations.Initial internal class BaseDataCreation { private readonly Database _database; + private readonly ILogger _logger; - public BaseDataCreation(Database database) + public BaseDataCreation(Database database, ILogger logger) { _database = database; - } + _logger = logger; + } /// /// Initialize the base data creation by inserting the data foundation for umbraco @@ -23,7 +25,7 @@ namespace Umbraco.Core.Persistence.Migrations.Initial /// Name of the table to create base data for public void InitializeBaseData(string tableName) { - LogHelper.Info(string.Format("Creating data in table {0}", tableName)); + _logger.Info(string.Format("Creating data in table {0}", tableName)); if(tableName.Equals("umbracoNode")) { diff --git a/src/Umbraco.Core/Persistence/PetaPocoExtensions.cs b/src/Umbraco.Core/Persistence/PetaPocoExtensions.cs index faa247d4a9..05ddc60b0a 100644 --- a/src/Umbraco.Core/Persistence/PetaPocoExtensions.cs +++ b/src/Umbraco.Core/Persistence/PetaPocoExtensions.cs @@ -385,7 +385,10 @@ namespace Umbraco.Core.Persistence private static void PetaPocoExtensions_NewTable(string tableName, Database db, TableCreationEventArgs e) { - var baseDataCreation = new BaseDataCreation(db); + //argh! this is a hack because all these are extension methods and don't have an ILogger, we don't want to + // always need to think about the LoggerResolver being set (i.e. unit tests) so we'll check if it is otherwise + // create a temp logger + var baseDataCreation = new BaseDataCreation(db, LoggerResolver.HasCurrent ? LoggerResolver.Current.Logger: new DebugDiagnosticsLogger() ); baseDataCreation.InitializeBaseData(tableName); } } diff --git a/src/Umbraco.Core/Persistence/Repositories/ContentPreviewRepository.cs b/src/Umbraco.Core/Persistence/Repositories/ContentPreviewRepository.cs index c749dc1204..a4748c4e7b 100644 --- a/src/Umbraco.Core/Persistence/Repositories/ContentPreviewRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/ContentPreviewRepository.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Xml.Linq; +using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Models.Rdbms; using Umbraco.Core.Persistence.Caching; @@ -15,8 +16,8 @@ namespace Umbraco.Core.Persistence.Repositories internal class ContentPreviewRepository : PetaPocoRepositoryBase> where TContent : IContentBase { - public ContentPreviewRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache) - : base(work, cache) + public ContentPreviewRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, ILogger logger) + : base(work, cache, logger) { } diff --git a/src/Umbraco.Core/Persistence/Repositories/ContentRepository.cs b/src/Umbraco.Core/Persistence/Repositories/ContentRepository.cs index d89fc79dbe..16937eeb79 100644 --- a/src/Umbraco.Core/Persistence/Repositories/ContentRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/ContentRepository.cs @@ -10,6 +10,7 @@ using System.Xml.Linq; using Umbraco.Core.Configuration; using Umbraco.Core.Dynamics; using Umbraco.Core.IO; +using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Models.EntityBase; using Umbraco.Core.Models.Membership; @@ -34,25 +35,9 @@ namespace Umbraco.Core.Persistence.Repositories private readonly CacheHelper _cacheHelper; private readonly ContentPreviewRepository _contentPreviewRepository; private readonly ContentXmlRepository _contentXmlRepository; - - public ContentRepository(IDatabaseUnitOfWork work, IContentTypeRepository contentTypeRepository, ITemplateRepository templateRepository, ITagRepository tagRepository, CacheHelper cacheHelper) - : base(work) - { - if (contentTypeRepository == null) throw new ArgumentNullException("contentTypeRepository"); - if (templateRepository == null) throw new ArgumentNullException("templateRepository"); - if (tagRepository == null) throw new ArgumentNullException("tagRepository"); - _contentTypeRepository = contentTypeRepository; - _templateRepository = templateRepository; - _tagRepository = tagRepository; - _cacheHelper = cacheHelper; - _contentPreviewRepository = new ContentPreviewRepository(work, NullCacheProvider.Current); - _contentXmlRepository = new ContentXmlRepository(work, NullCacheProvider.Current); - - EnsureUniqueNaming = true; - } - - public ContentRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, IContentTypeRepository contentTypeRepository, ITemplateRepository templateRepository, ITagRepository tagRepository, CacheHelper cacheHelper) - : base(work, cache) + + public ContentRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, ILogger logger, IContentTypeRepository contentTypeRepository, ITemplateRepository templateRepository, ITagRepository tagRepository, CacheHelper cacheHelper) + : base(work, cache, logger) { if (contentTypeRepository == null) throw new ArgumentNullException("contentTypeRepository"); if (templateRepository == null) throw new ArgumentNullException("templateRepository"); @@ -61,8 +46,8 @@ namespace Umbraco.Core.Persistence.Repositories _templateRepository = templateRepository; _tagRepository = tagRepository; _cacheHelper = cacheHelper; - _contentPreviewRepository = new ContentPreviewRepository(work, NullCacheProvider.Current); - _contentXmlRepository = new ContentXmlRepository(work, NullCacheProvider.Current); + _contentPreviewRepository = new ContentPreviewRepository(work, NullCacheProvider.Current, logger); + _contentXmlRepository = new ContentXmlRepository(work, NullCacheProvider.Current, logger); EnsureUniqueNaming = true; } diff --git a/src/Umbraco.Core/Persistence/Repositories/ContentTypeBaseRepository.cs b/src/Umbraco.Core/Persistence/Repositories/ContentTypeBaseRepository.cs index 8c1b24329c..0db3ad1e85 100644 --- a/src/Umbraco.Core/Persistence/Repositories/ContentTypeBaseRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/ContentTypeBaseRepository.cs @@ -27,13 +27,9 @@ namespace Umbraco.Core.Persistence.Repositories internal abstract class ContentTypeBaseRepository : PetaPocoRepositoryBase where TEntity : class, IContentTypeComposition { - protected ContentTypeBaseRepository(IDatabaseUnitOfWork work) - : base(work) - { - } - - protected ContentTypeBaseRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache) - : base(work, cache) + + protected ContentTypeBaseRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, ILogger logger) + : base(work, cache, logger) { } diff --git a/src/Umbraco.Core/Persistence/Repositories/ContentTypeRepository.cs b/src/Umbraco.Core/Persistence/Repositories/ContentTypeRepository.cs index 898cf904ee..213478a8d6 100644 --- a/src/Umbraco.Core/Persistence/Repositories/ContentTypeRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/ContentTypeRepository.cs @@ -21,14 +21,8 @@ namespace Umbraco.Core.Persistence.Repositories { private readonly ITemplateRepository _templateRepository; - public ContentTypeRepository(IDatabaseUnitOfWork work, ITemplateRepository templateRepository) - : base(work) - { - _templateRepository = templateRepository; - } - - public ContentTypeRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, ITemplateRepository templateRepository) - : base(work, cache) + public ContentTypeRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, ILogger logger, ITemplateRepository templateRepository) + : base(work, cache, logger) { _templateRepository = templateRepository; } diff --git a/src/Umbraco.Core/Persistence/Repositories/ContentXmlRepository.cs b/src/Umbraco.Core/Persistence/Repositories/ContentXmlRepository.cs index da076506a6..84c85d1ddf 100644 --- a/src/Umbraco.Core/Persistence/Repositories/ContentXmlRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/ContentXmlRepository.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Xml.Linq; +using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Models.Rdbms; using Umbraco.Core.Persistence.Caching; @@ -15,8 +16,8 @@ namespace Umbraco.Core.Persistence.Repositories internal class ContentXmlRepository : PetaPocoRepositoryBase> where TContent : IContentBase { - public ContentXmlRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache) - : base(work, cache) + public ContentXmlRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, ILogger logger) + : base(work, cache, logger) { } diff --git a/src/Umbraco.Core/Persistence/Repositories/DataTypeDefinitionRepository.cs b/src/Umbraco.Core/Persistence/Repositories/DataTypeDefinitionRepository.cs index 7c64620434..21255964d7 100644 --- a/src/Umbraco.Core/Persistence/Repositories/DataTypeDefinitionRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/DataTypeDefinitionRepository.cs @@ -5,6 +5,7 @@ using System.Globalization; using System.Linq; using System.Threading; using Umbraco.Core.Cache; +using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Models.EntityBase; using Umbraco.Core.Models.Rdbms; @@ -27,22 +28,13 @@ namespace Umbraco.Core.Persistence.Repositories private readonly IContentTypeRepository _contentTypeRepository; private readonly DataTypePreValueRepository _preValRepository; - public DataTypeDefinitionRepository(IDatabaseUnitOfWork work, CacheHelper cacheHelper, + public DataTypeDefinitionRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, CacheHelper cacheHelper, ILogger logger, IContentTypeRepository contentTypeRepository) - : base(work) + : base(work, cache, logger) { _cacheHelper = cacheHelper; _contentTypeRepository = contentTypeRepository; - _preValRepository = new DataTypePreValueRepository(work, NullCacheProvider.Current); - } - - public DataTypeDefinitionRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, CacheHelper cacheHelper, - IContentTypeRepository contentTypeRepository) - : base(work, cache) - { - _cacheHelper = cacheHelper; - _contentTypeRepository = contentTypeRepository; - _preValRepository = new DataTypePreValueRepository(work, NullCacheProvider.Current); + _preValRepository = new DataTypePreValueRepository(work, NullCacheProvider.Current, logger); } private readonly ReaderWriterLockSlim _locker = new ReaderWriterLockSlim(); @@ -446,7 +438,8 @@ AND umbracoNode.id <> @id", /// private class DataTypePreValueRepository : PetaPocoRepositoryBase { - public DataTypePreValueRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache) : base(work, cache) + public DataTypePreValueRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, ILogger logger) + : base(work, cache, logger) { } diff --git a/src/Umbraco.Core/Persistence/Repositories/DictionaryRepository.cs b/src/Umbraco.Core/Persistence/Repositories/DictionaryRepository.cs index e29d24db32..85e2c6726e 100644 --- a/src/Umbraco.Core/Persistence/Repositories/DictionaryRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/DictionaryRepository.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Models.EntityBase; using Umbraco.Core.Models.Rdbms; @@ -18,15 +19,9 @@ namespace Umbraco.Core.Persistence.Repositories internal class DictionaryRepository : PetaPocoRepositoryBase, IDictionaryRepository { private readonly ILanguageRepository _languageRepository; - - public DictionaryRepository(IDatabaseUnitOfWork work, ILanguageRepository languageRepository) - : base(work) - { - _languageRepository = languageRepository; - } - - public DictionaryRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, ILanguageRepository languageRepository) - : base(work, cache) + + public DictionaryRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, ILogger logger, ILanguageRepository languageRepository) + : base(work, cache, logger) { _languageRepository = languageRepository; } diff --git a/src/Umbraco.Core/Persistence/Repositories/LanguageRepository.cs b/src/Umbraco.Core/Persistence/Repositories/LanguageRepository.cs index 014ad03afd..e281300c30 100644 --- a/src/Umbraco.Core/Persistence/Repositories/LanguageRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/LanguageRepository.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Models.EntityBase; using Umbraco.Core.Models.Rdbms; @@ -16,13 +17,8 @@ namespace Umbraco.Core.Persistence.Repositories /// internal class LanguageRepository : PetaPocoRepositoryBase, ILanguageRepository { - public LanguageRepository(IDatabaseUnitOfWork work) - : base(work) - { - } - - public LanguageRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache) - : base(work, cache) + public LanguageRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, ILogger logger) + : base(work, cache, logger) { } diff --git a/src/Umbraco.Core/Persistence/Repositories/MacroRepository.cs b/src/Umbraco.Core/Persistence/Repositories/MacroRepository.cs index 1e05d88f2c..e112e4df6b 100644 --- a/src/Umbraco.Core/Persistence/Repositories/MacroRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/MacroRepository.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Models.EntityBase; using Umbraco.Core.Models.Rdbms; @@ -15,11 +16,9 @@ namespace Umbraco.Core.Persistence.Repositories { internal class MacroRepository : PetaPocoRepositoryBase, IMacroRepository { - public MacroRepository(IDatabaseUnitOfWork work) : base(work) - { - } - - public MacroRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache) : base(work, cache) + + public MacroRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, ILogger logger) + : base(work, cache, logger) { } diff --git a/src/Umbraco.Core/Persistence/Repositories/MediaRepository.cs b/src/Umbraco.Core/Persistence/Repositories/MediaRepository.cs index 7a487acaf4..76ab50962b 100644 --- a/src/Umbraco.Core/Persistence/Repositories/MediaRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/MediaRepository.cs @@ -7,6 +7,7 @@ using System.Xml.Linq; using Umbraco.Core.Configuration; using Umbraco.Core.Dynamics; using Umbraco.Core.IO; +using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Models.EntityBase; using Umbraco.Core.Models.Rdbms; @@ -30,27 +31,15 @@ namespace Umbraco.Core.Persistence.Repositories private readonly ContentXmlRepository _contentXmlRepository; private readonly ContentPreviewRepository _contentPreviewRepository; - public MediaRepository(IDatabaseUnitOfWork work, IMediaTypeRepository mediaTypeRepository, ITagRepository tagRepository) - : base(work) + public MediaRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, ILogger logger, IMediaTypeRepository mediaTypeRepository, ITagRepository tagRepository) + : base(work, cache, logger) { if (mediaTypeRepository == null) throw new ArgumentNullException("mediaTypeRepository"); if (tagRepository == null) throw new ArgumentNullException("tagRepository"); _mediaTypeRepository = mediaTypeRepository; _tagRepository = tagRepository; - _contentXmlRepository = new ContentXmlRepository(work, NullCacheProvider.Current); - _contentPreviewRepository = new ContentPreviewRepository(work, NullCacheProvider.Current); - EnsureUniqueNaming = true; - } - - public MediaRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, IMediaTypeRepository mediaTypeRepository, ITagRepository tagRepository) - : base(work, cache) - { - if (mediaTypeRepository == null) throw new ArgumentNullException("mediaTypeRepository"); - if (tagRepository == null) throw new ArgumentNullException("tagRepository"); - _mediaTypeRepository = mediaTypeRepository; - _tagRepository = tagRepository; - _contentXmlRepository = new ContentXmlRepository(work, NullCacheProvider.Current); - _contentPreviewRepository = new ContentPreviewRepository(work, NullCacheProvider.Current); + _contentXmlRepository = new ContentXmlRepository(work, NullCacheProvider.Current, logger); + _contentPreviewRepository = new ContentPreviewRepository(work, NullCacheProvider.Current, logger); EnsureUniqueNaming = true; } diff --git a/src/Umbraco.Core/Persistence/Repositories/MediaTypeRepository.cs b/src/Umbraco.Core/Persistence/Repositories/MediaTypeRepository.cs index 812db11462..98682cd85b 100644 --- a/src/Umbraco.Core/Persistence/Repositories/MediaTypeRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/MediaTypeRepository.cs @@ -17,13 +17,9 @@ namespace Umbraco.Core.Persistence.Repositories /// internal class MediaTypeRepository : ContentTypeBaseRepository, IMediaTypeRepository { - public MediaTypeRepository(IDatabaseUnitOfWork work) - : base(work) - { - } - - public MediaTypeRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache) - : base(work, cache) + + public MediaTypeRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, ILogger logger) + : base(work, cache, logger) { } diff --git a/src/Umbraco.Core/Persistence/Repositories/MemberGroupRepository.cs b/src/Umbraco.Core/Persistence/Repositories/MemberGroupRepository.cs index 55af5552cd..171e697545 100644 --- a/src/Umbraco.Core/Persistence/Repositories/MemberGroupRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/MemberGroupRepository.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Linq; using Umbraco.Core.Events; +using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Models.EntityBase; using Umbraco.Core.Models.Rdbms; @@ -20,16 +21,9 @@ namespace Umbraco.Core.Persistence.Repositories internal class MemberGroupRepository : PetaPocoRepositoryBase, IMemberGroupRepository { private readonly CacheHelper _cacheHelper; - - public MemberGroupRepository(IDatabaseUnitOfWork work, CacheHelper cacheHelper) - : base(work) - { - if (cacheHelper == null) throw new ArgumentNullException("cacheHelper"); - _cacheHelper = cacheHelper; - } - - public MemberGroupRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, CacheHelper cacheHelper) - : base(work, cache) + + public MemberGroupRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, ILogger logger, CacheHelper cacheHelper) + : base(work, cache, logger) { if (cacheHelper == null) throw new ArgumentNullException("cacheHelper"); _cacheHelper = cacheHelper; diff --git a/src/Umbraco.Core/Persistence/Repositories/MemberRepository.cs b/src/Umbraco.Core/Persistence/Repositories/MemberRepository.cs index d5c65bd85b..3c576e49bd 100644 --- a/src/Umbraco.Core/Persistence/Repositories/MemberRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/MemberRepository.cs @@ -7,6 +7,7 @@ using System.Text; using System.Xml.Linq; using Umbraco.Core.Configuration; using Umbraco.Core.IO; +using Umbraco.Core.Logging; using Umbraco.Core.Models.EntityBase; using Umbraco.Core.Models; using Umbraco.Core.Models.Rdbms; @@ -32,28 +33,16 @@ namespace Umbraco.Core.Persistence.Repositories private readonly ContentXmlRepository _contentXmlRepository; private readonly ContentPreviewRepository _contentPreviewRepository; - public MemberRepository(IDatabaseUnitOfWork work, IMemberTypeRepository memberTypeRepository, IMemberGroupRepository memberGroupRepository, ITagRepository tagRepository) - : base(work) + public MemberRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, ILogger logger, IMemberTypeRepository memberTypeRepository, IMemberGroupRepository memberGroupRepository, ITagRepository tagRepository) + : base(work, cache, logger) { if (memberTypeRepository == null) throw new ArgumentNullException("memberTypeRepository"); if (tagRepository == null) throw new ArgumentNullException("tagRepository"); _memberTypeRepository = memberTypeRepository; _tagRepository = tagRepository; _memberGroupRepository = memberGroupRepository; - _contentXmlRepository = new ContentXmlRepository(work, NullCacheProvider.Current); - _contentPreviewRepository = new ContentPreviewRepository(work, NullCacheProvider.Current); - } - - public MemberRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, IMemberTypeRepository memberTypeRepository, IMemberGroupRepository memberGroupRepository, ITagRepository tagRepository) - : base(work, cache) - { - if (memberTypeRepository == null) throw new ArgumentNullException("memberTypeRepository"); - if (tagRepository == null) throw new ArgumentNullException("tagRepository"); - _memberTypeRepository = memberTypeRepository; - _tagRepository = tagRepository; - _memberGroupRepository = memberGroupRepository; - _contentXmlRepository = new ContentXmlRepository(work, NullCacheProvider.Current); - _contentPreviewRepository = new ContentPreviewRepository(work, NullCacheProvider.Current); + _contentXmlRepository = new ContentXmlRepository(work, NullCacheProvider.Current, logger); + _contentPreviewRepository = new ContentPreviewRepository(work, NullCacheProvider.Current, logger); } #region Overrides of RepositoryBase diff --git a/src/Umbraco.Core/Persistence/Repositories/MemberTypeRepository.cs b/src/Umbraco.Core/Persistence/Repositories/MemberTypeRepository.cs index bc79157b32..4c8a915fac 100644 --- a/src/Umbraco.Core/Persistence/Repositories/MemberTypeRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/MemberTypeRepository.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using log4net; using Umbraco.Core.Logging; using Umbraco.Core.Models.EntityBase; using Umbraco.Core.Models; @@ -18,13 +19,9 @@ namespace Umbraco.Core.Persistence.Repositories /// internal class MemberTypeRepository : ContentTypeBaseRepository, IMemberTypeRepository { - public MemberTypeRepository(IDatabaseUnitOfWork work) - : base(work) - { - } - public MemberTypeRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache) - : base(work, cache) + public MemberTypeRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, ILogger logger) + : base(work, cache, logger) { } diff --git a/src/Umbraco.Core/Persistence/Repositories/PetaPocoRepositoryBase.cs b/src/Umbraco.Core/Persistence/Repositories/PetaPocoRepositoryBase.cs index a08dec6c76..ccf731f040 100644 --- a/src/Umbraco.Core/Persistence/Repositories/PetaPocoRepositoryBase.cs +++ b/src/Umbraco.Core/Persistence/Repositories/PetaPocoRepositoryBase.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using Umbraco.Core.Logging; using Umbraco.Core.Models.EntityBase; using Umbraco.Core.Persistence.Caching; using Umbraco.Core.Persistence.Querying; @@ -15,13 +16,9 @@ namespace Umbraco.Core.Persistence.Repositories internal abstract class PetaPocoRepositoryBase : RepositoryBase where TEntity : class, IAggregateRoot { - protected PetaPocoRepositoryBase(IDatabaseUnitOfWork work) - : base(work) - { - } - - protected PetaPocoRepositoryBase(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache) - : base(work, cache) + + protected PetaPocoRepositoryBase(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, ILogger logger) + : base(work, cache, logger) { } diff --git a/src/Umbraco.Core/Persistence/Repositories/RecycleBinRepository.cs b/src/Umbraco.Core/Persistence/Repositories/RecycleBinRepository.cs index 02ac1035a6..7524a5b793 100644 --- a/src/Umbraco.Core/Persistence/Repositories/RecycleBinRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/RecycleBinRepository.cs @@ -16,11 +16,8 @@ namespace Umbraco.Core.Persistence.Repositories internal abstract class RecycleBinRepository : VersionableRepositoryBase, IRecycleBinRepository where TEntity : class, IUmbracoEntity { - protected RecycleBinRepository(IDatabaseUnitOfWork work) : base(work) - { - } - - protected RecycleBinRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache) : base(work, cache) + protected RecycleBinRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, ILogger logger) + : base(work, cache, logger) { } diff --git a/src/Umbraco.Core/Persistence/Repositories/RelationRepository.cs b/src/Umbraco.Core/Persistence/Repositories/RelationRepository.cs index 8d5e0d7a8a..b0f5445f3a 100644 --- a/src/Umbraco.Core/Persistence/Repositories/RelationRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/RelationRepository.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Models.EntityBase; using Umbraco.Core.Models.Rdbms; @@ -18,14 +19,8 @@ namespace Umbraco.Core.Persistence.Repositories { private readonly IRelationTypeRepository _relationTypeRepository; - public RelationRepository(IDatabaseUnitOfWork work, IRelationTypeRepository relationTypeRepository) - : base(work) - { - _relationTypeRepository = relationTypeRepository; - } - - public RelationRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, IRelationTypeRepository relationTypeRepository) - : base(work, cache) + public RelationRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, ILogger logger, IRelationTypeRepository relationTypeRepository) + : base(work, cache, logger) { _relationTypeRepository = relationTypeRepository; } diff --git a/src/Umbraco.Core/Persistence/Repositories/RelationTypeRepository.cs b/src/Umbraco.Core/Persistence/Repositories/RelationTypeRepository.cs index 8763fcddbf..977ca779c6 100644 --- a/src/Umbraco.Core/Persistence/Repositories/RelationTypeRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/RelationTypeRepository.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Models.EntityBase; using Umbraco.Core.Models.Rdbms; @@ -16,13 +17,9 @@ namespace Umbraco.Core.Persistence.Repositories /// internal class RelationTypeRepository : PetaPocoRepositoryBase, IRelationTypeRepository { - public RelationTypeRepository(IDatabaseUnitOfWork work) - : base(work) - { - } - public RelationTypeRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache) - : base(work, cache) + public RelationTypeRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, ILogger logger) + : base(work, cache, logger) { } diff --git a/src/Umbraco.Core/Persistence/Repositories/RepositoryBase.cs b/src/Umbraco.Core/Persistence/Repositories/RepositoryBase.cs index 3d12cafc1f..8a74fd0204 100644 --- a/src/Umbraco.Core/Persistence/Repositories/RepositoryBase.cs +++ b/src/Umbraco.Core/Persistence/Repositories/RepositoryBase.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using Umbraco.Core.Logging; using Umbraco.Core.Models.EntityBase; using Umbraco.Core.Persistence.Caching; using Umbraco.Core.Persistence.Querying; @@ -17,16 +18,14 @@ namespace Umbraco.Core.Persistence.Repositories internal abstract class RepositoryBase : DisposableObject, IRepositoryQueryable, IUnitOfWorkRepository where TEntity : class, IAggregateRoot { + protected ILogger Logger { get; private set; } + private readonly IUnitOfWork _work; private readonly IRepositoryCacheProvider _cache; - protected RepositoryBase(IUnitOfWork work) - : this(work, RuntimeCacheProvider.Current) - { - } - - internal RepositoryBase(IUnitOfWork work, IRepositoryCacheProvider cache) + protected RepositoryBase(IUnitOfWork work, IRepositoryCacheProvider cache, ILogger logger) { + Logger = logger; if (work == null) throw new ArgumentNullException("work"); if (cache == null) throw new ArgumentNullException("cache"); _work = work; diff --git a/src/Umbraco.Core/Persistence/Repositories/ServerRegistrationRepository.cs b/src/Umbraco.Core/Persistence/Repositories/ServerRegistrationRepository.cs index 410bbe1585..d7b4910633 100644 --- a/src/Umbraco.Core/Persistence/Repositories/ServerRegistrationRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/ServerRegistrationRepository.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Models.EntityBase; using Umbraco.Core.Models.Rdbms; @@ -13,13 +14,8 @@ namespace Umbraco.Core.Persistence.Repositories { internal class ServerRegistrationRepository : PetaPocoRepositoryBase { - public ServerRegistrationRepository(IDatabaseUnitOfWork work) - : base(work) - { - } - - public ServerRegistrationRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache) - : base(work, cache) + public ServerRegistrationRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, ILogger logger) + : base(work, cache, logger) { } diff --git a/src/Umbraco.Core/Persistence/Repositories/TagRepository.cs b/src/Umbraco.Core/Persistence/Repositories/TagRepository.cs index ac39d9556e..ac8ed2dbd0 100644 --- a/src/Umbraco.Core/Persistence/Repositories/TagRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/TagRepository.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; +using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Models.EntityBase; using Umbraco.Core.Models.Rdbms; @@ -15,13 +16,8 @@ namespace Umbraco.Core.Persistence.Repositories { internal class TagRepository : PetaPocoRepositoryBase, ITagRepository { - protected TagRepository(IDatabaseUnitOfWork work) - : this(work, RuntimeCacheProvider.Current) - { - } - - internal TagRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache) - : base(work, cache) + internal TagRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, ILogger logger) + : base(work, cache, logger) { } diff --git a/src/Umbraco.Core/Persistence/Repositories/TemplateRepository.cs b/src/Umbraco.Core/Persistence/Repositories/TemplateRepository.cs index 1b2111a15e..74df05bd84 100644 --- a/src/Umbraco.Core/Persistence/Repositories/TemplateRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/TemplateRepository.cs @@ -7,6 +7,7 @@ using System.Text; using Umbraco.Core.Configuration; using Umbraco.Core.Configuration.UmbracoSettings; using Umbraco.Core.IO; +using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Models.EntityBase; using Umbraco.Core.Models.Rdbms; @@ -26,26 +27,14 @@ namespace Umbraco.Core.Persistence.Repositories /// internal class TemplateRepository : PetaPocoRepositoryBase, ITemplateRepository { - private IFileSystem _masterpagesFileSystem; - private IFileSystem _viewsFileSystem; - private ITemplatesSection _templateConfig; - private ViewHelper _viewHelper; - private MasterPageHelper _masterPageHelper; + private readonly IFileSystem _masterpagesFileSystem; + private readonly IFileSystem _viewsFileSystem; + private readonly ITemplatesSection _templateConfig; + private readonly ViewHelper _viewHelper; + private readonly MasterPageHelper _masterPageHelper; - public TemplateRepository(IDatabaseUnitOfWork work) - : base(work) - { - EnsureDependencies(); - } - - public TemplateRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache) - : base(work, cache) - { - EnsureDependencies(); - } - - internal TemplateRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, IFileSystem masterpageFileSystem, IFileSystem viewFileSystem, ITemplatesSection templateConfig) - : base(work, cache) + internal TemplateRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, ILogger logger, IFileSystem masterpageFileSystem, IFileSystem viewFileSystem, ITemplatesSection templateConfig) + : base(work, cache, logger) { _masterpagesFileSystem = masterpageFileSystem; _viewsFileSystem = viewFileSystem; @@ -54,15 +43,7 @@ namespace Umbraco.Core.Persistence.Repositories _masterPageHelper = new MasterPageHelper(_masterpagesFileSystem); } - private void EnsureDependencies() - { - _masterpagesFileSystem = new PhysicalFileSystem(SystemDirectories.Masterpages); - _viewsFileSystem = new PhysicalFileSystem(SystemDirectories.MvcViews); - _templateConfig = UmbracoConfig.For.UmbracoSettings().Templates; - _viewHelper = new ViewHelper(_viewsFileSystem); - _masterPageHelper = new MasterPageHelper(_masterpagesFileSystem); - } - + #region Overrides of RepositoryBase protected override ITemplate PerformGet(int id) diff --git a/src/Umbraco.Core/Persistence/Repositories/UserRepository.cs b/src/Umbraco.Core/Persistence/Repositories/UserRepository.cs index c08802f6e0..5c0107764e 100644 --- a/src/Umbraco.Core/Persistence/Repositories/UserRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/UserRepository.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using Umbraco.Core; +using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Models.EntityBase; using Umbraco.Core.Models.Membership; @@ -25,15 +26,8 @@ namespace Umbraco.Core.Persistence.Repositories private readonly IUserTypeRepository _userTypeRepository; private readonly CacheHelper _cacheHelper; - public UserRepository(IDatabaseUnitOfWork work, IUserTypeRepository userTypeRepository, CacheHelper cacheHelper) - : base(work) - { - _userTypeRepository = userTypeRepository; - _cacheHelper = cacheHelper; - } - - public UserRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, IUserTypeRepository userTypeRepository, CacheHelper cacheHelper) - : base(work, cache) + public UserRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, ILogger logger, IUserTypeRepository userTypeRepository, CacheHelper cacheHelper) + : base(work, cache, logger) { _userTypeRepository = userTypeRepository; _cacheHelper = cacheHelper; diff --git a/src/Umbraco.Core/Persistence/Repositories/UserTypeRepository.cs b/src/Umbraco.Core/Persistence/Repositories/UserTypeRepository.cs index c7fd4723ab..189eeb48ae 100644 --- a/src/Umbraco.Core/Persistence/Repositories/UserTypeRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/UserTypeRepository.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using Umbraco.Core.Logging; using Umbraco.Core.Models.Membership; using Umbraco.Core.Models.Rdbms; using Umbraco.Core.Persistence.Caching; @@ -15,13 +16,8 @@ namespace Umbraco.Core.Persistence.Repositories /// internal class UserTypeRepository : PetaPocoRepositoryBase, IUserTypeRepository { - public UserTypeRepository(IDatabaseUnitOfWork work) - : base(work) - { - } - - public UserTypeRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache) - : base(work, cache) + public UserTypeRepository(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, ILogger logger) + : base(work, cache, logger) { } diff --git a/src/Umbraco.Core/Persistence/Repositories/VersionableRepositoryBase.cs b/src/Umbraco.Core/Persistence/Repositories/VersionableRepositoryBase.cs index 3acc06b132..f5d0e42ec6 100644 --- a/src/Umbraco.Core/Persistence/Repositories/VersionableRepositoryBase.cs +++ b/src/Umbraco.Core/Persistence/Repositories/VersionableRepositoryBase.cs @@ -22,11 +22,9 @@ namespace Umbraco.Core.Persistence.Repositories internal abstract class VersionableRepositoryBase : PetaPocoRepositoryBase where TEntity : class, IAggregateRoot { - protected VersionableRepositoryBase(IDatabaseUnitOfWork work) : base(work) - { - } - - protected VersionableRepositoryBase(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache) : base(work, cache) + + protected VersionableRepositoryBase(IDatabaseUnitOfWork work, IRepositoryCacheProvider cache, ILogger logger) + : base(work, cache, logger) { } diff --git a/src/Umbraco.Core/Persistence/RepositoryFactory.cs b/src/Umbraco.Core/Persistence/RepositoryFactory.cs index f549617d86..a6ec67733e 100644 --- a/src/Umbraco.Core/Persistence/RepositoryFactory.cs +++ b/src/Umbraco.Core/Persistence/RepositoryFactory.cs @@ -1,6 +1,8 @@ using Umbraco.Core.Configuration; using System; using Umbraco.Core.Configuration.UmbracoSettings; +using Umbraco.Core.IO; +using Umbraco.Core.Logging; using Umbraco.Core.Persistence.Caching; using Umbraco.Core.Persistence.Repositories; using Umbraco.Core.Persistence.UnitOfWork; @@ -13,56 +15,71 @@ namespace Umbraco.Core.Persistence public class RepositoryFactory { private readonly bool _disableAllCache; + private readonly ILogger _logger; private readonly CacheHelper _cacheHelper; private readonly IUmbracoSettingsSection _settings; #region Ctors + + public RepositoryFactory(CacheHelper cacheHelper, ILogger logger, IUmbracoSettingsSection settings) + { + if (cacheHelper == null) throw new ArgumentNullException("cacheHelper"); + if (logger == null) throw new ArgumentNullException("logger"); + if (settings == null) throw new ArgumentNullException("settings"); + _disableAllCache = false; + _cacheHelper = cacheHelper; + _logger = logger; + _settings = settings; + } + + public RepositoryFactory(bool disableAllCache, ILogger logger, IUmbracoSettingsSection settings) + { + if (logger == null) throw new ArgumentNullException("logger"); + if (settings == null) throw new ArgumentNullException("settings"); + _disableAllCache = disableAllCache; + _logger = logger; + _settings = settings; + _cacheHelper = _disableAllCache ? CacheHelper.CreateDisabledCacheHelper() : ApplicationContext.Current.ApplicationCache; + } + + [Obsolete("Use the ctor specifying all dependencies instead")] public RepositoryFactory() - : this(false, UmbracoConfig.For.UmbracoSettings()) + : this(false, LoggerResolver.Current.Logger, UmbracoConfig.For.UmbracoSettings()) { } + [Obsolete("Use the ctor specifying an ILogger instead")] public RepositoryFactory(CacheHelper cacheHelper) - : this(false, UmbracoConfig.For.UmbracoSettings()) + : this(false, LoggerResolver.Current.Logger, UmbracoConfig.For.UmbracoSettings()) { if (cacheHelper == null) throw new ArgumentNullException("cacheHelper"); _disableAllCache = false; _cacheHelper = cacheHelper; } + [Obsolete("Use the ctor specifying an ILogger instead")] public RepositoryFactory(bool disableAllCache, CacheHelper cacheHelper) - : this(disableAllCache, UmbracoConfig.For.UmbracoSettings()) + : this(disableAllCache, LoggerResolver.Current.Logger, UmbracoConfig.For.UmbracoSettings()) { if (cacheHelper == null) throw new ArgumentNullException("cacheHelper"); _cacheHelper = cacheHelper; } + [Obsolete("Use the ctor specifying an ILogger instead")] public RepositoryFactory(bool disableAllCache) - : this(disableAllCache, UmbracoConfig.For.UmbracoSettings()) + : this(disableAllCache, LoggerResolver.Current.Logger, UmbracoConfig.For.UmbracoSettings()) { } - internal RepositoryFactory(bool disableAllCache, IUmbracoSettingsSection settings) - { - _disableAllCache = disableAllCache; - _settings = settings; - _cacheHelper = _disableAllCache ? CacheHelper.CreateDisabledCacheHelper() : ApplicationContext.Current.ApplicationCache; - } - - internal RepositoryFactory(bool disableAllCache, IUmbracoSettingsSection settings, CacheHelper cacheHelper) - { - _disableAllCache = disableAllCache; - _settings = settings; - _cacheHelper = cacheHelper; - } + #endregion public virtual ITagRepository CreateTagRepository(IDatabaseUnitOfWork uow) { return new TagRepository( uow, - _disableAllCache ? (IRepositoryCacheProvider)NullCacheProvider.Current : RuntimeCacheProvider.Current); + _disableAllCache ? (IRepositoryCacheProvider)NullCacheProvider.Current : RuntimeCacheProvider.Current, _logger); } public virtual IContentRepository CreateContentRepository(IDatabaseUnitOfWork uow) @@ -70,6 +87,7 @@ namespace Umbraco.Core.Persistence return new ContentRepository( uow, _disableAllCache ? (IRepositoryCacheProvider)NullCacheProvider.Current : RuntimeCacheProvider.Current, + _logger, CreateContentTypeRepository(uow), CreateTemplateRepository(uow), CreateTagRepository(uow), @@ -81,6 +99,7 @@ namespace Umbraco.Core.Persistence return new ContentTypeRepository( uow, _disableAllCache ? (IRepositoryCacheProvider)NullCacheProvider.Current : RuntimeCacheProvider.Current, + _logger, CreateTemplateRepository(uow)); } @@ -88,8 +107,9 @@ namespace Umbraco.Core.Persistence { return new DataTypeDefinitionRepository( uow, - _disableAllCache ? (IRepositoryCacheProvider)NullCacheProvider.Current : RuntimeCacheProvider.Current, + _disableAllCache ? (IRepositoryCacheProvider)NullCacheProvider.Current : RuntimeCacheProvider.Current, _cacheHelper, + _logger, CreateContentTypeRepository(uow)); } @@ -98,6 +118,7 @@ namespace Umbraco.Core.Persistence return new DictionaryRepository( uow, _disableAllCache ? (IRepositoryCacheProvider)NullCacheProvider.Current : RuntimeCacheProvider.Current, + _logger, CreateLanguageRepository(uow)); } @@ -105,7 +126,8 @@ namespace Umbraco.Core.Persistence { return new LanguageRepository( uow, - _disableAllCache ? (IRepositoryCacheProvider)NullCacheProvider.Current : RuntimeCacheProvider.Current); + _disableAllCache ? (IRepositoryCacheProvider)NullCacheProvider.Current : RuntimeCacheProvider.Current, + _logger); } public virtual IMediaRepository CreateMediaRepository(IDatabaseUnitOfWork uow) @@ -113,6 +135,7 @@ namespace Umbraco.Core.Persistence return new MediaRepository( uow, _disableAllCache ? (IRepositoryCacheProvider)NullCacheProvider.Current : RuntimeCacheProvider.Current, + _logger, CreateMediaTypeRepository(uow), CreateTagRepository(uow)) { EnsureUniqueNaming = _settings.Content.EnsureUniqueNaming }; } @@ -121,7 +144,8 @@ namespace Umbraco.Core.Persistence { return new MediaTypeRepository( uow, - _disableAllCache ? (IRepositoryCacheProvider)NullCacheProvider.Current : RuntimeCacheProvider.Current); + _disableAllCache ? (IRepositoryCacheProvider)NullCacheProvider.Current : RuntimeCacheProvider.Current, + _logger); } public virtual IRelationRepository CreateRelationRepository(IDatabaseUnitOfWork uow) @@ -129,6 +153,7 @@ namespace Umbraco.Core.Persistence return new RelationRepository( uow, NullCacheProvider.Current, + _logger, CreateRelationTypeRepository(uow)); } @@ -136,7 +161,8 @@ namespace Umbraco.Core.Persistence { return new RelationTypeRepository( uow, - NullCacheProvider.Current); + NullCacheProvider.Current, + _logger); } public virtual IScriptRepository CreateScriptRepository(IUnitOfWork uow) @@ -161,14 +187,20 @@ namespace Umbraco.Core.Persistence public virtual ITemplateRepository CreateTemplateRepository(IDatabaseUnitOfWork uow) { - return new TemplateRepository(uow, _disableAllCache ? (IRepositoryCacheProvider)NullCacheProvider.Current : RuntimeCacheProvider.Current); + return new TemplateRepository(uow, + _disableAllCache ? (IRepositoryCacheProvider)NullCacheProvider.Current : RuntimeCacheProvider.Current, + _logger, + new PhysicalFileSystem(SystemDirectories.Masterpages), + new PhysicalFileSystem(SystemDirectories.MvcViews), + _settings.Templates); } internal virtual ServerRegistrationRepository CreateServerRegistrationRepository(IDatabaseUnitOfWork uow) { return new ServerRegistrationRepository( uow, - NullCacheProvider.Current); + NullCacheProvider.Current, + _logger); } public virtual IUserTypeRepository CreateUserTypeRepository(IDatabaseUnitOfWork uow) @@ -176,7 +208,8 @@ namespace Umbraco.Core.Persistence return new UserTypeRepository( uow, //There's not many user types but we query on users all the time so the result needs to be cached - _disableAllCache ? (IRepositoryCacheProvider)NullCacheProvider.Current : RuntimeCacheProvider.Current); + _disableAllCache ? (IRepositoryCacheProvider)NullCacheProvider.Current : RuntimeCacheProvider.Current, + _logger); } public virtual IUserRepository CreateUserRepository(IDatabaseUnitOfWork uow) @@ -185,13 +218,16 @@ namespace Umbraco.Core.Persistence uow, //Need to cache users - we look up user information more than anything in the back office! _disableAllCache ? (IRepositoryCacheProvider)NullCacheProvider.Current : RuntimeCacheProvider.Current, + _logger, CreateUserTypeRepository(uow), _cacheHelper); } internal virtual IMacroRepository CreateMacroRepository(IDatabaseUnitOfWork uow) { - return new MacroRepository(uow, _disableAllCache ? (IRepositoryCacheProvider)NullCacheProvider.Current : RuntimeCacheProvider.Current); + return new MacroRepository(uow, + _disableAllCache ? (IRepositoryCacheProvider)NullCacheProvider.Current : RuntimeCacheProvider.Current, + _logger); } public virtual IMemberRepository CreateMemberRepository(IDatabaseUnitOfWork uow) @@ -199,6 +235,7 @@ namespace Umbraco.Core.Persistence return new MemberRepository( uow, _disableAllCache ? (IRepositoryCacheProvider)NullCacheProvider.Current : RuntimeCacheProvider.Current, + _logger, CreateMemberTypeRepository(uow), CreateMemberGroupRepository(uow), CreateTagRepository(uow)); @@ -206,12 +243,17 @@ namespace Umbraco.Core.Persistence public virtual IMemberTypeRepository CreateMemberTypeRepository(IDatabaseUnitOfWork uow) { - return new MemberTypeRepository(uow, _disableAllCache ? (IRepositoryCacheProvider)NullCacheProvider.Current : RuntimeCacheProvider.Current); + return new MemberTypeRepository(uow, + _disableAllCache ? (IRepositoryCacheProvider)NullCacheProvider.Current : RuntimeCacheProvider.Current, + _logger); } public virtual IMemberGroupRepository CreateMemberGroupRepository(IDatabaseUnitOfWork uow) { - return new MemberGroupRepository(uow, _disableAllCache ? (IRepositoryCacheProvider)NullCacheProvider.Current : RuntimeCacheProvider.Current, _cacheHelper); + return new MemberGroupRepository(uow, + _disableAllCache ? (IRepositoryCacheProvider)NullCacheProvider.Current : RuntimeCacheProvider.Current, + _logger, + _cacheHelper); } public virtual IEntityRepository CreateEntityRepository(IDatabaseUnitOfWork uow) diff --git a/src/Umbraco.Core/Services/ServiceContext.cs b/src/Umbraco.Core/Services/ServiceContext.cs index 7a18756b6c..be3259f0ff 100644 --- a/src/Umbraco.Core/Services/ServiceContext.cs +++ b/src/Umbraco.Core/Services/ServiceContext.cs @@ -1,4 +1,5 @@ using System; +using log4net; using Umbraco.Core.Logging; using System.IO; using Umbraco.Core.IO; @@ -104,12 +105,13 @@ namespace Umbraco.Core.Services /// /// /// - internal ServiceContext(IDatabaseUnitOfWorkProvider dbUnitOfWorkProvider, IUnitOfWorkProvider fileUnitOfWorkProvider, BasePublishingStrategy publishingStrategy, CacheHelper cache) + internal ServiceContext(IDatabaseUnitOfWorkProvider dbUnitOfWorkProvider, IUnitOfWorkProvider fileUnitOfWorkProvider, BasePublishingStrategy publishingStrategy, CacheHelper cache, ILogger logger) { BuildServiceCache(dbUnitOfWorkProvider, fileUnitOfWorkProvider, publishingStrategy, cache, //this needs to be lazy because when we create the service context it's generally before the //resolvers have been initialized! - new Lazy(() => RepositoryResolver.Current.Factory)); + new Lazy(() => RepositoryResolver.Current.Factory), + logger); } /// @@ -120,7 +122,8 @@ namespace Umbraco.Core.Services IUnitOfWorkProvider fileUnitOfWorkProvider, BasePublishingStrategy publishingStrategy, CacheHelper cache, - Lazy repositoryFactory) + Lazy repositoryFactory, + ILogger logger) { var provider = dbUnitOfWorkProvider; var fileProvider = fileUnitOfWorkProvider; @@ -128,10 +131,10 @@ namespace Umbraco.Core.Services if (_localizedTextService == null) _localizedTextService = new Lazy(() => new LocalizedTextService( new LocalizedTextServiceFileSources(cache.RuntimeCache, new DirectoryInfo(IOHelper.MapPath(SystemDirectories.Umbraco + "/config/lang/"))), - LoggerResolver.Current.Logger)); + logger)); if (_notificationService == null) - _notificationService = new Lazy(() => new NotificationService(provider, _userService.Value, _contentService.Value, LoggerResolver.Current.Logger)); + _notificationService = new Lazy(() => new NotificationService(provider, _userService.Value, _contentService.Value, logger)); if (_serverRegistrationService == null) _serverRegistrationService = new Lazy(() => new ServerRegistrationService(provider, repositoryFactory.Value)); @@ -143,13 +146,13 @@ namespace Umbraco.Core.Services _memberService = new Lazy(() => new MemberService(provider, repositoryFactory.Value, _memberGroupService.Value, _dataTypeService.Value)); if (_contentService == null) - _contentService = new Lazy(() => new ContentService(LoggerResolver.Current.Logger, provider, repositoryFactory.Value, publishingStrategy, _dataTypeService.Value, _userService.Value)); + _contentService = new Lazy(() => new ContentService(logger, provider, repositoryFactory.Value, publishingStrategy, _dataTypeService.Value, _userService.Value)); if (_mediaService == null) _mediaService = new Lazy(() => new MediaService(provider, repositoryFactory.Value, _dataTypeService.Value, _userService.Value)); if (_contentTypeService == null) - _contentTypeService = new Lazy(() => new ContentTypeService(LoggerResolver.Current.Logger, provider, repositoryFactory.Value, _contentService.Value, _mediaService.Value)); + _contentTypeService = new Lazy(() => new ContentTypeService(logger, provider, repositoryFactory.Value, _contentService.Value, _mediaService.Value)); if (_dataTypeService == null) _dataTypeService = new Lazy(() => new DataTypeService(provider, repositoryFactory.Value)); @@ -161,7 +164,7 @@ namespace Umbraco.Core.Services _localizationService = new Lazy(() => new LocalizationService(provider, repositoryFactory.Value)); if (_packagingService == null) - _packagingService = new Lazy(() => new PackagingService(LoggerResolver.Current.Logger, _contentService.Value, _contentTypeService.Value, _mediaService.Value, _macroService.Value, _dataTypeService.Value, _fileService.Value, _localizationService.Value, _userService.Value, repositoryFactory.Value, provider)); + _packagingService = new Lazy(() => new PackagingService(logger, _contentService.Value, _contentTypeService.Value, _mediaService.Value, _macroService.Value, _dataTypeService.Value, _fileService.Value, _localizationService.Value, _userService.Value, repositoryFactory.Value, provider)); if (_entityService == null) _entityService = new Lazy(() => new EntityService( @@ -172,7 +175,7 @@ namespace Umbraco.Core.Services _relationService = new Lazy(() => new RelationService(provider, repositoryFactory.Value, _entityService.Value)); if (_treeService == null) - _treeService = new Lazy(() => new ApplicationTreeService(LoggerResolver.Current.Logger, cache)); + _treeService = new Lazy(() => new ApplicationTreeService(logger, cache)); if (_sectionService == null) _sectionService = new Lazy(() => new SectionService(_userService.Value, _treeService.Value, provider, cache)); diff --git a/src/Umbraco.Core/Standalone/ServiceContextManager.cs b/src/Umbraco.Core/Standalone/ServiceContextManager.cs index 955c7a25df..8d9a75aaec 100644 --- a/src/Umbraco.Core/Standalone/ServiceContextManager.cs +++ b/src/Umbraco.Core/Standalone/ServiceContextManager.cs @@ -1,6 +1,7 @@ using System; using System.Diagnostics; using Umbraco.Core.Cache; +using Umbraco.Core.Logging; using Umbraco.Core.Persistence; using Umbraco.Core.Persistence.Mappers; using Umbraco.Core.Persistence.UnitOfWork; @@ -59,7 +60,8 @@ namespace Umbraco.Core.Standalone new PetaPocoUnitOfWorkProvider(dbFactory), new FileUnitOfWorkProvider(), new PublishingStrategy(), - cacheHelper); + cacheHelper, + new DebugDiagnosticsLogger()); //initialize the DatabaseContext dbContext.Initialize(_providerName); diff --git a/src/Umbraco.Core/Umbraco.Core.csproj b/src/Umbraco.Core/Umbraco.Core.csproj index a34accb7bd..b3d641345e 100644 --- a/src/Umbraco.Core/Umbraco.Core.csproj +++ b/src/Umbraco.Core/Umbraco.Core.csproj @@ -316,6 +316,7 @@ + diff --git a/src/Umbraco.Tests/CodeFirst/TypeInheritanceTest.cs b/src/Umbraco.Tests/CodeFirst/TypeInheritanceTest.cs index ccc5d887f5..b4854ed6f9 100644 --- a/src/Umbraco.Tests/CodeFirst/TypeInheritanceTest.cs +++ b/src/Umbraco.Tests/CodeFirst/TypeInheritanceTest.cs @@ -7,7 +7,6 @@ using Umbraco.Core.Models; using Umbraco.Tests.CodeFirst.Attributes; using Umbraco.Tests.CodeFirst.Definitions; using Umbraco.Tests.CodeFirst.TestModels.Composition; -using Umbraco.Tests.TestHelpers; namespace Umbraco.Tests.CodeFirst { @@ -17,8 +16,6 @@ namespace Umbraco.Tests.CodeFirst [SetUp] public void Initialize() { - TestHelper.SetupLog4NetForTests(); - //this ensures its reset PluginManager.Current = new PluginManager(false); diff --git a/src/Umbraco.Tests/Macros/MacroEngineFactoryTests.cs b/src/Umbraco.Tests/Macros/MacroEngineFactoryTests.cs index 2ab4c9f04e..48f1d01825 100644 --- a/src/Umbraco.Tests/Macros/MacroEngineFactoryTests.cs +++ b/src/Umbraco.Tests/Macros/MacroEngineFactoryTests.cs @@ -5,7 +5,6 @@ using NUnit.Framework; using umbraco.cms.businesslogic.macro; using Umbraco.Core; using umbraco.interfaces; -using Umbraco.Tests.TestHelpers; namespace Umbraco.Tests.Macros { @@ -15,9 +14,7 @@ namespace Umbraco.Tests.Macros [SetUp] public void Initialize() { - TestHelper.SetupLog4NetForTests(); - - //this ensures its reset + //this ensures its reset PluginManager.Current = new PluginManager(false); //for testing, we'll specify which assemblies are scanned for the PluginTypeResolver diff --git a/src/Umbraco.Tests/MediaFactoryTests.cs b/src/Umbraco.Tests/MediaFactoryTests.cs index 1c658f840f..c17eb330f3 100644 --- a/src/Umbraco.Tests/MediaFactoryTests.cs +++ b/src/Umbraco.Tests/MediaFactoryTests.cs @@ -3,7 +3,6 @@ using System.Collections.Generic; using System.Linq; using NUnit.Framework; using Umbraco.Core; -using Umbraco.Tests.TestHelpers; using umbraco.BusinessLogic; using umbraco.cms.businesslogic.media; @@ -15,9 +14,7 @@ namespace Umbraco.Tests [SetUp] public void Initialize() { - TestHelper.SetupLog4NetForTests(); - - //this ensures its reset + //this ensures its reset PluginManager.Current = new PluginManager(false); //for testing, we'll specify which assemblies are scanned for the PluginTypeResolver diff --git a/src/Umbraco.Tests/Migrations/FindingMigrationsTest.cs b/src/Umbraco.Tests/Migrations/FindingMigrationsTest.cs index 5775ad8718..86a1a220f1 100644 --- a/src/Umbraco.Tests/Migrations/FindingMigrationsTest.cs +++ b/src/Umbraco.Tests/Migrations/FindingMigrationsTest.cs @@ -9,7 +9,6 @@ using Umbraco.Core.Persistence; using Umbraco.Core.Persistence.Migrations; using Umbraco.Core.Persistence.SqlSyntax; using Umbraco.Tests.Migrations.Stubs; -using Umbraco.Tests.TestHelpers; namespace Umbraco.Tests.Migrations { @@ -19,9 +18,7 @@ namespace Umbraco.Tests.Migrations [SetUp] public void Initialize() { - TestHelper.SetupLog4NetForTests(); - - MigrationResolver.Current = new MigrationResolver(() => new List + MigrationResolver.Current = new MigrationResolver(() => new List { typeof (AlterUserTableMigrationStub), typeof(Dummy), diff --git a/src/Umbraco.Tests/Migrations/TargetVersionSixthMigrationsTest.cs b/src/Umbraco.Tests/Migrations/TargetVersionSixthMigrationsTest.cs index 9a9b2922d4..964ab30f9b 100644 --- a/src/Umbraco.Tests/Migrations/TargetVersionSixthMigrationsTest.cs +++ b/src/Umbraco.Tests/Migrations/TargetVersionSixthMigrationsTest.cs @@ -25,7 +25,6 @@ namespace Umbraco.Tests.Migrations [SetUp] public override void Initialize() { - TestHelper.SetupLog4NetForTests(); TestHelper.InitializeContentDirectories(); Path = TestHelper.CurrentAssemblyDirectory; diff --git a/src/Umbraco.Tests/Migrations/Upgrades/BaseUpgradeTest.cs b/src/Umbraco.Tests/Migrations/Upgrades/BaseUpgradeTest.cs index b496560287..f685d1071d 100644 --- a/src/Umbraco.Tests/Migrations/Upgrades/BaseUpgradeTest.cs +++ b/src/Umbraco.Tests/Migrations/Upgrades/BaseUpgradeTest.cs @@ -23,7 +23,6 @@ namespace Umbraco.Tests.Migrations.Upgrades [SetUp] public virtual void Initialize() { - TestHelper.SetupLog4NetForTests(); TestHelper.InitializeContentDirectories(); Path = TestHelper.CurrentAssemblyDirectory; diff --git a/src/Umbraco.Tests/Migrations/Upgrades/ValidateOlderSchemaTest.cs b/src/Umbraco.Tests/Migrations/Upgrades/ValidateOlderSchemaTest.cs index c427eec1b2..95e428a19f 100644 --- a/src/Umbraco.Tests/Migrations/Upgrades/ValidateOlderSchemaTest.cs +++ b/src/Umbraco.Tests/Migrations/Upgrades/ValidateOlderSchemaTest.cs @@ -51,7 +51,6 @@ namespace Umbraco.Tests.Migrations.Upgrades [SetUp] public virtual void Initialize() { - TestHelper.SetupLog4NetForTests(); TestHelper.InitializeContentDirectories(); Path = TestHelper.CurrentAssemblyDirectory; diff --git a/src/Umbraco.Tests/Migrations/Upgrades/ValidateV7TagsUpgradeTest.cs b/src/Umbraco.Tests/Migrations/Upgrades/ValidateV7TagsUpgradeTest.cs index 880a44c82e..d99276cd10 100644 --- a/src/Umbraco.Tests/Migrations/Upgrades/ValidateV7TagsUpgradeTest.cs +++ b/src/Umbraco.Tests/Migrations/Upgrades/ValidateV7TagsUpgradeTest.cs @@ -1,7 +1,11 @@ using System.Collections.Generic; using System.Linq; +using Moq; using NUnit.Framework; using Umbraco.Core; +using Umbraco.Core.Configuration.UmbracoSettings; +using Umbraco.Core.IO; +using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Models.Rdbms; using Umbraco.Core.Persistence; @@ -21,10 +25,10 @@ namespace Umbraco.Tests.Migrations.Upgrades { private ContentRepository CreateRepository(IDatabaseUnitOfWork unitOfWork, out ContentTypeRepository contentTypeRepository) { - var templateRepository = new TemplateRepository(unitOfWork, NullCacheProvider.Current); - var tagRepository = new TagRepository(unitOfWork, NullCacheProvider.Current); - contentTypeRepository = new ContentTypeRepository(unitOfWork, NullCacheProvider.Current, templateRepository); - var repository = new ContentRepository(unitOfWork, NullCacheProvider.Current, contentTypeRepository, templateRepository, tagRepository, CacheHelper.CreateDisabledCacheHelper()); + var templateRepository = new TemplateRepository(unitOfWork, Mock.Of(), Mock.Of(), Mock.Of(), Mock.Of(), Mock.Of()); + var tagRepository = new TagRepository(unitOfWork, Mock.Of(), Mock.Of()); + contentTypeRepository = new ContentTypeRepository(unitOfWork, Mock.Of(), Mock.Of(), templateRepository); + var repository = new ContentRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), contentTypeRepository, templateRepository, tagRepository, CacheHelper.CreateDisabledCacheHelper()); return repository; } diff --git a/src/Umbraco.Tests/MockTests.cs b/src/Umbraco.Tests/MockTests.cs index d0a4f68d5f..be67c5c805 100644 --- a/src/Umbraco.Tests/MockTests.cs +++ b/src/Umbraco.Tests/MockTests.cs @@ -5,6 +5,7 @@ using System.Text; using System.Web; using NUnit.Framework; using Umbraco.Core; +using Umbraco.Core.Configuration.UmbracoSettings; using Umbraco.Core.Logging; using Umbraco.Core.Persistence; using Umbraco.Core.Persistence.UnitOfWork; @@ -45,12 +46,12 @@ namespace Umbraco.Tests new Mock().Object, new Mock().Object, new Mock().Object, - new RepositoryFactory(true), + new RepositoryFactory(true, Mock.Of(), Mock.Of()), new Mock().Object), new Mock().Object, new RelationService( new Mock().Object, - new RepositoryFactory(true), + new RepositoryFactory(true, Mock.Of(), Mock.Of()), new Mock().Object), new Mock().Object, new Mock().Object, @@ -93,12 +94,12 @@ namespace Umbraco.Tests new Mock().Object, new Mock().Object, new Mock().Object, - new RepositoryFactory(true), + new RepositoryFactory(true, Mock.Of(), Mock.Of()), new Mock().Object), new Mock().Object, new RelationService( new Mock().Object, - new RepositoryFactory(true), + new RepositoryFactory(true, Mock.Of(), Mock.Of()), new Mock().Object), new Mock().Object, new Mock().Object, @@ -109,7 +110,8 @@ namespace Umbraco.Tests new Mock().Object, new Mock().Object, Mock.Of()), - CacheHelper.CreateDisabledCacheHelper()); + CacheHelper.CreateDisabledCacheHelper(), + Mock.Of()); Assert.Pass(); } diff --git a/src/Umbraco.Tests/Mvc/SurfaceControllerTests.cs b/src/Umbraco.Tests/Mvc/SurfaceControllerTests.cs index 572ff5aa92..f4b2cc5119 100644 --- a/src/Umbraco.Tests/Mvc/SurfaceControllerTests.cs +++ b/src/Umbraco.Tests/Mvc/SurfaceControllerTests.cs @@ -4,6 +4,7 @@ using System.Web.Mvc; using Moq; using NUnit.Framework; using Umbraco.Core; +using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.ObjectResolution; using Umbraco.Tests.TestHelpers; @@ -27,7 +28,7 @@ namespace Umbraco.Tests.Mvc appCtx, true); - var ctrl = new TestSurfaceController(umbCtx); + var ctrl = new TestSurfaceController(Mock.Of(), umbCtx); var result = ctrl.Index(); @@ -45,7 +46,7 @@ namespace Umbraco.Tests.Mvc appCtx, true); - var ctrl = new TestSurfaceController(umbCtx); + var ctrl = new TestSurfaceController(Mock.Of(), umbCtx); Assert.IsNotNull(ctrl.UmbracoContext); } @@ -61,7 +62,7 @@ namespace Umbraco.Tests.Mvc appCtx, true); - var ctrl = new TestSurfaceController(umbCtx); + var ctrl = new TestSurfaceController(Mock.Of(), umbCtx); Assert.IsNotNull(ctrl.Umbraco); } @@ -106,7 +107,7 @@ namespace Umbraco.Tests.Mvc using (var uTest = new DisposableUmbracoTest(appCtx)) { - var ctrl = new TestSurfaceController(uTest.UmbracoContext); + var ctrl = new TestSurfaceController(Mock.Of(), uTest.UmbracoContext); var result = ctrl.GetContent(2) as PublishedContentResult; Assert.IsNotNull(result); @@ -116,7 +117,8 @@ namespace Umbraco.Tests.Mvc public class TestSurfaceController : SurfaceController { - public TestSurfaceController(UmbracoContext umbracoContext) : base(umbracoContext) + public TestSurfaceController(ILogger logger, UmbracoContext umbracoContext) + : base(logger, umbracoContext) { } diff --git a/src/Umbraco.Tests/ObjectExtensionsTests.cs b/src/Umbraco.Tests/ObjectExtensionsTests.cs index 4e78b2da1f..c9d90e342b 100644 --- a/src/Umbraco.Tests/ObjectExtensionsTests.cs +++ b/src/Umbraco.Tests/ObjectExtensionsTests.cs @@ -6,7 +6,6 @@ using System.Threading; using System.Web.UI.WebControls; using NUnit.Framework; using Umbraco.Core; -using Umbraco.Tests.TestHelpers; namespace Umbraco.Tests { @@ -16,7 +15,6 @@ namespace Umbraco.Tests [TestFixtureSetUp] public void FixtureSetup() { - TestHelper.SetupLog4NetForTests(); } [Test] diff --git a/src/Umbraco.Tests/Persistence/BaseTableByTableTest.cs b/src/Umbraco.Tests/Persistence/BaseTableByTableTest.cs index d69a49d27f..702a49b92c 100644 --- a/src/Umbraco.Tests/Persistence/BaseTableByTableTest.cs +++ b/src/Umbraco.Tests/Persistence/BaseTableByTableTest.cs @@ -1,8 +1,12 @@ using System; +using System.IO; +using Moq; using NUnit.Framework; using Umbraco.Core; using Umbraco.Core.Cache; using Umbraco.Core.Configuration; +using Umbraco.Core.Configuration.UmbracoSettings; +using Umbraco.Core.Logging; using Umbraco.Core.Models.Rdbms; using Umbraco.Core.ObjectResolution; using Umbraco.Core.Persistence; @@ -20,13 +24,16 @@ namespace Umbraco.Tests.Persistence [SetUp] public virtual void Initialize() { - TestHelper.SetupLog4NetForTests(); TestHelper.InitializeContentDirectories(); string path = TestHelper.CurrentAssemblyDirectory; AppDomain.CurrentDomain.SetData("DataDirectory", path); - RepositoryResolver.Current = new RepositoryResolver(new RepositoryFactory(true)); + var logger = new Logger(new FileInfo(TestHelper.MapPathForTest("~/unit-test-log4net.config"))); + + RepositoryResolver.Current = new RepositoryResolver(new RepositoryFactory(true, + logger, + Mock.Of())); //disable cache var cacheHelper = CacheHelper.CreateDisabledCacheHelper(); @@ -35,8 +42,9 @@ namespace Umbraco.Tests.Persistence //assign the db context new DatabaseContext(new DefaultDatabaseFactory()), //assign the service context - new ServiceContext(new PetaPocoUnitOfWorkProvider(), new FileUnitOfWorkProvider(), new PublishingStrategy(), cacheHelper), - cacheHelper) + new ServiceContext(new PetaPocoUnitOfWorkProvider(), new FileUnitOfWorkProvider(), new PublishingStrategy(), cacheHelper, logger), + cacheHelper, + new Logger(new FileInfo(TestHelper.MapPathForTest("~/unit-test-log4net.config")))) { IsReady = true }; diff --git a/src/Umbraco.Tests/Persistence/Repositories/ContentRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/ContentRepositoryTest.cs index 86c26fd0e5..80443b8122 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/ContentRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/ContentRepositoryTest.cs @@ -2,8 +2,12 @@ using System.Collections.Generic; using System.Linq; using System.Xml.Linq; +using Moq; using NUnit.Framework; using Umbraco.Core; +using Umbraco.Core.Configuration.UmbracoSettings; +using Umbraco.Core.IO; +using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Models.Rdbms; using Umbraco.Core.Persistence; @@ -40,10 +44,10 @@ namespace Umbraco.Tests.Persistence.Repositories private ContentRepository CreateRepository(IDatabaseUnitOfWork unitOfWork, out ContentTypeRepository contentTypeRepository) { - var templateRepository = new TemplateRepository(unitOfWork, NullCacheProvider.Current); - var tagRepository = new TagRepository(unitOfWork, NullCacheProvider.Current); - contentTypeRepository = new ContentTypeRepository(unitOfWork, NullCacheProvider.Current, templateRepository); - var repository = new ContentRepository(unitOfWork, NullCacheProvider.Current, contentTypeRepository, templateRepository, tagRepository, CacheHelper.CreateDisabledCacheHelper()); + var templateRepository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), Mock.Of(), Mock.Of(), Mock.Of()); + var tagRepository = new TagRepository(unitOfWork, NullCacheProvider.Current, Mock.Of()); + contentTypeRepository = new ContentTypeRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), templateRepository); + var repository = new ContentRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), contentTypeRepository, templateRepository, tagRepository, CacheHelper.CreateDisabledCacheHelper()); return repository; } diff --git a/src/Umbraco.Tests/Persistence/Repositories/ContentTypeRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/ContentTypeRepositoryTest.cs index 5d94e604a4..c537818ca8 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/ContentTypeRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/ContentTypeRepositoryTest.cs @@ -1,8 +1,12 @@ using System; using System.Collections.Generic; using System.Linq; +using Moq; using NUnit.Framework; using Umbraco.Core; +using Umbraco.Core.Configuration.UmbracoSettings; +using Umbraco.Core.IO; +using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Models.EntityBase; using Umbraco.Core.Models.Rdbms; @@ -35,17 +39,17 @@ namespace Umbraco.Tests.Persistence.Repositories private ContentRepository CreateRepository(IDatabaseUnitOfWork unitOfWork, out ContentTypeRepository contentTypeRepository) { - var templateRepository = new TemplateRepository(unitOfWork, NullCacheProvider.Current); - var tagRepository = new TagRepository(unitOfWork, NullCacheProvider.Current); - contentTypeRepository = new ContentTypeRepository(unitOfWork, NullCacheProvider.Current, templateRepository); - var repository = new ContentRepository(unitOfWork, NullCacheProvider.Current, contentTypeRepository, templateRepository, tagRepository, CacheHelper.CreateDisabledCacheHelper()); + var templateRepository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), Mock.Of(), Mock.Of(), Mock.Of()); + var tagRepository = new TagRepository(unitOfWork, NullCacheProvider.Current, Mock.Of()); + contentTypeRepository = new ContentTypeRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), templateRepository); + var repository = new ContentRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), contentTypeRepository, templateRepository, tagRepository, CacheHelper.CreateDisabledCacheHelper()); return repository; } private ContentTypeRepository CreateRepository(IDatabaseUnitOfWork unitOfWork) { - var templateRepository = new TemplateRepository(unitOfWork, NullCacheProvider.Current); - var contentTypeRepository = new ContentTypeRepository(unitOfWork, NullCacheProvider.Current, templateRepository); + var templateRepository = new TemplateRepository(unitOfWork, Mock.Of(), Mock.Of(), Mock.Of(), Mock.Of(), Mock.Of()); + var contentTypeRepository = new ContentTypeRepository(unitOfWork, Mock.Of(), Mock.Of(), templateRepository); return contentTypeRepository; } @@ -71,7 +75,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - using (var templateRepo = new TemplateRepository(unitOfWork)) + using (var templateRepo = new TemplateRepository(unitOfWork, Mock.Of(), Mock.Of(), Mock.Of(), Mock.Of(), Mock.Of())) using (var repository = CreateRepository(unitOfWork)) { var templates = new[] diff --git a/src/Umbraco.Tests/Persistence/Repositories/DataTypeDefinitionRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/DataTypeDefinitionRepositoryTest.cs index fbf7f53414..6b71158ec6 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/DataTypeDefinitionRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/DataTypeDefinitionRepositoryTest.cs @@ -1,13 +1,18 @@ using System; using System.Data; using System.Linq; +using Moq; using NUnit.Framework; using Umbraco.Core; using Umbraco.Core.Cache; +using Umbraco.Core.Configuration.UmbracoSettings; +using Umbraco.Core.IO; +using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Models.Membership; using Umbraco.Core.Models.Rdbms; using Umbraco.Core.Persistence; +using Umbraco.Core.Persistence.Caching; using Umbraco.Core.Persistence.Querying; using Umbraco.Core.Persistence.Repositories; using Umbraco.Core.Persistence.UnitOfWork; @@ -29,9 +34,11 @@ namespace Umbraco.Tests.Persistence.Repositories private DataTypeDefinitionRepository CreateRepository(IDatabaseUnitOfWork unitOfWork) { var dataTypeDefinitionRepository = new DataTypeDefinitionRepository( - unitOfWork, NullCacheProvider.Current, CacheHelper.CreateDisabledCacheHelper(), - new ContentTypeRepository(unitOfWork, NullCacheProvider.Current, - new TemplateRepository(unitOfWork, NullCacheProvider.Current))); + unitOfWork, NullCacheProvider.Current, + CacheHelper.CreateDisabledCacheHelper(), + Mock.Of(), + new ContentTypeRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), + new TemplateRepository(unitOfWork, Mock.Of(), Mock.Of(), Mock.Of(), Mock.Of(), Mock.Of()))); return dataTypeDefinitionRepository; } @@ -368,9 +375,11 @@ namespace Umbraco.Tests.Persistence.Repositories var cache = new CacheHelper(new ObjectCacheRuntimeCacheProvider(), new StaticCacheProvider(), new StaticCacheProvider()); Func creator = () => new DataTypeDefinitionRepository( - unitOfWork, NullCacheProvider.Current, cache, - new ContentTypeRepository(unitOfWork, NullCacheProvider.Current, - new TemplateRepository(unitOfWork, NullCacheProvider.Current))); + unitOfWork, NullCacheProvider.Current, + CacheHelper.CreateDisabledCacheHelper(), + Mock.Of(), + new ContentTypeRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), + new TemplateRepository(unitOfWork, Mock.Of(), Mock.Of(), Mock.Of(), Mock.Of(), Mock.Of()))); DataTypeDefinition dtd; using (var repository = creator()) @@ -405,9 +414,11 @@ namespace Umbraco.Tests.Persistence.Repositories var cache = new CacheHelper(new ObjectCacheRuntimeCacheProvider(), new StaticCacheProvider(), new StaticCacheProvider()); Func creator = () => new DataTypeDefinitionRepository( - unitOfWork, NullCacheProvider.Current, cache, - new ContentTypeRepository(unitOfWork, NullCacheProvider.Current, - new TemplateRepository(unitOfWork, NullCacheProvider.Current))); + unitOfWork, NullCacheProvider.Current, + CacheHelper.CreateDisabledCacheHelper(), + Mock.Of(), + new ContentTypeRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), + new TemplateRepository(unitOfWork, Mock.Of(), Mock.Of(), Mock.Of(), Mock.Of(), Mock.Of()))); DataTypeDefinition dtd; using (var repository = creator()) diff --git a/src/Umbraco.Tests/Persistence/Repositories/DictionaryRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/DictionaryRepositoryTest.cs index a81d91fc11..a789a277c7 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/DictionaryRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/DictionaryRepositoryTest.cs @@ -1,6 +1,8 @@ using System.Collections.Generic; using System.Linq; +using Moq; using NUnit.Framework; +using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Persistence; using Umbraco.Core.Persistence.Caching; @@ -25,8 +27,8 @@ namespace Umbraco.Tests.Persistence.Repositories private DictionaryRepository CreateRepository(IDatabaseUnitOfWork unitOfWork, out LanguageRepository languageRepository) { - languageRepository = new LanguageRepository(unitOfWork, NullCacheProvider.Current); - var dictionaryRepository = new DictionaryRepository(unitOfWork, NullCacheProvider.Current, languageRepository); + languageRepository = new LanguageRepository(unitOfWork, NullCacheProvider.Current, Mock.Of()); + var dictionaryRepository = new DictionaryRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), languageRepository); return dictionaryRepository; } @@ -64,7 +66,7 @@ namespace Umbraco.Tests.Persistence.Repositories Assert.That(dictionaryItem.Translations.First().Value, Is.EqualTo("Read More")); Assert.That(dictionaryItem.Translations.Last().Value, Is.EqualTo("Læs mere")); } - + } [Test] @@ -247,8 +249,8 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - var languageRepository = new LanguageRepository(unitOfWork); - var repository = new DictionaryRepository(unitOfWork, languageRepository); + var languageRepository = new LanguageRepository(unitOfWork, Mock.Of(), Mock.Of()); + var repository = new DictionaryRepository(unitOfWork, Mock.Of(), Mock.Of(), languageRepository); var languageNo = new Language("nb-NO") { CultureName = "nb-NO" }; ServiceContext.LocalizationService.Save(languageNo); diff --git a/src/Umbraco.Tests/Persistence/Repositories/LanguageRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/LanguageRepositoryTest.cs index bbc5d1ff22..bafd9914a7 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/LanguageRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/LanguageRepositoryTest.cs @@ -1,5 +1,7 @@ using System.Linq; +using Moq; using NUnit.Framework; +using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Persistence; using Umbraco.Core.Persistence.Caching; @@ -24,7 +26,7 @@ namespace Umbraco.Tests.Persistence.Repositories private LanguageRepository CreateRepository(IDatabaseUnitOfWork unitOfWork) { - return new LanguageRepository(unitOfWork, NullCacheProvider.Current); + return new LanguageRepository(unitOfWork, NullCacheProvider.Current, Mock.Of()); } [Test] diff --git a/src/Umbraco.Tests/Persistence/Repositories/MacroRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/MacroRepositoryTest.cs index 377b9e57e7..c59081e631 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/MacroRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/MacroRepositoryTest.cs @@ -1,6 +1,8 @@ using System.Data.SqlServerCe; using System.Linq; +using Moq; using NUnit.Framework; +using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Persistence; using Umbraco.Core.Persistence.Caching; @@ -31,7 +33,7 @@ namespace Umbraco.Tests.Persistence.Repositories var unitOfWork = provider.GetUnitOfWork(); // Act - using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current)) + using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current, Mock.Of())) { var macro = new Macro("test1", "Test", "~/usercontrol/blah.ascx", "MyAssembly", "test.xslt", "~/views/macropartials/test.cshtml"); repository.AddOrUpdate(macro); @@ -49,7 +51,7 @@ namespace Umbraco.Tests.Persistence.Repositories var unitOfWork = provider.GetUnitOfWork(); // Act - using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current)) + using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current, Mock.Of())) { var macro = repository.Get(1); macro.Alias = "test2"; @@ -67,7 +69,7 @@ namespace Umbraco.Tests.Persistence.Repositories var unitOfWork = provider.GetUnitOfWork(); // Act - using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current)) + using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current, Mock.Of())) { // Assert Assert.That(repository, Is.Not.Null); @@ -80,7 +82,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current)) + using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current, Mock.Of())) { // Act var macro = repository.Get(1); @@ -110,7 +112,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current)) + using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current, Mock.Of())) { // Act var macros = repository.GetAll(); @@ -127,7 +129,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current)) + using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current, Mock.Of())) { // Act var query = Query.Builder.Where(x => x.Alias.ToUpper() == "TEST1"); @@ -144,7 +146,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current)) + using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current, Mock.Of())) { // Act var query = Query.Builder.Where(x => x.Name.StartsWith("Test")); @@ -161,7 +163,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current)) + using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current, Mock.Of())) { // Act var macro = new Macro("test", "Test", "~/usercontrol/blah.ascx", "MyAssembly", "test.xslt", "~/views/macropartials/test.cshtml"); @@ -182,7 +184,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current)) + using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current, Mock.Of())) { // Act var macro = repository.Get(2); @@ -223,7 +225,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current)) + using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current, Mock.Of())) { // Act var macro = repository.Get(3); @@ -244,7 +246,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current)) + using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current, Mock.Of())) { // Act var exists = repository.Exists(3); @@ -262,7 +264,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current)) + using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current, Mock.Of())) { var macro = repository.Get(1); macro.Properties.Add(new MacroProperty("new1", "New1", 3, "test")); @@ -289,7 +291,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current)) + using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current, Mock.Of())) { var macro = new Macro("newmacro", "A new macro", "~/usercontrol/test1.ascx", "MyAssembly1", "test1.xslt", "~/views/macropartials/test1.cshtml"); macro.Properties.Add(new MacroProperty("blah1", "New1", 4, "test.editor")); @@ -314,7 +316,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current)) + using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current, Mock.Of())) { var macro = new Macro("newmacro", "A new macro", "~/usercontrol/test1.ascx", "MyAssembly1", "test1.xslt", "~/views/macropartials/test1.cshtml"); macro.Properties.Add(new MacroProperty("blah1", "New1", 4, "test.editor")); @@ -339,7 +341,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current)) + using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current, Mock.Of())) { var macro = new Macro("newmacro", "A new macro", "~/usercontrol/test1.ascx", "MyAssembly1", "test1.xslt", "~/views/macropartials/test1.cshtml"); var prop1 = new MacroProperty("blah1", "New1", 4, "test.editor"); @@ -370,7 +372,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current)) + using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current, Mock.Of())) { var macro = repository.Get(1); macro.Properties.Add(new MacroProperty("new1", "New1", 3, "test")); @@ -398,7 +400,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current)) + using (var repository = new MacroRepository(unitOfWork, NullCacheProvider.Current, Mock.Of())) { var macro = repository.Get(1); macro.Properties.Add(new MacroProperty("new1", "New1", 3, "test")); @@ -427,7 +429,7 @@ namespace Umbraco.Tests.Persistence.Repositories { var provider = new PetaPocoUnitOfWorkProvider(); using (var unitOfWork = provider.GetUnitOfWork()) - using (var repository = new MacroRepository(unitOfWork)) + using (var repository = new MacroRepository(unitOfWork, Mock.Of(), Mock.Of())) { repository.AddOrUpdate(new Macro("test1", "Test1", "~/usercontrol/test1.ascx", "MyAssembly1", "test1.xslt", "~/views/macropartials/test1.cshtml")); repository.AddOrUpdate(new Macro("test2", "Test2", "~/usercontrol/test2.ascx", "MyAssembly2", "test2.xslt", "~/views/macropartials/test2.cshtml")); diff --git a/src/Umbraco.Tests/Persistence/Repositories/MediaRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/MediaRepositoryTest.cs index b76bdd37bc..cd93474aba 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/MediaRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/MediaRepositoryTest.cs @@ -1,8 +1,10 @@ using System; using System.Linq; using System.Xml.Linq; +using Moq; using NUnit.Framework; using Umbraco.Core; +using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Models.EntityBase; using Umbraco.Core.Models.Rdbms; @@ -24,6 +26,10 @@ namespace Umbraco.Tests.Persistence.Repositories [TestFixture] public class MediaRepositoryTest : BaseDatabaseFactoryTest { + public MediaRepositoryTest() + { + } + [SetUp] public override void Initialize() { @@ -34,9 +40,9 @@ namespace Umbraco.Tests.Persistence.Repositories private MediaRepository CreateRepository(IDatabaseUnitOfWork unitOfWork, out MediaTypeRepository mediaTypeRepository) { - mediaTypeRepository = new MediaTypeRepository(unitOfWork, NullCacheProvider.Current); - var tagRepository = new TagRepository(unitOfWork, NullCacheProvider.Current); - var repository = new MediaRepository(unitOfWork, NullCacheProvider.Current, mediaTypeRepository, tagRepository); + mediaTypeRepository = new MediaTypeRepository(unitOfWork, NullCacheProvider.Current, Mock.Of()); + var tagRepository = new TagRepository(unitOfWork, NullCacheProvider.Current, Mock.Of()); + var repository = new MediaRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), mediaTypeRepository, tagRepository); return repository; } diff --git a/src/Umbraco.Tests/Persistence/Repositories/MediaTypeRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/MediaTypeRepositoryTest.cs index cbf809fc12..261b3d8773 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/MediaTypeRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/MediaTypeRepositoryTest.cs @@ -1,7 +1,9 @@ using System; using System.Linq; +using Moq; using NUnit.Framework; using Umbraco.Core; +using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Models.Rdbms; using Umbraco.Core.Persistence; @@ -25,7 +27,7 @@ namespace Umbraco.Tests.Persistence.Repositories private MediaTypeRepository CreateRepository(IDatabaseUnitOfWork unitOfWork) { - return new MediaTypeRepository(unitOfWork, NullCacheProvider.Current); + return new MediaTypeRepository(unitOfWork, NullCacheProvider.Current, Mock.Of()); } [Test] diff --git a/src/Umbraco.Tests/Persistence/Repositories/MemberRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/MemberRepositoryTest.cs index dec18ef4e5..7021e1ba57 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/MemberRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/MemberRepositoryTest.cs @@ -1,8 +1,10 @@ using System; using System.Linq; using System.Xml.Linq; +using Moq; using NUnit.Framework; using Umbraco.Core; +using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Models.Rdbms; using Umbraco.Core.Persistence; @@ -33,10 +35,10 @@ namespace Umbraco.Tests.Persistence.Repositories private MemberRepository CreateRepository(IDatabaseUnitOfWork unitOfWork, out MemberTypeRepository memberTypeRepository, out MemberGroupRepository memberGroupRepository) { - memberTypeRepository = new MemberTypeRepository(unitOfWork, NullCacheProvider.Current); - memberGroupRepository = new MemberGroupRepository(unitOfWork, NullCacheProvider.Current, CacheHelper.CreateDisabledCacheHelper()); - var tagRepo = new TagRepository(unitOfWork, NullCacheProvider.Current); - var repository = new MemberRepository(unitOfWork, NullCacheProvider.Current, memberTypeRepository, memberGroupRepository, tagRepo); + memberTypeRepository = new MemberTypeRepository(unitOfWork, NullCacheProvider.Current, Mock.Of()); + memberGroupRepository = new MemberGroupRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), CacheHelper.CreateDisabledCacheHelper()); + var tagRepo = new TagRepository(unitOfWork, NullCacheProvider.Current, Mock.Of()); + var repository = new MemberRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), memberTypeRepository, memberGroupRepository, tagRepo); return repository; } diff --git a/src/Umbraco.Tests/Persistence/Repositories/MemberTypeRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/MemberTypeRepositoryTest.cs index 5eb452d720..ee1c04ff5a 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/MemberTypeRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/MemberTypeRepositoryTest.cs @@ -1,7 +1,9 @@ using System; using System.Linq; +using Moq; using NUnit.Framework; using Umbraco.Core; +using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Persistence; using Umbraco.Core.Persistence.Caching; @@ -30,7 +32,7 @@ namespace Umbraco.Tests.Persistence.Repositories private MemberTypeRepository CreateRepository(IDatabaseUnitOfWork unitOfWork) { - return new MemberTypeRepository(unitOfWork, NullCacheProvider.Current); + return new MemberTypeRepository(unitOfWork, NullCacheProvider.Current, Mock.Of()); } [Test] diff --git a/src/Umbraco.Tests/Persistence/Repositories/RelationRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/RelationRepositoryTest.cs index 3b6edea115..290fef4122 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/RelationRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/RelationRepositoryTest.cs @@ -1,7 +1,9 @@ using System; using System.Linq; +using Moq; using NUnit.Framework; using Umbraco.Core; +using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Models.Rdbms; using Umbraco.Core.Persistence; @@ -30,8 +32,8 @@ namespace Umbraco.Tests.Persistence.Repositories private RelationRepository CreateRepository(IDatabaseUnitOfWork unitOfWork, out RelationTypeRepository relationTypeRepository) { - relationTypeRepository = new RelationTypeRepository(unitOfWork, NullCacheProvider.Current); - var repository = new RelationRepository(unitOfWork, NullCacheProvider.Current, relationTypeRepository); + relationTypeRepository = new RelationTypeRepository(unitOfWork, NullCacheProvider.Current, Mock.Of()); + var repository = new RelationRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), relationTypeRepository); return repository; } @@ -279,8 +281,8 @@ namespace Umbraco.Tests.Persistence.Repositories var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - var relationTypeRepository = new RelationTypeRepository(unitOfWork); - var relationRepository = new RelationRepository(unitOfWork, NullCacheProvider.Current, relationTypeRepository); + var relationTypeRepository = new RelationTypeRepository(unitOfWork, NullCacheProvider.Current, Mock.Of()); + var relationRepository = new RelationRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), relationTypeRepository); relationTypeRepository.AddOrUpdate(relateContent); relationTypeRepository.AddOrUpdate(relateContentType); diff --git a/src/Umbraco.Tests/Persistence/Repositories/RelationTypeRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/RelationTypeRepositoryTest.cs index 1c92f11802..7d52b1c6cc 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/RelationTypeRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/RelationTypeRepositoryTest.cs @@ -1,7 +1,9 @@ using System; using System.Linq; +using Moq; using NUnit.Framework; using Umbraco.Core; +using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Persistence; using Umbraco.Core.Persistence.Caching; @@ -26,7 +28,7 @@ namespace Umbraco.Tests.Persistence.Repositories private RelationTypeRepository CreateRepository(IDatabaseUnitOfWork unitOfWork) { - return new RelationTypeRepository(unitOfWork, NullCacheProvider.Current); + return new RelationTypeRepository(unitOfWork, Mock.Of(), Mock.Of()); } [Test] @@ -245,7 +247,7 @@ namespace Umbraco.Tests.Persistence.Repositories var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - var repository = new RelationTypeRepository(unitOfWork); + var repository = new RelationTypeRepository(unitOfWork, Mock.Of(), Mock.Of()); repository.AddOrUpdate(relateContent);//Id 2 repository.AddOrUpdate(relateContentType);//Id 3 diff --git a/src/Umbraco.Tests/Persistence/Repositories/ServerRegistrationRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/ServerRegistrationRepositoryTest.cs index 6188c351a1..05b9b60cdc 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/ServerRegistrationRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/ServerRegistrationRepositoryTest.cs @@ -1,7 +1,9 @@ using System; using System.Data.SqlServerCe; using System.Linq; +using Moq; using NUnit.Framework; +using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Persistence.Caching; using Umbraco.Core.Persistence.Querying; @@ -25,7 +27,7 @@ namespace Umbraco.Tests.Persistence.Repositories private ServerRegistrationRepository CreateRepositor(IDatabaseUnitOfWork unitOfWork) { - return new ServerRegistrationRepository(unitOfWork, NullCacheProvider.Current); + return new ServerRegistrationRepository(unitOfWork, Mock.Of(), Mock.Of()); } [Test] @@ -243,7 +245,7 @@ namespace Umbraco.Tests.Persistence.Repositories { var provider = new PetaPocoUnitOfWorkProvider(); using (var unitOfWork = provider.GetUnitOfWork()) - using (var repository = new ServerRegistrationRepository(unitOfWork)) + using (var repository = new ServerRegistrationRepository(unitOfWork, Mock.Of(), Mock.Of())) { repository.AddOrUpdate(new ServerRegistration("http://localhost", "COMPUTER1", DateTime.Now) { IsActive = true }); repository.AddOrUpdate(new ServerRegistration("http://www.mydomain.com", "COMPUTER2", DateTime.Now)); diff --git a/src/Umbraco.Tests/Persistence/Repositories/TagRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/TagRepositoryTest.cs index c3524580dd..601600b049 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/TagRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/TagRepositoryTest.cs @@ -1,7 +1,11 @@ using System; using System.Linq; +using Moq; using NUnit.Framework; using Umbraco.Core; +using Umbraco.Core.Configuration.UmbracoSettings; +using Umbraco.Core.IO; +using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Models.Rdbms; using Umbraco.Core.Persistence; @@ -31,7 +35,7 @@ namespace Umbraco.Tests.Persistence.Repositories private TagRepository CreateRepository(IDatabaseUnitOfWork unitOfWork) { - var tagRepository = new TagRepository(unitOfWork, NullCacheProvider.Current); + var tagRepository = new TagRepository(unitOfWork, NullCacheProvider.Current, Mock.Of()); return tagRepository; } @@ -949,18 +953,18 @@ namespace Umbraco.Tests.Persistence.Repositories private ContentRepository CreateContentRepository(IDatabaseUnitOfWork unitOfWork, out ContentTypeRepository contentTypeRepository) { - var templateRepository = new TemplateRepository(unitOfWork, NullCacheProvider.Current); - var tagRepository = new TagRepository(unitOfWork, NullCacheProvider.Current); - contentTypeRepository = new ContentTypeRepository(unitOfWork, NullCacheProvider.Current, templateRepository); - var repository = new ContentRepository(unitOfWork, NullCacheProvider.Current, contentTypeRepository, templateRepository, tagRepository, CacheHelper.CreateDisabledCacheHelper()); + var templateRepository = new TemplateRepository(unitOfWork, Mock.Of(), Mock.Of(), Mock.Of(), Mock.Of(), Mock.Of()); + var tagRepository = new TagRepository(unitOfWork, Mock.Of(), Mock.Of()); + contentTypeRepository = new ContentTypeRepository(unitOfWork, Mock.Of(), Mock.Of(), templateRepository); + var repository = new ContentRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), contentTypeRepository, templateRepository, tagRepository, CacheHelper.CreateDisabledCacheHelper()); return repository; } private MediaRepository CreateMediaRepository(IDatabaseUnitOfWork unitOfWork, out MediaTypeRepository mediaTypeRepository) { - var tagRepository = new TagRepository(unitOfWork, NullCacheProvider.Current); - mediaTypeRepository = new MediaTypeRepository(unitOfWork, NullCacheProvider.Current); - var repository = new MediaRepository(unitOfWork, NullCacheProvider.Current, mediaTypeRepository, tagRepository); + var tagRepository = new TagRepository(unitOfWork, Mock.Of(), Mock.Of()); + mediaTypeRepository = new MediaTypeRepository(unitOfWork, NullCacheProvider.Current, Mock.Of()); + var repository = new MediaRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), mediaTypeRepository, tagRepository); return repository; } } diff --git a/src/Umbraco.Tests/Persistence/Repositories/TemplateRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/TemplateRepositoryTest.cs index bd6a2bb350..e1579d45ff 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/TemplateRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/TemplateRepositoryTest.cs @@ -7,6 +7,7 @@ using NUnit.Framework; using Umbraco.Core; using Umbraco.Core.Configuration.UmbracoSettings; using Umbraco.Core.IO; +using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Persistence; using Umbraco.Core.Persistence.Caching; @@ -46,7 +47,7 @@ namespace Umbraco.Tests.Persistence.Repositories { // Assert - Assert.That(repository, Is.Not.Null); + Assert.That(repository, Is.Not.Null); } } @@ -59,12 +60,12 @@ namespace Umbraco.Tests.Persistence.Repositories var unitOfWork = provider.GetUnitOfWork(); // Act - using (var repository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, _masterPageFileSystem, _viewsFileSystem, + using (var repository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), _masterPageFileSystem, _viewsFileSystem, Mock.Of(t => t.DefaultRenderingEngine == RenderingEngine.Mvc))) { // Assert - Assert.That(repository, Is.Not.Null); + Assert.That(repository, Is.Not.Null); } } @@ -75,11 +76,11 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - using (var repository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, _masterPageFileSystem, _viewsFileSystem, + using (var repository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), _masterPageFileSystem, _viewsFileSystem, Mock.Of(t => t.DefaultRenderingEngine == RenderingEngine.Mvc))) { // Act - var template = new Template("test", "test", _viewsFileSystem, _masterPageFileSystem, + var template = new Template("test", "test", _viewsFileSystem, _masterPageFileSystem, //even though the default is MVC, the content is not Mock.Of(t => t.DefaultRenderingEngine == RenderingEngine.Mvc)) { @@ -90,9 +91,9 @@ namespace Umbraco.Tests.Persistence.Repositories //Assert Assert.That(repository.Get("test"), Is.Not.Null); - Assert.That(_masterPageFileSystem.FileExists("test.master"), Is.True); + Assert.That(_masterPageFileSystem.FileExists("test.master"), Is.True); } - + } [Test] @@ -101,7 +102,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - using (var repository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, _masterPageFileSystem, _viewsFileSystem, + using (var repository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), _masterPageFileSystem, _viewsFileSystem, Mock.Of(t => t.DefaultRenderingEngine == RenderingEngine.Mvc))) { // Act @@ -128,7 +129,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - using (var repository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, _masterPageFileSystem, _viewsFileSystem, + using (var repository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), _masterPageFileSystem, _viewsFileSystem, Mock.Of(t => t.DefaultRenderingEngine == RenderingEngine.Mvc))) { //NOTE: This has to be persisted first @@ -138,7 +139,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Act var template2 = new Template("test2", "test2", _viewsFileSystem, _masterPageFileSystem, Mock.Of(t => t.DefaultRenderingEngine == RenderingEngine.WebForms)); - template2.SetMasterTemplate(template); + template2.SetMasterTemplate(template); repository.AddOrUpdate(template2); unitOfWork.Commit(); @@ -158,7 +159,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - using (var repository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, _masterPageFileSystem, _viewsFileSystem, + using (var repository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), _masterPageFileSystem, _viewsFileSystem, Mock.Of(t => t.DefaultRenderingEngine == RenderingEngine.Mvc))) { // Act @@ -179,7 +180,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - using (var repository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, _masterPageFileSystem, _viewsFileSystem, + using (var repository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), _masterPageFileSystem, _viewsFileSystem, Mock.Of(t => t.DefaultRenderingEngine == RenderingEngine.Mvc))) { // Act @@ -207,7 +208,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - using (var repository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, _masterPageFileSystem, _viewsFileSystem, + using (var repository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), _masterPageFileSystem, _viewsFileSystem, Mock.Of(t => t.DefaultRenderingEngine == RenderingEngine.Mvc))) { //NOTE: This has to be persisted first @@ -238,7 +239,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - using (var repository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, _masterPageFileSystem, _viewsFileSystem, + using (var repository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), _masterPageFileSystem, _viewsFileSystem, Mock.Of(t => t.DefaultRenderingEngine == RenderingEngine.Mvc))) { // Act @@ -268,7 +269,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - using (var repository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, _masterPageFileSystem, _viewsFileSystem, + using (var repository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), _masterPageFileSystem, _viewsFileSystem, Mock.Of(t => t.DefaultRenderingEngine == RenderingEngine.Mvc))) { // Act @@ -304,7 +305,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - using (var repository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, _masterPageFileSystem, _viewsFileSystem, + using (var repository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), _masterPageFileSystem, _viewsFileSystem, Mock.Of(t => t.DefaultRenderingEngine == RenderingEngine.Mvc))) { // Act @@ -323,10 +324,10 @@ namespace Umbraco.Tests.Persistence.Repositories // Assert Assert.That(_masterPageFileSystem.FileExists("test.master"), Is.True); - Assert.That(updated.Content, Is.EqualTo(@"<%@ Master Language=""VB"" %>")); + Assert.That(updated.Content, Is.EqualTo(@"<%@ Master Language=""VB"" %>")); } - + } [Test] @@ -335,7 +336,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - using (var repository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, _masterPageFileSystem, _viewsFileSystem, + using (var repository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), _masterPageFileSystem, _viewsFileSystem, Mock.Of(t => t.DefaultRenderingEngine == RenderingEngine.Mvc))) { // Act @@ -366,7 +367,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - using (var repository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, _masterPageFileSystem, _viewsFileSystem, + using (var repository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), _masterPageFileSystem, _viewsFileSystem, Mock.Of(t => t.DefaultRenderingEngine == RenderingEngine.Mvc))) { var template = new Template("test", "test", _viewsFileSystem, _masterPageFileSystem, Mock.Of(t => t.DefaultRenderingEngine == RenderingEngine.Mvc)) @@ -387,7 +388,7 @@ namespace Umbraco.Tests.Persistence.Repositories Assert.That(_masterPageFileSystem.FileExists("test.master"), Is.False); } - + } [Test] @@ -396,7 +397,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - using (var repository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, _masterPageFileSystem, _viewsFileSystem, + using (var repository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), _masterPageFileSystem, _viewsFileSystem, Mock.Of(t => t.DefaultRenderingEngine == RenderingEngine.Mvc))) { var template = new Template("test", "test", _viewsFileSystem, _masterPageFileSystem, Mock.Of(t => t.DefaultRenderingEngine == RenderingEngine.Mvc)) @@ -427,27 +428,27 @@ namespace Umbraco.Tests.Persistence.Repositories var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - var templateRepository = new TemplateRepository(unitOfWork, NullCacheProvider.Current); - var tagRepository = new TagRepository(unitOfWork, NullCacheProvider.Current); - var contentTypeRepository = new ContentTypeRepository(unitOfWork, NullCacheProvider.Current, templateRepository); - var contentRepo = new ContentRepository(unitOfWork, NullCacheProvider.Current, contentTypeRepository, templateRepository, tagRepository, CacheHelper.CreateDisabledCacheHelper()); - - using (contentRepo) - { - var contentType = MockedContentTypes.CreateSimpleContentType("umbTextpage2", "Textpage"); - var textpage = MockedContent.CreateSimpleContent(contentType); - contentTypeRepository.AddOrUpdate(contentType); - contentRepo.AddOrUpdate(textpage); - unitOfWork.Commit(); - - using (var repository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, _masterPageFileSystem, _viewsFileSystem, + using (var templateRepository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), _masterPageFileSystem, _viewsFileSystem, Mock.Of(t => t.DefaultRenderingEngine == RenderingEngine.Mvc))) + { + var tagRepository = new TagRepository(unitOfWork, Mock.Of(), Mock.Of()); + var contentTypeRepository = new ContentTypeRepository(unitOfWork, Mock.Of(), Mock.Of(), templateRepository); + var contentRepo = new ContentRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), contentTypeRepository, templateRepository, tagRepository, CacheHelper.CreateDisabledCacheHelper()); + + using (contentRepo) { + var contentType = MockedContentTypes.CreateSimpleContentType("umbTextpage2", "Textpage"); + var textpage = MockedContent.CreateSimpleContent(contentType); + contentTypeRepository.AddOrUpdate(contentType); + contentRepo.AddOrUpdate(textpage); + unitOfWork.Commit(); + + var template = new Template("test", "test", _viewsFileSystem, _masterPageFileSystem, Mock.Of(t => t.DefaultRenderingEngine == RenderingEngine.Mvc)) { Content = @"<%@ Master Language=""C#"" %>" }; - repository.AddOrUpdate(template); + templateRepository.AddOrUpdate(template); unitOfWork.Commit(); textpage.Template = template; @@ -455,15 +456,15 @@ namespace Umbraco.Tests.Persistence.Repositories unitOfWork.Commit(); // Act - var templates = repository.Get("test"); - repository.Delete(templates); + var templates = templateRepository.Get("test"); + templateRepository.Delete(templates); unitOfWork.Commit(); // Assert - Assert.IsNull(repository.Get("test")); + Assert.IsNull(templateRepository.Get("test")); } } - + } [Test] @@ -472,7 +473,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - using (var repository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, _masterPageFileSystem, _viewsFileSystem, + using (var repository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), _masterPageFileSystem, _viewsFileSystem, Mock.Of(t => t.DefaultRenderingEngine == RenderingEngine.Mvc))) { var parent = new Template("parent", "parent", _viewsFileSystem, _masterPageFileSystem, Mock.Of(t => t.DefaultRenderingEngine == RenderingEngine.Mvc)) @@ -505,7 +506,7 @@ namespace Umbraco.Tests.Persistence.Repositories Assert.IsNull(repository.Get("test")); } - + } [Test] @@ -514,7 +515,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - using (var repository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, _masterPageFileSystem, _viewsFileSystem, + using (var repository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), _masterPageFileSystem, _viewsFileSystem, Mock.Of(t => t.DefaultRenderingEngine == RenderingEngine.Mvc))) { var parent = new Template("parent", "parent", _viewsFileSystem, _masterPageFileSystem, Mock.Of(t => t.DefaultRenderingEngine == RenderingEngine.Mvc)) @@ -604,7 +605,7 @@ namespace Umbraco.Tests.Persistence.Repositories Assert.IsNotNull(repository.FindTemplateInTree(rootNode, "baby2")); } - + } [Test] @@ -613,7 +614,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - using (var repository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, _masterPageFileSystem, _viewsFileSystem, + using (var repository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), _masterPageFileSystem, _viewsFileSystem, Mock.Of(t => t.DefaultRenderingEngine == RenderingEngine.Mvc))) { var parent = new Template("parent", "parent", _viewsFileSystem, _masterPageFileSystem, Mock.Of(t => t.DefaultRenderingEngine == RenderingEngine.Mvc)); @@ -642,7 +643,7 @@ namespace Umbraco.Tests.Persistence.Repositories baby1.MasterTemplateId = new Lazy(() => toddler2.Id); baby2.MasterTemplateAlias = toddler4.Alias; baby2.MasterTemplateId = new Lazy(() => toddler4.Id); - + // Act repository.AddOrUpdate(parent); @@ -678,7 +679,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - using (var repository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, _masterPageFileSystem, _viewsFileSystem, + using (var repository = new TemplateRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), _masterPageFileSystem, _viewsFileSystem, Mock.Of(t => t.DefaultRenderingEngine == RenderingEngine.Mvc))) { var parent = new Template("parent", "parent", _viewsFileSystem, _masterPageFileSystem, Mock.Of(t => t.DefaultRenderingEngine == RenderingEngine.Mvc)); diff --git a/src/Umbraco.Tests/Persistence/Repositories/UserRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/UserRepositoryTest.cs index 8d1e7dac1e..8c1a408f89 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/UserRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/UserRepositoryTest.cs @@ -1,8 +1,10 @@ using System; using System.Collections.Generic; using System.Linq; +using Moq; using NUnit.Framework; using Umbraco.Core; +using Umbraco.Core.Logging; using Umbraco.Core.Models.Membership; using Umbraco.Core.Persistence; using Umbraco.Core.Persistence.Caching; @@ -32,8 +34,8 @@ namespace Umbraco.Tests.Persistence.Repositories private UserRepository CreateRepository(IDatabaseUnitOfWork unitOfWork, out UserTypeRepository userTypeRepository) { - userTypeRepository = new UserTypeRepository(unitOfWork, NullCacheProvider.Current); - var repository = new UserRepository(unitOfWork, NullCacheProvider.Current, userTypeRepository, CacheHelper.CreateDisabledCacheHelper()); + userTypeRepository = new UserTypeRepository(unitOfWork, NullCacheProvider.Current, Mock.Of()); + var repository = new UserRepository(unitOfWork, NullCacheProvider.Current, Mock.Of(), userTypeRepository, CacheHelper.CreateDisabledCacheHelper()); return repository; } diff --git a/src/Umbraco.Tests/Persistence/Repositories/UserTypeRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/UserTypeRepositoryTest.cs index 07212c0896..ea8a6f9860 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/UserTypeRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/UserTypeRepositoryTest.cs @@ -1,5 +1,7 @@ using System.Linq; +using Moq; using NUnit.Framework; +using Umbraco.Core.Logging; using Umbraco.Core.Models.Membership; using Umbraco.Core.Persistence; using Umbraco.Core.Persistence.Caching; @@ -29,7 +31,7 @@ namespace Umbraco.Tests.Persistence.Repositories private UserTypeRepository CreateRepository(IDatabaseUnitOfWork unitOfWork) { - return new UserTypeRepository(unitOfWork, NullCacheProvider.Current); + return new UserTypeRepository(unitOfWork, Mock.Of(), Mock.Of()); } [Test] diff --git a/src/Umbraco.Tests/Persistence/RepositoryResolverTests.cs b/src/Umbraco.Tests/Persistence/RepositoryResolverTests.cs index bd4d366c4e..8cf3a8cb71 100644 --- a/src/Umbraco.Tests/Persistence/RepositoryResolverTests.cs +++ b/src/Umbraco.Tests/Persistence/RepositoryResolverTests.cs @@ -1,7 +1,10 @@ using System; using System.Reflection; +using Moq; using NUnit.Framework; using Umbraco.Core; +using Umbraco.Core.Configuration.UmbracoSettings; +using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Models.Membership; using Umbraco.Core.ObjectResolution; @@ -19,7 +22,9 @@ namespace Umbraco.Tests.Persistence public void Setup() { RepositoryResolver.Current = new RepositoryResolver( - new RepositoryFactory(true)); //disable all repo caches for tests! + new RepositoryFactory(true, //disable all repo caches for tests! + Mock.Of(), + Mock.Of())); Resolution.Freeze(); } diff --git a/src/Umbraco.Tests/Plugins/PluginManagerTests.cs b/src/Umbraco.Tests/Plugins/PluginManagerTests.cs index a8348d2d80..505ddbec06 100644 --- a/src/Umbraco.Tests/Plugins/PluginManagerTests.cs +++ b/src/Umbraco.Tests/Plugins/PluginManagerTests.cs @@ -15,7 +15,6 @@ using Umbraco.Core.PropertyEditors; using umbraco.DataLayer; using umbraco.editorControls; using umbraco.MacroEngines; -using Umbraco.Tests.TestHelpers; using umbraco.uicontrols; using Umbraco.Web; using Umbraco.Web.PropertyEditors; @@ -30,8 +29,6 @@ namespace Umbraco.Tests.Plugins [SetUp] public void Initialize() { - TestHelper.SetupLog4NetForTests(); - //this ensures its reset PluginManager.Current = new PluginManager(false); diff --git a/src/Umbraco.Tests/Plugins/TypeFinderTests.cs b/src/Umbraco.Tests/Plugins/TypeFinderTests.cs index 8611570ef3..74af8bf8db 100644 --- a/src/Umbraco.Tests/Plugins/TypeFinderTests.cs +++ b/src/Umbraco.Tests/Plugins/TypeFinderTests.cs @@ -21,7 +21,6 @@ using umbraco.DataLayer; using umbraco.editorControls.tags; using umbraco.interfaces; using umbraco.MacroEngines; -using Umbraco.Tests.TestHelpers; using umbraco.uicontrols; using Umbraco.Web.BaseRest; @@ -42,9 +41,7 @@ namespace Umbraco.Tests.Plugins [SetUp] public void Initialize() { - TestHelper.SetupLog4NetForTests(); - - _assemblies = new[] + _assemblies = new[] { this.GetType().Assembly, typeof(ApplicationStartupHandler).Assembly, diff --git a/src/Umbraco.Tests/Resolvers/ActionsResolverTests.cs b/src/Umbraco.Tests/Resolvers/ActionsResolverTests.cs index 47ba900ae6..0e57d49154 100644 --- a/src/Umbraco.Tests/Resolvers/ActionsResolverTests.cs +++ b/src/Umbraco.Tests/Resolvers/ActionsResolverTests.cs @@ -14,8 +14,6 @@ namespace Umbraco.Tests.Resolvers [SetUp] public void Initialize() { - TestHelper.SetupLog4NetForTests(); - ActionsResolver.Reset(); // this ensures it's reset diff --git a/src/Umbraco.Tests/Resolvers/LazyManyObjectResolverTests.cs b/src/Umbraco.Tests/Resolvers/LazyManyObjectResolverTests.cs index 66549d82dd..1f85aa2a47 100644 --- a/src/Umbraco.Tests/Resolvers/LazyManyObjectResolverTests.cs +++ b/src/Umbraco.Tests/Resolvers/LazyManyObjectResolverTests.cs @@ -5,7 +5,6 @@ using System.Linq; using NUnit.Framework; using Umbraco.Core; using Umbraco.Core.ObjectResolution; -using Umbraco.Tests.TestHelpers; namespace Umbraco.Tests.Resolvers { @@ -16,9 +15,7 @@ namespace Umbraco.Tests.Resolvers [SetUp] public void Initialize() { - TestHelper.SetupLog4NetForTests(); - - LazyResolver.Reset(); + LazyResolver.Reset(); } [TearDown] diff --git a/src/Umbraco.Tests/Resolvers/MacroFieldEditorsResolverTests.cs b/src/Umbraco.Tests/Resolvers/MacroFieldEditorsResolverTests.cs index 1e6759c45a..8f373993c2 100644 --- a/src/Umbraco.Tests/Resolvers/MacroFieldEditorsResolverTests.cs +++ b/src/Umbraco.Tests/Resolvers/MacroFieldEditorsResolverTests.cs @@ -5,7 +5,6 @@ using NUnit.Framework; using Umbraco.Core; using Umbraco.Core.Macros; using Umbraco.Core.ObjectResolution; -using Umbraco.Tests.TestHelpers; using umbraco.interfaces; namespace Umbraco.Tests.Resolvers @@ -16,9 +15,7 @@ namespace Umbraco.Tests.Resolvers [SetUp] public void Initialize() { - TestHelper.SetupLog4NetForTests(); - - MacroFieldEditorsResolver.Reset(); + MacroFieldEditorsResolver.Reset(); // this ensures it's reset diff --git a/src/Umbraco.Tests/Resolvers/ManyResolverTests.cs b/src/Umbraco.Tests/Resolvers/ManyResolverTests.cs index 06b0daca63..dbeb790102 100644 --- a/src/Umbraco.Tests/Resolvers/ManyResolverTests.cs +++ b/src/Umbraco.Tests/Resolvers/ManyResolverTests.cs @@ -18,8 +18,6 @@ namespace Umbraco.Tests.Resolvers [SetUp] public void Setup() { - TestHelper.SetupLog4NetForTests(); - ManyResolver.Reset(); } diff --git a/src/Umbraco.Tests/Resolvers/PackageActionsResolverTests.cs b/src/Umbraco.Tests/Resolvers/PackageActionsResolverTests.cs index baee392bf4..c034852434 100644 --- a/src/Umbraco.Tests/Resolvers/PackageActionsResolverTests.cs +++ b/src/Umbraco.Tests/Resolvers/PackageActionsResolverTests.cs @@ -15,8 +15,7 @@ namespace Umbraco.Tests.Resolvers [SetUp] public void Initialize() { - TestHelper.SetupLog4NetForTests(); - + PackageActionsResolver.Reset(); // ensures it's reset diff --git a/src/Umbraco.Tests/Resolvers/ResolutionTests.cs b/src/Umbraco.Tests/Resolvers/ResolutionTests.cs index 37cf8bcb04..9dc3166616 100644 --- a/src/Umbraco.Tests/Resolvers/ResolutionTests.cs +++ b/src/Umbraco.Tests/Resolvers/ResolutionTests.cs @@ -5,8 +5,6 @@ using System.Text; using Umbraco.Core; using Umbraco.Core.ObjectResolution; -using Umbraco.Tests.TestHelpers; - using NUnit.Framework; namespace Umbraco.Tests.Resolvers @@ -17,7 +15,6 @@ namespace Umbraco.Tests.Resolvers [SetUp] public void Setup() { - TestHelper.SetupLog4NetForTests(); } [TearDown] diff --git a/src/Umbraco.Tests/Resolvers/SingleResolverTests.cs b/src/Umbraco.Tests/Resolvers/SingleResolverTests.cs index 581fa98f1c..c97360307c 100644 --- a/src/Umbraco.Tests/Resolvers/SingleResolverTests.cs +++ b/src/Umbraco.Tests/Resolvers/SingleResolverTests.cs @@ -5,8 +5,6 @@ using System.Text; using Umbraco.Core; using Umbraco.Core.ObjectResolution; -using Umbraco.Tests.TestHelpers; - using NUnit.Framework; namespace Umbraco.Tests.Resolvers @@ -17,8 +15,6 @@ namespace Umbraco.Tests.Resolvers [SetUp] public void Setup() { - TestHelper.SetupLog4NetForTests(); - SingleResolver.Reset(); } diff --git a/src/Umbraco.Tests/Resolvers/XsltExtensionsResolverTests.cs b/src/Umbraco.Tests/Resolvers/XsltExtensionsResolverTests.cs index 8b06c99f60..c6de3564cc 100644 --- a/src/Umbraco.Tests/Resolvers/XsltExtensionsResolverTests.cs +++ b/src/Umbraco.Tests/Resolvers/XsltExtensionsResolverTests.cs @@ -3,7 +3,6 @@ using NUnit.Framework; using Umbraco.Core; using Umbraco.Core.Macros; using Umbraco.Core.ObjectResolution; -using Umbraco.Tests.TestHelpers; using Umbraco.Web; using Umbraco.Web.Macros; using umbraco; @@ -16,8 +15,6 @@ namespace Umbraco.Tests.Resolvers [SetUp] public void Initialize() { - TestHelper.SetupLog4NetForTests(); - ActionsResolver.Reset(); // this ensures it's reset diff --git a/src/Umbraco.Tests/Services/MacroServiceTests.cs b/src/Umbraco.Tests/Services/MacroServiceTests.cs index 9f81ffab9a..a5e6e151e5 100644 --- a/src/Umbraco.Tests/Services/MacroServiceTests.cs +++ b/src/Umbraco.Tests/Services/MacroServiceTests.cs @@ -1,6 +1,9 @@ using System.Linq; +using Moq; using NUnit.Framework; +using Umbraco.Core.Logging; using Umbraco.Core.Models; +using Umbraco.Core.Persistence.Caching; using Umbraco.Core.Persistence.Repositories; using Umbraco.Core.Persistence.UnitOfWork; using Umbraco.Tests.TestHelpers; @@ -23,7 +26,7 @@ namespace Umbraco.Tests.Services var provider = new PetaPocoUnitOfWorkProvider(); using (var unitOfWork = provider.GetUnitOfWork()) - using (var repository = new MacroRepository(unitOfWork)) + using (var repository = new MacroRepository(unitOfWork, Mock.Of(), Mock.Of())) { repository.AddOrUpdate(new Macro("test1", "Test1", "~/usercontrol/test1.ascx", "MyAssembly1", "test1.xslt", "~/views/macropartials/test1.cshtml")); repository.AddOrUpdate(new Macro("test2", "Test2", "~/usercontrol/test2.ascx", "MyAssembly2", "test2.xslt", "~/views/macropartials/test2.cshtml")); diff --git a/src/Umbraco.Tests/Services/ThreadSafetyServiceTest.cs b/src/Umbraco.Tests/Services/ThreadSafetyServiceTest.cs index 6a5930723b..88596eef49 100644 --- a/src/Umbraco.Tests/Services/ThreadSafetyServiceTest.cs +++ b/src/Umbraco.Tests/Services/ThreadSafetyServiceTest.cs @@ -46,7 +46,7 @@ namespace Umbraco.Tests.Services //global Database object but this is NOT how it should work in the web world or in any multi threaded scenario. //we need a new Database object for each thread. _uowProvider = new PerThreadPetaPocoUnitOfWorkProvider(_dbFactory); - ApplicationContext.Services = new ServiceContext(_uowProvider, new FileUnitOfWorkProvider(), new PublishingStrategy(), cacheHelper); + ApplicationContext.Services = new ServiceContext(_uowProvider, new FileUnitOfWorkProvider(), new PublishingStrategy(), cacheHelper, Logger); CreateTestData(); } diff --git a/src/Umbraco.Tests/TestHelpers/BaseDatabaseFactoryTest.cs b/src/Umbraco.Tests/TestHelpers/BaseDatabaseFactoryTest.cs index 3af0c34a6a..9042dae7a8 100644 --- a/src/Umbraco.Tests/TestHelpers/BaseDatabaseFactoryTest.cs +++ b/src/Umbraco.Tests/TestHelpers/BaseDatabaseFactoryTest.cs @@ -7,11 +7,13 @@ using System.IO; using System.Linq; using System.Web.Routing; using System.Xml; +using Moq; using NUnit.Framework; using SQLCE4Umbraco; using Umbraco.Core; using Umbraco.Core.Cache; using Umbraco.Core.Configuration; +using Umbraco.Core.Configuration.UmbracoSettings; using Umbraco.Core.Logging; using Umbraco.Core.Models.PublishedContent; using Umbraco.Core.ObjectResolution; @@ -74,8 +76,9 @@ namespace Umbraco.Tests.TestHelpers //assign the db context new DatabaseContext(dbFactory), //assign the service context - new ServiceContext(new PetaPocoUnitOfWorkProvider(dbFactory), new FileUnitOfWorkProvider(), new PublishingStrategy(), cacheHelper), - cacheHelper) + new ServiceContext(new PetaPocoUnitOfWorkProvider(dbFactory), new FileUnitOfWorkProvider(), new PublishingStrategy(), cacheHelper, Logger), + cacheHelper, + Logger) { IsReady = true }; @@ -196,7 +199,9 @@ namespace Umbraco.Tests.TestHelpers () => PluginManager.Current.ResolveDataTypes()); RepositoryResolver.Current = new RepositoryResolver( - new RepositoryFactory(true)); //disable all repo caches for tests! + new RepositoryFactory(true, //disable all repo caches for tests! + Logger, + SettingsForTests.GenerateMockSettings())); SqlSyntaxProvidersResolver.Current = new SqlSyntaxProvidersResolver( new List { typeof(MySqlSyntaxProvider), typeof(SqlCeSyntaxProvider), typeof(SqlServerSyntaxProvider) }) { CanResolveBeforeFrozen = true }; diff --git a/src/Umbraco.Tests/TestHelpers/BaseDatabaseTest.cs b/src/Umbraco.Tests/TestHelpers/BaseDatabaseTest.cs index 69000d7709..a84e1a22b0 100644 --- a/src/Umbraco.Tests/TestHelpers/BaseDatabaseTest.cs +++ b/src/Umbraco.Tests/TestHelpers/BaseDatabaseTest.cs @@ -2,10 +2,13 @@ using System.Collections.Generic; using System.Data.SqlServerCe; using System.IO; +using Moq; using NUnit.Framework; using Umbraco.Core; using Umbraco.Core.Cache; using Umbraco.Core.Configuration; +using Umbraco.Core.Configuration.UmbracoSettings; +using Umbraco.Core.Logging; using Umbraco.Core.ObjectResolution; using Umbraco.Core.Persistence; using Umbraco.Core.Persistence.SqlSyntax; @@ -25,13 +28,15 @@ namespace Umbraco.Tests.TestHelpers public abstract class BaseDatabaseTest { private Database _database; + protected ILogger Logger { get; private set; } [SetUp] public virtual void Initialize() { - TestHelper.SetupLog4NetForTests(); TestHelper.InitializeContentDirectories(); + Logger = new Logger(new FileInfo(TestHelper.MapPathForTest("~/unit-test-log4net.config"))); + string path = TestHelper.CurrentAssemblyDirectory; AppDomain.CurrentDomain.SetData("DataDirectory", path); @@ -55,7 +60,9 @@ namespace Umbraco.Tests.TestHelpers RepositoryResolver.Current = new RepositoryResolver( - new RepositoryFactory(true)); //disable all repo caches for tests! + new RepositoryFactory(true,//disable all repo caches for tests! + Logger, + Mock.Of())); SqlSyntaxProvidersResolver.Current = new SqlSyntaxProvidersResolver( new List { typeof(MySqlSyntaxProvider), typeof(SqlCeSyntaxProvider), typeof(SqlServerSyntaxProvider) }) { CanResolveBeforeFrozen = true }; @@ -65,12 +72,15 @@ namespace Umbraco.Tests.TestHelpers //disable cache var cacheHelper = CacheHelper.CreateDisabledCacheHelper(); + var logger = new Logger(new FileInfo(TestHelper.MapPathForTest("~/unit-test-log4net.config"))); + ApplicationContext.Current = new ApplicationContext( //assign the db context new DatabaseContext(new DefaultDatabaseFactory()), //assign the service context - new ServiceContext(new PetaPocoUnitOfWorkProvider(), new FileUnitOfWorkProvider(), new PublishingStrategy(), cacheHelper), - cacheHelper) + new ServiceContext(new PetaPocoUnitOfWorkProvider(), new FileUnitOfWorkProvider(), new PublishingStrategy(), cacheHelper, logger), + cacheHelper, + logger) { IsReady = true }; diff --git a/src/Umbraco.Tests/TestHelpers/BaseUmbracoApplicationTest.cs b/src/Umbraco.Tests/TestHelpers/BaseUmbracoApplicationTest.cs index 3aa30e2893..4b99408e9b 100644 --- a/src/Umbraco.Tests/TestHelpers/BaseUmbracoApplicationTest.cs +++ b/src/Umbraco.Tests/TestHelpers/BaseUmbracoApplicationTest.cs @@ -1,9 +1,11 @@ using System.Collections; using System.Collections.Generic; +using System.IO; using System.Reflection; using AutoMapper; using NUnit.Framework; using Umbraco.Core; +using Umbraco.Core.Logging; using Umbraco.Core.Models.Mapping; using Umbraco.Core.ObjectResolution; using Umbraco.Core.Persistence; @@ -26,6 +28,12 @@ namespace Umbraco.Tests.TestHelpers public abstract class BaseUmbracoApplicationTest : BaseUmbracoConfigurationTest { + [TestFixtureSetUp] + public void InitializeFixture() + { + Logger = new Logger(new FileInfo(TestHelper.MapPathForTest("~/unit-test-log4net.config"))); + } + [SetUp] public override void Initialize() { @@ -142,8 +150,9 @@ namespace Umbraco.Tests.TestHelpers //assign the db context new DatabaseContext(new DefaultDatabaseFactory()), //assign the service context - new ServiceContext(new PetaPocoUnitOfWorkProvider(), new FileUnitOfWorkProvider(), new PublishingStrategy(), cacheHelper), - cacheHelper) + new ServiceContext(new PetaPocoUnitOfWorkProvider(), new FileUnitOfWorkProvider(), new PublishingStrategy(), cacheHelper, Logger), + cacheHelper, + Logger) { IsReady = true }; @@ -185,5 +194,7 @@ namespace Umbraco.Tests.TestHelpers { get { return ApplicationContext.Current; } } + + protected ILogger Logger { get; private set; } } } \ No newline at end of file diff --git a/src/Umbraco.Tests/TestHelpers/BaseUmbracoConfigurationTest.cs b/src/Umbraco.Tests/TestHelpers/BaseUmbracoConfigurationTest.cs index bf5f0516bd..7f59c3e0b5 100644 --- a/src/Umbraco.Tests/TestHelpers/BaseUmbracoConfigurationTest.cs +++ b/src/Umbraco.Tests/TestHelpers/BaseUmbracoConfigurationTest.cs @@ -10,11 +10,7 @@ namespace Umbraco.Tests.TestHelpers [TestFixture] public abstract class BaseUmbracoConfigurationTest { - [TestFixtureSetUp] - public void InitializeFixture() - { - TestHelper.SetupLog4NetForTests(); - } + [SetUp] public virtual void Initialize() diff --git a/src/Umbraco.Tests/TestHelpers/DisposableUmbracoTest.cs b/src/Umbraco.Tests/TestHelpers/DisposableUmbracoTest.cs index e6de8fb8f3..d261487449 100644 --- a/src/Umbraco.Tests/TestHelpers/DisposableUmbracoTest.cs +++ b/src/Umbraco.Tests/TestHelpers/DisposableUmbracoTest.cs @@ -31,8 +31,6 @@ namespace Umbraco.Tests.TestHelpers private void Init(ApplicationContext applicationContext, UmbracoContext umbracoContext) { - TestHelper.SetupLog4NetForTests(); - ApplicationContext = applicationContext; UmbracoContext = umbracoContext; diff --git a/src/Umbraco.Tests/TestHelpers/TestHelper.cs b/src/Umbraco.Tests/TestHelpers/TestHelper.cs index 0a69f5b2d6..7f881ba559 100644 --- a/src/Umbraco.Tests/TestHelpers/TestHelper.cs +++ b/src/Umbraco.Tests/TestHelpers/TestHelper.cs @@ -7,7 +7,6 @@ using System.Reflection; using SqlCE4Umbraco; using Umbraco.Core; using Umbraco.Core.IO; -using log4net.Config; using umbraco.DataLayer; using GlobalSettings = umbraco.GlobalSettings; @@ -72,12 +71,7 @@ namespace Umbraco.Tests.TestHelpers return relativePath.Replace("~/", CurrentAssemblyDirectory + "/"); } - public static void SetupLog4NetForTests() - { - XmlConfigurator.Configure(new FileInfo(MapPathForTest("~/unit-test-log4net.config"))); - } - - public static void InitializeContentDirectories() + public static void InitializeContentDirectories() { CreateDirectories(new[] { SystemDirectories.Masterpages, SystemDirectories.MvcViews, SystemDirectories.Media, SystemDirectories.AppPlugins }); } diff --git a/src/Umbraco.Tests/XmlHelperTests.cs b/src/Umbraco.Tests/XmlHelperTests.cs index 8050130b51..217e079a5f 100644 --- a/src/Umbraco.Tests/XmlHelperTests.cs +++ b/src/Umbraco.Tests/XmlHelperTests.cs @@ -8,7 +8,6 @@ using System.Xml.XPath; using NUnit.Framework; using Umbraco.Core; using Umbraco.Core.Configuration; -using Umbraco.Tests.TestHelpers; using umbraco; namespace Umbraco.Tests @@ -19,7 +18,6 @@ namespace Umbraco.Tests [SetUp] public void Setup() { - TestHelper.SetupLog4NetForTests(); } [Ignore("This is a benchmark test so is ignored by default")] diff --git a/src/Umbraco.Tests/masterpages/site1/template2.master b/src/Umbraco.Tests/masterpages/site1/template2.master index 5f282702bb..f1a6da0d51 100644 --- a/src/Umbraco.Tests/masterpages/site1/template2.master +++ b/src/Umbraco.Tests/masterpages/site1/template2.master @@ -1 +1,5 @@ - \ No newline at end of file +<%@ Master Language="C#" MasterPageFile="~/umbraco/masterpages/default.master" AutoEventWireup="true" %> + + + + diff --git a/src/Umbraco.Web/Editors/PackageInstallController.cs b/src/Umbraco.Web/Editors/PackageInstallController.cs index 50b612b453..1cdd2a8916 100644 --- a/src/Umbraco.Web/Editors/PackageInstallController.cs +++ b/src/Umbraco.Web/Editors/PackageInstallController.cs @@ -83,7 +83,7 @@ namespace Umbraco.Web.Editors ins.LoadConfig(IOHelper.MapPath(model.TemporaryDirectoryPath)); ins.InstallCleanUp(model.Id, IOHelper.MapPath(model.TemporaryDirectoryPath)); - var clientDependencyConfig = new Umbraco.Core.Configuration.ClientDependencyConfiguration(); + var clientDependencyConfig = new Umbraco.Core.Configuration.ClientDependencyConfiguration(ApplicationContext.Logger); var clientDependencyUpdated = clientDependencyConfig.IncreaseVersionNumber(); //clear the tree cache - we'll do this here even though the browser will reload, but just in case it doesn't can't hurt. diff --git a/src/Umbraco.Web/Install/InstallSteps/SetUmbracoVersionStep.cs b/src/Umbraco.Web/Install/InstallSteps/SetUmbracoVersionStep.cs index fc2fa33cc8..9acd66c2da 100644 --- a/src/Umbraco.Web/Install/InstallSteps/SetUmbracoVersionStep.cs +++ b/src/Umbraco.Web/Install/InstallSteps/SetUmbracoVersionStep.cs @@ -37,7 +37,7 @@ namespace Umbraco.Web.Install.InstallSteps GlobalSettings.ConfigurationStatus = UmbracoVersion.Current.ToString(3); // Update ClientDependency version - var clientDependencyConfig = new ClientDependencyConfiguration(); + var clientDependencyConfig = new ClientDependencyConfiguration(_applicationContext.Logger); var clientDependencyUpdated = clientDependencyConfig.IncreaseVersionNumber(); var security = new WebSecurity(_httpContext, _applicationContext); diff --git a/src/Umbraco.Web/Mvc/SurfaceController.cs b/src/Umbraco.Web/Mvc/SurfaceController.cs index 1010db48df..3dbd49a716 100644 --- a/src/Umbraco.Web/Mvc/SurfaceController.cs +++ b/src/Umbraco.Web/Mvc/SurfaceController.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Concurrent; using System.Web.Mvc; using System.Web.Routing; +using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core; using Umbraco.Web.Security; @@ -16,6 +17,16 @@ namespace Umbraco.Web.Mvc [MergeParentContextViewData] public abstract class SurfaceController : PluginController { + /// + /// Default constructor + /// + /// + /// + protected SurfaceController(ILogger logger, UmbracoContext umbracoContext) + : base(logger, umbracoContext) + { + _membershipHelper = new MembershipHelper(umbracoContext); + } /// /// Default constructor diff --git a/src/Umbraco.Web/Standalone/ServiceContextManager.cs b/src/Umbraco.Web/Standalone/ServiceContextManager.cs index 561fadfc2c..a13332f5e2 100644 --- a/src/Umbraco.Web/Standalone/ServiceContextManager.cs +++ b/src/Umbraco.Web/Standalone/ServiceContextManager.cs @@ -2,6 +2,7 @@ using System.Diagnostics; using Umbraco.Core; using Umbraco.Core.Cache; +using Umbraco.Core.Logging; using Umbraco.Core.Persistence; using Umbraco.Core.Persistence.Mappers; using Umbraco.Core.Persistence.UnitOfWork; @@ -10,6 +11,8 @@ using Umbraco.Core.Services; namespace Umbraco.Web.Standalone { + //TODO: Why does this exist? there's the same thing in the Core proj + internal class ServiceContextManager : IDisposable { private readonly string _connectionString; @@ -51,7 +54,8 @@ namespace Umbraco.Web.Standalone new PetaPocoUnitOfWorkProvider(dbFactory), new FileUnitOfWorkProvider(), new PublishingStrategy(), - cacheHelper); + cacheHelper, + new DebugDiagnosticsLogger()); //initialize the DatabaseContext dbContext.Initialize(_providerName); diff --git a/src/Umbraco.Web/umbraco.presentation/umbraco/developer/Packages/installer.aspx.cs b/src/Umbraco.Web/umbraco.presentation/umbraco/developer/Packages/installer.aspx.cs index a78e2293f0..34a1cb2a37 100644 --- a/src/Umbraco.Web/umbraco.presentation/umbraco/developer/Packages/installer.aspx.cs +++ b/src/Umbraco.Web/umbraco.presentation/umbraco/developer/Packages/installer.aspx.cs @@ -13,6 +13,7 @@ using System.Web.UI.HtmlControls; using System.Xml; using System.Xml.XPath; using Umbraco.Core.IO; +using Umbraco.Core.Logging; using Umbraco.Web; using umbraco.BasePages; using umbraco.BusinessLogic; @@ -354,7 +355,7 @@ namespace umbraco.presentation.developer.packages _installer.InstallCleanUp(packageId, dir); // Update ClientDependency version - var clientDependencyConfig = new Umbraco.Core.Configuration.ClientDependencyConfiguration(); + var clientDependencyConfig = new Umbraco.Core.Configuration.ClientDependencyConfiguration(LoggerResolver.Current.Logger); var clientDependencyUpdated = clientDependencyConfig.IncreaseVersionNumber(); //clear the tree cache - we'll do this here even though the browser will reload, but just in case it doesn't can't hurt.