From eb01984763b3ded28ed1bae5c64dd4228e384905 Mon Sep 17 00:00:00 2001 From: Nikolaj Geisle Date: Thu, 23 Sep 2021 11:30:25 +0200 Subject: [PATCH] Created TestOptionsMonitor.cs and updated tests to use this new class --- src/Umbraco.Core/Composing/TypeFinderConfig.cs | 1 - .../Events/UserNotificationsHandler.cs | 4 ++-- src/Umbraco.Tests.Common/TestOptionsMonitor.cs | 16 ++++++++++++++++ .../HostedServices/KeepAliveTests.cs | 4 +++- .../HostedServices/LogScrubberTests.cs | 3 ++- 5 files changed, 23 insertions(+), 5 deletions(-) create mode 100644 src/Umbraco.Tests.Common/TestOptionsMonitor.cs diff --git a/src/Umbraco.Core/Composing/TypeFinderConfig.cs b/src/Umbraco.Core/Composing/TypeFinderConfig.cs index 8e63958a06..adb82e5336 100644 --- a/src/Umbraco.Core/Composing/TypeFinderConfig.cs +++ b/src/Umbraco.Core/Composing/TypeFinderConfig.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Reflection; using Microsoft.Extensions.Options; using Umbraco.Cms.Core.Configuration.Models; using Umbraco.Cms.Core.Configuration.UmbracoSettings; diff --git a/src/Umbraco.Core/Events/UserNotificationsHandler.cs b/src/Umbraco.Core/Events/UserNotificationsHandler.cs index 45be01ce65..d57ade2012 100644 --- a/src/Umbraco.Core/Events/UserNotificationsHandler.cs +++ b/src/Umbraco.Core/Events/UserNotificationsHandler.cs @@ -136,7 +136,7 @@ namespace Umbraco.Cms.Core.Events INotificationService notificationService, IUserService userService, ILocalizedTextService textService, - IOptions globalSettings, + IOptionsMonitor globalSettings, ILogger logger) { _backOfficeSecurityAccessor = backOfficeSecurityAccessor; @@ -144,7 +144,7 @@ namespace Umbraco.Cms.Core.Events _notificationService = notificationService; _userService = userService; _textService = textService; - _globalSettings = globalSettings.Value; + _globalSettings = globalSettings.CurrentValue; _logger = logger; } diff --git a/src/Umbraco.Tests.Common/TestOptionsMonitor.cs b/src/Umbraco.Tests.Common/TestOptionsMonitor.cs new file mode 100644 index 0000000000..95ccc04239 --- /dev/null +++ b/src/Umbraco.Tests.Common/TestOptionsMonitor.cs @@ -0,0 +1,16 @@ +using System; +using Microsoft.Extensions.Options; + +namespace Umbraco.Cms.Tests.Common +{ + public class TestOptionsMonitor : IOptionsMonitor where T : class + { + public TestOptionsMonitor(T currentValue) => CurrentValue = currentValue; + + public T Get(string name) => CurrentValue; + + public IDisposable OnChange(Action listener) => null; + + public T CurrentValue { get; } + } +} diff --git a/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/HostedServices/KeepAliveTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/HostedServices/KeepAliveTests.cs index 3cc23cfb45..d8efc0445c 100644 --- a/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/HostedServices/KeepAliveTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/HostedServices/KeepAliveTests.cs @@ -18,6 +18,7 @@ using Umbraco.Cms.Core.Runtime; using Umbraco.Cms.Core.Scoping; using Umbraco.Cms.Core.Sync; using Umbraco.Cms.Infrastructure.HostedServices; +using Umbraco.Cms.Tests.Common; namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Infrastructure.HostedServices { @@ -107,7 +108,8 @@ namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Infrastructure.HostedServices return new KeepAlive( mockHostingEnvironment.Object, mockMainDom.Object, - Options.Create(settings), + + new TestOptionsMonitor(settings), mockLogger.Object, mockProfilingLogger.Object, mockServerRegistrar.Object, diff --git a/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/HostedServices/LogScrubberTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/HostedServices/LogScrubberTests.cs index 2057167653..055224e32f 100644 --- a/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/HostedServices/LogScrubberTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/HostedServices/LogScrubberTests.cs @@ -16,6 +16,7 @@ using Umbraco.Cms.Core.Scoping; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; using Umbraco.Cms.Infrastructure.HostedServices; +using Umbraco.Cms.Tests.Common; namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Infrastructure.HostedServices { @@ -87,7 +88,7 @@ namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Infrastructure.HostedServices mockMainDom.Object, mockServerRegistrar.Object, _mockAuditService.Object, - Options.Create(settings), + new TestOptionsMonitor(settings), mockScopeProvider.Object, mockLogger.Object, mockProfilingLogger.Object);