From 231771a10e1b4494e7ccf3369ef515ffd5294a91 Mon Sep 17 00:00:00 2001 From: Bjarke Berg Date: Wed, 14 Oct 2020 08:02:43 +0200 Subject: [PATCH] Migrated ContentServicePerformanceTest Signed-off-by: Bjarke Berg --- .../Builders/ContentBuilder.cs | 28 +++- .../Repositories/TemplateRepositoryTest.cs | 27 ++- .../Services/ContentServicePerformanceTest.cs | 154 ++++++++---------- .../Services/ContentServiceTests.cs | 27 +-- .../Testing/IntegrationTestComposer.cs | 10 +- src/Umbraco.Tests/Umbraco.Tests.csproj | 1 - 6 files changed, 117 insertions(+), 130 deletions(-) rename src/{Umbraco.Tests => Umbraco.Tests.Integration}/Services/ContentServicePerformanceTest.cs (50%) diff --git a/src/Umbraco.Tests.Common/Builders/ContentBuilder.cs b/src/Umbraco.Tests.Common/Builders/ContentBuilder.cs index 47023c97d8..9f30005c55 100644 --- a/src/Umbraco.Tests.Common/Builders/ContentBuilder.cs +++ b/src/Umbraco.Tests.Common/Builders/ContentBuilder.cs @@ -233,6 +233,32 @@ namespace Umbraco.Tests.Common.Builders return content; } + public static IEnumerable CreateTextpageContent(IContentType contentType, int parentId, int amount) + { + var list = new List(); + + for (int i = 0; i < amount; i++) + { + var name = "Textpage No-" + i; + var content = new Content(name, parentId, contentType) { CreatorId = 0, WriterId = 0 }; + object obj = + new + { + title = name + " title", + bodyText = string.Format("This is a textpage based on the {0} ContentType", contentType.Alias), + keywords = "text,page,meta", + description = "This is the meta description for a textpage" + }; + + content.PropertyValues(obj); + + content.ResetDirtyProperties(false); + + list.Add(content); + } + + return list; + } public static Content CreateTextpageContent(IContentType contentType, string name, int parentId) { return new ContentBuilder() @@ -283,7 +309,7 @@ namespace Umbraco.Tests.Common.Builders .WithParentId(parentId) .WithContentType(contentType) .Build(); - + content.SetValue("isTrue", true); content.SetValue("number", 42); content.SetValue("bodyText", "Lorem Ipsum Body Text Test"); diff --git a/src/Umbraco.Tests.Integration/Persistence/Repositories/TemplateRepositoryTest.cs b/src/Umbraco.Tests.Integration/Persistence/Repositories/TemplateRepositoryTest.cs index 066ed18ba8..a7894b9dc6 100644 --- a/src/Umbraco.Tests.Integration/Persistence/Repositories/TemplateRepositoryTest.cs +++ b/src/Umbraco.Tests.Integration/Persistence/Repositories/TemplateRepositoryTest.cs @@ -27,17 +27,11 @@ namespace Umbraco.Tests.Integration.Persistence.Repositories [UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)] public class TemplateRepositoryTest : UmbracoIntegrationTest { - private IFileSystems _fileSystems; + private IFileSystems FileSystems => GetRequiredService(); private ITemplateRepository CreateRepository(IScopeProvider provider) { - return new TemplateRepository((IScopeAccessor) provider, AppCaches.Disabled, LoggerFactory.CreateLogger(), _fileSystems, IOHelper, ShortStringHelper); - } - - [SetUp] - public void SetUp() - { - _fileSystems = GetMockFileSystems(); + return new TemplateRepository((IScopeAccessor) provider, AppCaches.Disabled, LoggerFactory.CreateLogger(), FileSystems, IOHelper, ShortStringHelper); } [Test] @@ -72,7 +66,7 @@ namespace Umbraco.Tests.Integration.Persistence.Repositories //Assert Assert.That(repository.Get("test"), Is.Not.Null); - Assert.That(_fileSystems.MvcViewsFileSystem.FileExists("test.cshtml"), Is.True); + Assert.That(FileSystems.MvcViewsFileSystem.FileExists("test.cshtml"), Is.True); } } @@ -95,7 +89,7 @@ namespace Umbraco.Tests.Integration.Persistence.Repositories //Assert Assert.That(repository.Get("test"), Is.Not.Null); - Assert.That(_fileSystems.MvcViewsFileSystem.FileExists("test.cshtml"), Is.True); + Assert.That(FileSystems.MvcViewsFileSystem.FileExists("test.cshtml"), Is.True); Assert.AreEqual( @"@usingUmbraco.Web.PublishedModels;@inheritsUmbraco.Web.Common.AspNetCore.UmbracoViewPage@{Layout=null;}".StripWhitespace(), template.Content.StripWhitespace()); @@ -123,7 +117,7 @@ namespace Umbraco.Tests.Integration.Persistence.Repositories //Assert Assert.That(repository.Get("test2"), Is.Not.Null); - Assert.That(_fileSystems.MvcViewsFileSystem.FileExists("test2.cshtml"), Is.True); + Assert.That(FileSystems.MvcViewsFileSystem.FileExists("test2.cshtml"), Is.True); Assert.AreEqual( "@usingUmbraco.Web.PublishedModels;@inherits Umbraco.Web.Common.AspNetCore.UmbracoViewPage @{ Layout = \"test.cshtml\";}".StripWhitespace(), template2.Content.StripWhitespace()); @@ -186,8 +180,8 @@ namespace Umbraco.Tests.Integration.Persistence.Repositories //Assert Assert.AreEqual("test11", template.Alias); - Assert.That(_fileSystems.MvcViewsFileSystem.FileExists("test11.cshtml"), Is.True); - Assert.That(_fileSystems.MvcViewsFileSystem.FileExists("test.cshtml"), Is.False); + Assert.That(FileSystems.MvcViewsFileSystem.FileExists("test11.cshtml"), Is.True); + Assert.That(FileSystems.MvcViewsFileSystem.FileExists("test.cshtml"), Is.False); } } @@ -214,7 +208,7 @@ namespace Umbraco.Tests.Integration.Persistence.Repositories var updated = repository.Get("test"); // Assert - Assert.That(_fileSystems.MvcViewsFileSystem.FileExists("test.cshtml"), Is.True); + Assert.That(FileSystems.MvcViewsFileSystem.FileExists("test.cshtml"), Is.True); Assert.That(updated.Content, Is.EqualTo(ViewHelper.GetDefaultFileContent() + "")); } } @@ -237,12 +231,12 @@ namespace Umbraco.Tests.Integration.Persistence.Repositories // Act var templates = repository.Get("test"); - Assert.That(_fileSystems.MvcViewsFileSystem.FileExists("test.cshtml"), Is.True); + Assert.That(FileSystems.MvcViewsFileSystem.FileExists("test.cshtml"), Is.True); repository.Delete(templates); // Assert Assert.IsNull(repository.Get("test")); - Assert.That(_fileSystems.MvcViewsFileSystem.FileExists("test.cshtml"), Is.False); + Assert.That(FileSystems.MvcViewsFileSystem.FileExists("test.cshtml"), Is.False); } } @@ -562,7 +556,6 @@ namespace Umbraco.Tests.Integration.Persistence.Repositories public void TearDown() { var testHelper = new TestHelper(); - _fileSystems = null; //Delete all files var fsViews = new PhysicalFileSystem(IOHelper, testHelper.GetHostingEnvironment(), LoggerFactory.CreateLogger(), Constants.SystemDirectories.MvcViews); diff --git a/src/Umbraco.Tests/Services/ContentServicePerformanceTest.cs b/src/Umbraco.Tests.Integration/Services/ContentServicePerformanceTest.cs similarity index 50% rename from src/Umbraco.Tests/Services/ContentServicePerformanceTest.cs rename to src/Umbraco.Tests.Integration/Services/ContentServicePerformanceTest.cs index 9ed1271de0..5f34967334 100644 --- a/src/Umbraco.Tests/Services/ContentServicePerformanceTest.cs +++ b/src/Umbraco.Tests.Integration/Services/ContentServicePerformanceTest.cs @@ -2,64 +2,46 @@ using System.Collections.Generic; using System.Diagnostics; using System.Linq; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using NUnit.Framework; -using Umbraco.Core; -using Umbraco.Core.Cache; -using Umbraco.Core.Configuration.Models; +using Umbraco.Composing; using Umbraco.Core.Logging; using Umbraco.Core.Models; -using Umbraco.Core.Persistence.Dtos; +using Umbraco.Core.Persistence.Repositories; using Umbraco.Core.Persistence.Repositories.Implement; -using Umbraco.Core.PropertyEditors; -using Umbraco.Core.Scoping; -using Umbraco.Tests.TestHelpers; -using Umbraco.Tests.TestHelpers.Entities; +using Umbraco.Core.Services; +using Umbraco.Tests.Common.Builders; +using Umbraco.Tests.Integration.Testing; using Umbraco.Tests.TestHelpers.Stubs; using Umbraco.Tests.Testing; -using Current = Umbraco.Web.Composing.Current; namespace Umbraco.Tests.Services { - [TestFixture, NUnit.Framework.Ignore("fixme - ignored test")] + [TestFixture] [UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)] - public class ContentServicePerformanceTest : TestWithDatabaseBase + public class ContentServicePerformanceTest : UmbracoIntegrationTest { - public override void SetUp() + protected DocumentRepository DocumentRepository => (DocumentRepository)GetRequiredService(); + protected IFileService FileService => GetRequiredService(); + protected IContentTypeService ContentTypeService => GetRequiredService(); + protected IContentService ContentService => GetRequiredService(); + + protected IContentType ContentType { get; set; } + + [SetUp] + public void SetUpData() { - base.SetUp(); CreateTestData(); } - protected override void Compose() - { - base.Compose(); - Composition.Register(); - } - - private DocumentRepository CreateDocumentRepository(IScopeProvider provider) - { - var accessor = (IScopeAccessor)provider; - var globalSettings = new GlobalSettings(); - var tRepository = new TemplateRepository((IScopeAccessor) provider, AppCaches.Disabled, LoggerFactory.CreateLogger(), TestObjects.GetFileSystemsMock(), IOHelper, ShortStringHelper); - var tagRepo = new TagRepository(accessor, AppCaches.Disabled, LoggerFactory.CreateLogger()); - var commonRepository = new ContentTypeCommonRepository(accessor, tRepository, AppCaches, ShortStringHelper); - var languageRepository = new LanguageRepository(accessor, AppCaches.Disabled, LoggerFactory.CreateLogger(), Microsoft.Extensions.Options.Options.Create(globalSettings)); - var ctRepository = new ContentTypeRepository(accessor, AppCaches.Disabled, LoggerFactory.CreateLogger(), commonRepository, languageRepository, ShortStringHelper); - var relationTypeRepository = new RelationTypeRepository(accessor, AppCaches.Disabled, LoggerFactory.CreateLogger()); - var entityRepository = new EntityRepository(accessor); - var relationRepository = new RelationRepository(accessor, LoggerFactory.CreateLogger(), relationTypeRepository, entityRepository); - var propertyEditors = new Lazy(() => new PropertyEditorCollection(new DataEditorCollection(Enumerable.Empty()))); - var dataValueReferences = new DataValueReferenceFactoryCollection(Enumerable.Empty()); - var repository = new DocumentRepository(accessor, AppCaches.Disabled, LoggerFactory.CreateLogger(), LoggerFactory, ctRepository, tRepository, tagRepo, languageRepository, relationRepository, relationTypeRepository, propertyEditors, dataValueReferences, DataTypeService); - return repository; - } + protected override Action CustomTestSetup => (services) => services.AddSingleton(); [Test] public void Profiler() { - Assert.IsInstanceOf(Current.Profiler); + Assert.IsInstanceOf(GetRequiredService()); } private static IProfilingLogger GetTestProfilingLogger() @@ -84,10 +66,13 @@ namespace Umbraco.Tests.Services // ... NOPE, made even more nice changes, it is now... // 4452ms !!!!!!! - var contentType1 = MockedContentTypes.CreateTextPageContentType("test1", "test1"); - var contentType2 = MockedContentTypes.CreateTextPageContentType("test2", "test2"); - var contentType3 = MockedContentTypes.CreateTextPageContentType("test3", "test3"); - ServiceContext.ContentTypeService.Save(new[] { contentType1, contentType2, contentType3 }); + var template = TemplateBuilder.CreateTextPageTemplate(); + FileService.SaveTemplate(template); + + var contentType1 = ContentTypeBuilder.CreateTextPageContentType("test1", "test1", defaultTemplateId: template.Id); + var contentType2 = ContentTypeBuilder.CreateTextPageContentType("test2", "test2", defaultTemplateId: template.Id); + var contentType3 = ContentTypeBuilder.CreateTextPageContentType("test3", "test3", defaultTemplateId: template.Id); + ContentTypeService.Save(new[] { contentType1, contentType2, contentType3 }); contentType1.AllowedContentTypes = new[] { new ContentTypeSort(new Lazy(() => contentType2.Id), 0, contentType2.Alias), @@ -103,17 +88,17 @@ namespace Umbraco.Tests.Services new ContentTypeSort(new Lazy(() => contentType1.Id), 0, contentType1.Alias), new ContentTypeSort(new Lazy(() => contentType2.Id), 1, contentType2.Alias) }; - ServiceContext.ContentTypeService.Save(new[] { contentType1, contentType2, contentType3 }); + ContentTypeService.Save(new[] { contentType1, contentType2, contentType3 }); - var roots = MockedContent.CreateTextpageContent(contentType1, -1, 10); - ServiceContext.ContentService.Save(roots); + var roots = ContentBuilder.CreateTextpageContent(contentType1, -1, 10); + ContentService.Save(roots); foreach (var root in roots) { - var item1 = MockedContent.CreateTextpageContent(contentType1, root.Id, 10); - var item2 = MockedContent.CreateTextpageContent(contentType2, root.Id, 10); - var item3 = MockedContent.CreateTextpageContent(contentType3, root.Id, 10); + var item1 = ContentBuilder.CreateTextpageContent(contentType1, root.Id, 10); + var item2 = ContentBuilder.CreateTextpageContent(contentType2, root.Id, 10); + var item3 = ContentBuilder.CreateTextpageContent(contentType3, root.Id, 10); - ServiceContext.ContentService.Save(item1.Concat(item2).Concat(item3)); + ContentService.Save(item1.Concat(item2).Concat(item3)); } var total = new List(); @@ -121,10 +106,10 @@ namespace Umbraco.Tests.Services using (GetTestProfilingLogger().TraceDuration("Getting all content in site")) { TestProfiler.Enable(); - total.AddRange(ServiceContext.ContentService.GetRootContent()); + total.AddRange(ContentService.GetRootContent()); foreach (var content in total.ToArray()) { - total.AddRange(ServiceContext.ContentService.GetPagedDescendants(content.Id, 0, int.MaxValue, out var _)); + total.AddRange(ContentService.GetPagedDescendants(content.Id, 0, int.MaxValue, out var _)); } TestProfiler.Disable(); Current.Logger.LogInformation("Returned {Total} items", total.Count); @@ -135,12 +120,12 @@ namespace Umbraco.Tests.Services public void Creating_100_Items() { // Arrange - var contentType = ServiceContext.ContentTypeService.Get(NodeDto.NodeIdSeed); - var pages = MockedContent.CreateTextpageContent(contentType, -1, 100); + var contentType = ContentTypeService.Get(ContentType.Id); + var pages = ContentBuilder.CreateTextpageContent(contentType, -1, 100); // Act Stopwatch watch = Stopwatch.StartNew(); - ServiceContext.ContentService.Save(pages, 0); + ContentService.Save(pages, 0); watch.Stop(); var elapsed = watch.ElapsedMilliseconds; @@ -154,12 +139,12 @@ namespace Umbraco.Tests.Services public void Creating_1000_Items() { // Arrange - var contentType = ServiceContext.ContentTypeService.Get(NodeDto.NodeIdSeed); - var pages = MockedContent.CreateTextpageContent(contentType, -1, 1000); + var contentType = ContentTypeService.Get(ContentType.Id); + var pages = ContentBuilder.CreateTextpageContent(contentType, -1, 1000); // Act Stopwatch watch = Stopwatch.StartNew(); - ServiceContext.ContentService.Save(pages, 0); + ContentService.Save(pages, 0); watch.Stop(); var elapsed = watch.ElapsedMilliseconds; @@ -173,14 +158,14 @@ namespace Umbraco.Tests.Services public void Getting_100_Uncached_Items() { // Arrange - var contentType = ServiceContext.ContentTypeService.Get(NodeDto.NodeIdSeed); - var pages = MockedContent.CreateTextpageContent(contentType, -1, 100); - ServiceContext.ContentService.Save(pages, 0); + var contentType = ContentTypeService.Get(ContentType.Id); + var pages = ContentBuilder.CreateTextpageContent(contentType, -1, 100); + ContentService.Save(pages, 0); - var provider = TestObjects.GetScopeProvider(LoggerFactory); + var provider = ScopeProvider; using (var scope = provider.CreateScope()) { - var repository = CreateDocumentRepository(provider); + var repository = DocumentRepository; // Act Stopwatch watch = Stopwatch.StartNew(); @@ -198,18 +183,17 @@ namespace Umbraco.Tests.Services } - [Test, NUnit.Framework.Ignore("fixme - ignored test")] + [Test] public void Getting_1000_Uncached_Items() { // Arrange - var contentType = ServiceContext.ContentTypeService.Get(NodeDto.NodeIdSeed); - var pages = MockedContent.CreateTextpageContent(contentType, -1, 1000); - ServiceContext.ContentService.Save(pages, 0); + var contentType = ContentTypeService.Get(ContentType.Id); + var pages = ContentBuilder.CreateTextpageContent(contentType, -1, 1000); + ContentService.Save(pages, 0); - var provider = TestObjects.GetScopeProvider(LoggerFactory); - using (var scope = provider.CreateScope()) + using (var scope = ScopeProvider.CreateScope()) { - var repository = CreateDocumentRepository(provider); + var repository = DocumentRepository; // Act Stopwatch watch = Stopwatch.StartNew(); @@ -229,14 +213,13 @@ namespace Umbraco.Tests.Services public void Getting_100_Cached_Items() { // Arrange - var contentType = ServiceContext.ContentTypeService.Get(NodeDto.NodeIdSeed); - var pages = MockedContent.CreateTextpageContent(contentType, -1, 100); - ServiceContext.ContentService.Save(pages, 0); + var contentType = ContentTypeService.Get(ContentType.Id); + var pages = ContentBuilder.CreateTextpageContent(contentType, -1, 100); + ContentService.Save(pages, 0); - var provider = TestObjects.GetScopeProvider(LoggerFactory); - using (var scope = provider.CreateScope()) + using (var scope = ScopeProvider.CreateScope()) { - var repository = CreateDocumentRepository(provider); + var repository = DocumentRepository; // Act var contents = repository.GetMany(); @@ -255,18 +238,17 @@ namespace Umbraco.Tests.Services } } - [Test, NUnit.Framework.Ignore("fixme - ignored test")] + [Test] public void Getting_1000_Cached_Items() { // Arrange - var contentType = ServiceContext.ContentTypeService.Get(NodeDto.NodeIdSeed); - var pages = MockedContent.CreateTextpageContent(contentType, -1, 1000); - ServiceContext.ContentService.Save(pages, 0); + var contentType = ContentTypeService.Get(ContentType.Id); + var pages = ContentBuilder.CreateTextpageContent(contentType, -1, 1000); + ContentService.Save(pages, 0); - var provider = TestObjects.GetScopeProvider(LoggerFactory); - using (var scope = provider.CreateScope()) + using (var scope = ScopeProvider.CreateScope()) { - var repository = CreateDocumentRepository(provider); + var repository = DocumentRepository; // Act var contents = repository.GetMany(); @@ -293,9 +275,13 @@ namespace Umbraco.Tests.Services public void CreateTestData() { - //Create and Save ContentType "textpage" -> NodeDto.NodeIdSeed - ContentType contentType = MockedContentTypes.CreateTextPageContentType(); - ServiceContext.ContentTypeService.Save(contentType); + + var template = TemplateBuilder.CreateTextPageTemplate(); + FileService.SaveTemplate(template); + + //Create and Save ContentType "textpage" -> ContentType.Id + ContentType = ContentTypeBuilder.CreateTextPageContentType(defaultTemplateId: template.Id); + ContentTypeService.Save(ContentType); } } } diff --git a/src/Umbraco.Tests.Integration/Services/ContentServiceTests.cs b/src/Umbraco.Tests.Integration/Services/ContentServiceTests.cs index 3a3916dfbd..a633724587 100644 --- a/src/Umbraco.Tests.Integration/Services/ContentServiceTests.cs +++ b/src/Umbraco.Tests.Integration/Services/ContentServiceTests.cs @@ -14,6 +14,7 @@ using Umbraco.Core.IO; using Umbraco.Core.Models; using Umbraco.Core.Persistence; using Umbraco.Core.Persistence.Dtos; +using Umbraco.Core.Persistence.Repositories; using Umbraco.Core.Persistence.Repositories.Implement; using Umbraco.Core.PropertyEditors; using Umbraco.Core.Scoping; @@ -33,8 +34,7 @@ namespace Umbraco.Tests.Integration.Services [Category("Slow")] [UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest, PublishedRepositoryEvents = true, - WithApplication = true, - Logger = UmbracoTestOptions.Logger.Console)] + WithApplication = true)] public class ContentServiceTests : UmbracoIntegrationTestWithContent { // TODO: Add test to verify there is only ONE newest document/content in {Constants.DatabaseSchema.Tables.Document} table after updating. @@ -53,6 +53,7 @@ namespace Umbraco.Tests.Integration.Services private IDomainService DomainService => GetRequiredService(); private INotificationService NotificationService => GetRequiredService(); private PropertyEditorCollection PropertyEditorCollection => GetRequiredService(); + private IDocumentRepository DocumentRepository => GetRequiredService(); public override void Setup() { @@ -2347,7 +2348,7 @@ namespace Umbraco.Tests.Integration.Services using (var scope = ScopeProvider.CreateScope()) { - var repository = CreateRepository(ScopeProvider, out _); + var repository = DocumentRepository; foreach (var content in list) { @@ -3201,26 +3202,6 @@ namespace Umbraco.Tests.Integration.Services return list; } - private DocumentRepository CreateRepository(IScopeProvider provider, out ContentTypeRepository contentTypeRepository) - { - var globalSettings = new GlobalSettings(); - var accessor = (IScopeAccessor) provider; - var fileSystems = GetMockFileSystems(); - - var templateRepository = new TemplateRepository(accessor, AppCaches.Disabled, LoggerFactory.CreateLogger(), fileSystems, IOHelper, ShortStringHelper); - var tagRepository = new TagRepository(accessor, AppCaches.Disabled, LoggerFactory.CreateLogger()); - var commonRepository = new ContentTypeCommonRepository(accessor, templateRepository, AppCaches, ShortStringHelper); - var languageRepository = new LanguageRepository(accessor, AppCaches.Disabled, LoggerFactory.CreateLogger(), Microsoft.Extensions.Options.Options.Create(globalSettings)); - contentTypeRepository = new ContentTypeRepository(accessor, AppCaches.Disabled, LoggerFactory.CreateLogger(), commonRepository, languageRepository, ShortStringHelper); - var relationTypeRepository = new RelationTypeRepository(accessor, AppCaches.Disabled, LoggerFactory.CreateLogger()); - var entityRepository = new EntityRepository(accessor); - var relationRepository = new RelationRepository(accessor, LoggerFactory.CreateLogger(), relationTypeRepository, entityRepository); - var propertyEditors = new Lazy(() => new PropertyEditorCollection(new DataEditorCollection(Enumerable.Empty()))); - var dataValueReferences = new DataValueReferenceFactoryCollection(Enumerable.Empty()); - var repository = new DocumentRepository(accessor, AppCaches.Disabled, LoggerFactory.CreateLogger(), LoggerFactory, contentTypeRepository, templateRepository, tagRepository, languageRepository, relationRepository, relationTypeRepository, propertyEditors, dataValueReferences, DataTypeService); - return repository; - } - private void CreateEnglishAndFrenchDocumentType(out Language langUk, out Language langFr, out ContentType contentType) { langUk = (Language)new LanguageBuilder() diff --git a/src/Umbraco.Tests.Integration/Testing/IntegrationTestComposer.cs b/src/Umbraco.Tests.Integration/Testing/IntegrationTestComposer.cs index e597158992..6e83e57c2c 100644 --- a/src/Umbraco.Tests.Integration/Testing/IntegrationTestComposer.cs +++ b/src/Umbraco.Tests.Integration/Testing/IntegrationTestComposer.cs @@ -19,6 +19,7 @@ using Umbraco.Core.Services.Implement; using Umbraco.Core.Sync; using Umbraco.Core.WebAssets; using Umbraco.Examine; +using Umbraco.Tests.TestHelpers.Stubs; using Umbraco.Web.Compose; using Umbraco.Web.PublishedCache.NuCache; using Umbraco.Web.Scheduling; @@ -53,10 +54,11 @@ namespace Umbraco.Tests.Integration.Testing // replace this service so that it can lookup the correct file locations composition.RegisterUnique(GetLocalizedTextService); - + composition.RegisterUnique(); - - + composition.RegisterUnique(); + + } /// @@ -129,7 +131,7 @@ namespace Umbraco.Tests.Integration.Testing public void PerformRemove(ICacheRefresher refresher, Func getNumericId, params T[] instances) { - + } public void PerformRemove(ICacheRefresher refresher, params int[] numericIds) diff --git a/src/Umbraco.Tests/Umbraco.Tests.csproj b/src/Umbraco.Tests/Umbraco.Tests.csproj index fbc7a486e2..b97adcc4a2 100644 --- a/src/Umbraco.Tests/Umbraco.Tests.csproj +++ b/src/Umbraco.Tests/Umbraco.Tests.csproj @@ -315,7 +315,6 @@ - True