Added logging and try/catch around retrieval of references, so we don't block critical operations following an incompatible data type change (#18576)
* Added logging and try/catch around retrieval of references, so we don't block critical operations following an incompatible data type change. * Added a little more detail to the log message. * Added a little more detail to the log message. * Fix unittest mock dependency --------- Co-authored-by: Migaroez <geusens@gmail.com>
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Microsoft.Extensions.Options;
|
||||
using Moq;
|
||||
using NUnit.Framework;
|
||||
@@ -129,7 +130,7 @@ public class DocumentRepositoryTest : UmbracoIntegrationTest
|
||||
var propertyEditors =
|
||||
new PropertyEditorCollection(new DataEditorCollection(() => Enumerable.Empty<IDataEditor>()));
|
||||
var dataValueReferences =
|
||||
new DataValueReferenceFactoryCollection(() => Enumerable.Empty<IDataValueReferenceFactory>());
|
||||
new DataValueReferenceFactoryCollection(() => Enumerable.Empty<IDataValueReferenceFactory>(), new NullLogger<DataValueReferenceFactoryCollection>());
|
||||
var repository = new DocumentRepository(
|
||||
scopeAccessor,
|
||||
appCaches,
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
using System.Linq;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Moq;
|
||||
using NUnit.Framework;
|
||||
using Umbraco.Cms.Core;
|
||||
@@ -64,7 +65,7 @@ public class MediaRepositoryTest : UmbracoIntegrationTest
|
||||
new PropertyEditorCollection(new DataEditorCollection(() => Enumerable.Empty<IDataEditor>()));
|
||||
var mediaUrlGenerators = new MediaUrlGeneratorCollection(() => Enumerable.Empty<IMediaUrlGenerator>());
|
||||
var dataValueReferences =
|
||||
new DataValueReferenceFactoryCollection(() => Enumerable.Empty<IDataValueReferenceFactory>());
|
||||
new DataValueReferenceFactoryCollection(() => Enumerable.Empty<IDataValueReferenceFactory>(), new NullLogger<DataValueReferenceFactoryCollection>());
|
||||
var repository = new MediaRepository(
|
||||
scopeAccessor,
|
||||
appCaches,
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Microsoft.Extensions.Options;
|
||||
using Moq;
|
||||
using NPoco;
|
||||
@@ -53,7 +54,7 @@ public class MemberRepositoryTest : UmbracoIntegrationTest
|
||||
var propertyEditors =
|
||||
new PropertyEditorCollection(new DataEditorCollection(() => Enumerable.Empty<IDataEditor>()));
|
||||
var dataValueReferences =
|
||||
new DataValueReferenceFactoryCollection(() => Enumerable.Empty<IDataValueReferenceFactory>());
|
||||
new DataValueReferenceFactoryCollection(() => Enumerable.Empty<IDataValueReferenceFactory>(), new NullLogger<DataValueReferenceFactoryCollection>());
|
||||
return new MemberRepository(
|
||||
accessor,
|
||||
AppCaches.Disabled,
|
||||
|
||||
@@ -6,6 +6,7 @@ using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Microsoft.Extensions.Options;
|
||||
using Moq;
|
||||
using NUnit.Framework;
|
||||
@@ -272,7 +273,7 @@ public class TemplateRepositoryTest : UmbracoIntegrationTest
|
||||
var propertyEditors =
|
||||
new PropertyEditorCollection(new DataEditorCollection(() => Enumerable.Empty<IDataEditor>()));
|
||||
var dataValueReferences =
|
||||
new DataValueReferenceFactoryCollection(() => Enumerable.Empty<IDataValueReferenceFactory>());
|
||||
new DataValueReferenceFactoryCollection(() => Enumerable.Empty<IDataValueReferenceFactory>(), new NullLogger<DataValueReferenceFactoryCollection>());
|
||||
var contentRepo = new DocumentRepository(
|
||||
scopeAccessor,
|
||||
AppCaches.Disabled,
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System.Globalization;
|
||||
using System.Text.Json.Nodes;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Moq;
|
||||
using NUnit.Framework;
|
||||
@@ -148,7 +149,7 @@ public class BlockListEditorPropertyValueEditorTests
|
||||
new DataEditorAttribute("alias"),
|
||||
new BlockListEditorDataConverter(jsonSerializer),
|
||||
new(new DataEditorCollection(() => [])),
|
||||
new DataValueReferenceFactoryCollection(Enumerable.Empty<IDataValueReferenceFactory>),
|
||||
new DataValueReferenceFactoryCollection(Enumerable.Empty<IDataValueReferenceFactory>, Mock.Of<ILogger<DataValueReferenceFactoryCollection>>()),
|
||||
Mock.Of<IDataTypeConfigurationCache>(),
|
||||
Mock.Of<IBlockEditorElementTypeCache>(),
|
||||
localizedTextServiceMock.Object,
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Moq;
|
||||
using NUnit.Framework;
|
||||
using Umbraco.Cms.Core.Cache;
|
||||
@@ -35,7 +36,7 @@ public class DataValueEditorReuseTests
|
||||
Mock.Of<IIOHelper>()));
|
||||
|
||||
_propertyEditorCollection = new PropertyEditorCollection(new DataEditorCollection(Enumerable.Empty<IDataEditor>));
|
||||
_dataValueReferenceFactories = new DataValueReferenceFactoryCollection(Enumerable.Empty<IDataValueReferenceFactory>);
|
||||
_dataValueReferenceFactories = new DataValueReferenceFactoryCollection(Enumerable.Empty<IDataValueReferenceFactory>, new NullLogger<DataValueReferenceFactoryCollection>());
|
||||
|
||||
var blockVarianceHandler = new BlockEditorVarianceHandler(Mock.Of<ILanguageService>(), Mock.Of<IContentTypeService>());
|
||||
_dataValueEditorFactoryMock
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// Copyright (c) Umbraco.
|
||||
// See LICENSE for more details.
|
||||
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Moq;
|
||||
using NUnit.Framework;
|
||||
using Umbraco.Cms.Core;
|
||||
@@ -49,7 +50,7 @@ public class DataValueReferenceFactoryCollectionTests
|
||||
[Test]
|
||||
public void GetAllReferences_All_Variants_With_IDataValueReferenceFactory()
|
||||
{
|
||||
var collection = new DataValueReferenceFactoryCollection(() => new TestDataValueReferenceFactory().Yield());
|
||||
var collection = new DataValueReferenceFactoryCollection(() => new TestDataValueReferenceFactory().Yield(), new NullLogger<DataValueReferenceFactoryCollection>());
|
||||
|
||||
// label does not implement IDataValueReference
|
||||
var labelEditor = new LabelPropertyEditor(
|
||||
@@ -93,7 +94,7 @@ public class DataValueReferenceFactoryCollectionTests
|
||||
[Test]
|
||||
public void GetAllReferences_All_Variants_With_IDataValueReference_Editor()
|
||||
{
|
||||
var collection = new DataValueReferenceFactoryCollection(() => Enumerable.Empty<IDataValueReferenceFactory>());
|
||||
var collection = new DataValueReferenceFactoryCollection(() => Enumerable.Empty<IDataValueReferenceFactory>(), new NullLogger<DataValueReferenceFactoryCollection>());
|
||||
|
||||
// mediaPicker does implement IDataValueReference
|
||||
var mediaPicker = new MediaPicker3PropertyEditor(
|
||||
@@ -137,7 +138,7 @@ public class DataValueReferenceFactoryCollectionTests
|
||||
[Test]
|
||||
public void GetAllReferences_Invariant_With_IDataValueReference_Editor()
|
||||
{
|
||||
var collection = new DataValueReferenceFactoryCollection(() => Enumerable.Empty<IDataValueReferenceFactory>());
|
||||
var collection = new DataValueReferenceFactoryCollection(() => Enumerable.Empty<IDataValueReferenceFactory>(), new NullLogger<DataValueReferenceFactoryCollection>());
|
||||
|
||||
// mediaPicker does implement IDataValueReference
|
||||
var mediaPicker = new MediaPicker3PropertyEditor(
|
||||
@@ -181,7 +182,7 @@ public class DataValueReferenceFactoryCollectionTests
|
||||
[Test]
|
||||
public void GetAutomaticRelationTypesAliases_ContainsDefault()
|
||||
{
|
||||
var collection = new DataValueReferenceFactoryCollection(Enumerable.Empty<IDataValueReferenceFactory>);
|
||||
var collection = new DataValueReferenceFactoryCollection(Enumerable.Empty<IDataValueReferenceFactory>, new NullLogger<DataValueReferenceFactoryCollection>());
|
||||
var propertyEditors = new PropertyEditorCollection(new DataEditorCollection(Enumerable.Empty<IDataEditor>));
|
||||
|
||||
var result = collection.GetAllAutomaticRelationTypesAliases(propertyEditors).ToArray();
|
||||
@@ -193,7 +194,7 @@ public class DataValueReferenceFactoryCollectionTests
|
||||
[Test]
|
||||
public void GetAutomaticRelationTypesAliases_ContainsCustom()
|
||||
{
|
||||
var collection = new DataValueReferenceFactoryCollection(() => new TestDataValueReferenceFactory().Yield());
|
||||
var collection = new DataValueReferenceFactoryCollection(() => new TestDataValueReferenceFactory().Yield(), new NullLogger<DataValueReferenceFactoryCollection>());
|
||||
|
||||
var labelPropertyEditor = new LabelPropertyEditor(DataValueEditorFactory, IOHelper);
|
||||
var propertyEditors = new PropertyEditorCollection(new DataEditorCollection(() => labelPropertyEditor.Yield()));
|
||||
|
||||
Reference in New Issue
Block a user