From 825070d36a80e850bf82d36b5722e3ebc847d9aa Mon Sep 17 00:00:00 2001 From: "Martin Hinshelwood nkdAgility.com" Date: Tue, 27 Aug 2024 21:30:57 +0100 Subject: [PATCH] Update all --- configuration-classic.json | 10 +-- docs/Reference/Generated/MigrationTools.xml | 14 ++-- .../Processors/Infra/MigrationEngineTests.cs | 81 ------------------- .../FieldMaps/FieldValuetoTagMap.cs | 2 +- .../FileSystemWorkItemEndpointTests.cs | 74 ++++++++++++----- .../ServiceProviderHelper.cs | 44 +++++----- .../Containers/FieldMapContainerTests.cs | 49 ----------- .../Containers/ProcessorContainerTests.cs | 47 ----------- .../EndpointRegistrationExtensionsTests.cs | 1 + .../MigrationTools.Tests.csproj | 4 + .../ServiceProviderHelper.cs | 6 +- .../ConfigurationSectionExtensions.cs | 2 +- .../Infrastructure/ProcessorContainer.cs | 4 +- src/MigrationTools/Tools/FieldMappingTool.cs | 4 +- .../FieldMaps/FieldValuetoTagMapOptions.cs | 2 +- src/MigrationTools/TypeExtensions.cs | 2 +- 16 files changed, 107 insertions(+), 239 deletions(-) delete mode 100644 src/MigrationTools.Clients.AzureDevops.ObjectModel.Tests/Processors/Infra/MigrationEngineTests.cs delete mode 100644 src/MigrationTools.Tests/Core/Engine/Containers/FieldMapContainerTests.cs delete mode 100644 src/MigrationTools.Tests/Core/Engine/Containers/ProcessorContainerTests.cs diff --git a/configuration-classic.json b/configuration-classic.json index 9918af7d2..15ea92298 100644 --- a/configuration-classic.json +++ b/configuration-classic.json @@ -65,14 +65,14 @@ } }, { - "$type": "FieldtoFieldMapOptions", + "$type": "FieldToFieldMapOptions", "WorkItemTypeName": "*", "sourceField": "Microsoft.VSTS.Common.BacklogPriority", "targetField": "Microsoft.VSTS.Common.StackRank", "defaultValue": null }, { - "$type": "FieldtoFieldMultiMapOptions", + "$type": "FieldToFieldMultiMapOptions", "WorkItemTypeName": "*", "SourceToTargetMappings": { "SourceField1": "TargetField1", @@ -80,7 +80,7 @@ } }, { - "$type": "FieldtoTagMapOptions", + "$type": "FieldToTagFieldMapOptions", "WorkItemTypeName": "*", "sourceField": "System.State", "formatExpression": "ScrumState:{0}" @@ -104,14 +104,14 @@ "replacement": "$1" }, { - "$type": "FieldValuetoTagMapOptions", + "$type": "FieldValueToTagMapOptions", "WorkItemTypeName": "*", "sourceField": "Microsoft.VSTS.CMMI.Blocked", "pattern": "Yes", "formatExpression": "{0}" }, { - "$type": "TreeToTagMapOptions", + "$type": "TreeToTagFieldMapOptions", "WorkItemTypeName": "*", "toSkip": 3, "timeTravel": 1 diff --git a/docs/Reference/Generated/MigrationTools.xml b/docs/Reference/Generated/MigrationTools.xml index 489446923..8a06ce5d1 100644 --- a/docs/Reference/Generated/MigrationTools.xml +++ b/docs/Reference/Generated/MigrationTools.xml @@ -157,7 +157,7 @@ ready Work Item Field - + Need to create a Tag based on a field value? Just create a regex match and choose how to populate the target. @@ -284,27 +284,27 @@ - => @"743c8765" + => @"2f46086a" - => @"743c8765457c7ffb5f2da03d23f8eb9b7b5e7abb" + => @"2f46086a932e59444a25a87df7ba5bd932e65158" - => @"2024-08-27T19:35:00+01:00" + => @"2024-08-27T20:45:14+01:00" - => @"210" + => @"211" - => @"v15.2.1-210-g743c8765" + => @"v15.2.1-211-g2f46086a" @@ -339,7 +339,7 @@ - => @"211" + => @"212" diff --git a/src/MigrationTools.Clients.AzureDevops.ObjectModel.Tests/Processors/Infra/MigrationEngineTests.cs b/src/MigrationTools.Clients.AzureDevops.ObjectModel.Tests/Processors/Infra/MigrationEngineTests.cs deleted file mode 100644 index b622bdcb9..000000000 --- a/src/MigrationTools.Clients.AzureDevops.ObjectModel.Tests/Processors/Infra/MigrationEngineTests.cs +++ /dev/null @@ -1,81 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Logging.Abstractions; -using Microsoft.Extensions.Options; -using Microsoft.VisualStudio.TestTools.UnitTesting; -using MigrationTools._EngineV1.Configuration; -using MigrationTools.Options; -using MigrationTools.Services; -using MigrationTools.Services.Shadows; -using MigrationTools.Shadows; -using Serilog; - -namespace MigrationTools.Tests.Processors.Infra -{ - [TestClass] - public class MigrationEngineTests - { - private IServiceProvider _services; - - [TestInitialize] - public void Setup() - { - var configuration = new ConfigurationBuilder().Build(); - var VersionOptions = new VersionOptions(); - IOptions options = Microsoft.Extensions.Options.Options.Create(VersionOptions); - var services = new ServiceCollection(); - // Core - services.AddMigrationToolServicesForUnitTests(); - services.AddMigrationToolServicesForClientLegacyCore(); - services.AddMigrationToolServices(configuration); - services.AddMigrationToolServicesLegacy(); - // Clients - services.AddMigrationToolServicesForClientAzureDevOpsObjectModel(configuration); - services.AddMigrationToolServicesForClientLegacyAzureDevOpsObjectModel(); - - // - services.AddOptions(); - - services.AddSingleton(); - - services.AddSingleton(); - services.AddSingleton(); - - _services = services.BuildServiceProvider(); - } - - [TestMethod, TestCategory("L2")] - [Ignore("Need to ignore untill new config model live")] - public void TestEngineExecuteEmptyProcessors() - { - IMigrationEngine me = _services.GetRequiredService(); - me.Run(); - } - - [TestMethod, TestCategory("L2")] - public void TestTypeLoadForAborations() - { - List allTypes; - try - { - allTypes = AppDomain.CurrentDomain.GetAssemblies() - .Where(a => !a.IsDynamic) - .SelectMany(a => a.GetTypes()).ToList(); - } - catch (ReflectionTypeLoadException ex) - { - allTypes = new List(); - Log.Error(ex, "Unable to continue! "); - foreach (Exception item in ex.LoaderExceptions) - { - Log.Error(item, "LoaderException: {Message}", item.Message); - } - throw ex; - } - } - } -} \ No newline at end of file diff --git a/src/MigrationTools.Clients.AzureDevops.ObjectModel/Tools/FieldMappingTool/FieldMaps/FieldValuetoTagMap.cs b/src/MigrationTools.Clients.AzureDevops.ObjectModel/Tools/FieldMappingTool/FieldMaps/FieldValuetoTagMap.cs index 3f10ef605..179ea55d6 100644 --- a/src/MigrationTools.Clients.AzureDevops.ObjectModel/Tools/FieldMappingTool/FieldMaps/FieldValuetoTagMap.cs +++ b/src/MigrationTools.Clients.AzureDevops.ObjectModel/Tools/FieldMappingTool/FieldMaps/FieldValuetoTagMap.cs @@ -16,7 +16,7 @@ public FieldValuetoTagMap(ILogger logger, ITelemetryLogger t } public override string MappingDisplayName => $"{Config.sourceField}"; - private FieldValuetoTagMapOptions Config { get { return (FieldValuetoTagMapOptions)_Config; } } + private FieldValueToTagMapOptions Config { get { return (FieldValueToTagMapOptions)_Config; } } public override void Configure(IFieldMapOptions config) { diff --git a/src/MigrationTools.Clients.FileSystem.Tests/Endpoints/FileSystemWorkItemEndpointTests.cs b/src/MigrationTools.Clients.FileSystem.Tests/Endpoints/FileSystemWorkItemEndpointTests.cs index 4da942a05..db1939b1b 100644 --- a/src/MigrationTools.Clients.FileSystem.Tests/Endpoints/FileSystemWorkItemEndpointTests.cs +++ b/src/MigrationTools.Clients.FileSystem.Tests/Endpoints/FileSystemWorkItemEndpointTests.cs @@ -1,26 +1,35 @@ -using Microsoft.Extensions.DependencyInjection; +using System.Xml.Linq; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Microsoft.VisualStudio.TestTools.UnitTesting; using MigrationTools.DataContracts; +using MigrationTools.EndpointEnrichers; +using MigrationTools.Enrichers; using MigrationTools.Tests; +using MigrationTools.Tools; +using MigrationTools.Tools.Interfaces; +using MigrationTools.Tools.Shadows; +using MigrationTools.Shadows; +using System; namespace MigrationTools.Endpoints.Tests { [TestClass()] public class FileSystemWorkItemEndpointTests { - public ServiceProvider Services { get; private set; } + + public IServiceProvider Services { get; private set; } [TestInitialize] public void Setup() { - Services = ServiceProviderHelper.GetServices(); + Services = GetServices(); } [TestMethod, TestCategory("L3")] public void ConfiguredTest() { - FileSystemWorkItemEndpoint e = CreateEndpoint("Source"); + FileSystemWorkItemEndpoint e = (FileSystemWorkItemEndpoint)Services.GetKeyedService("Source"); CleanAndAdd(e, 10); Assert.AreEqual(10, e.Count); } @@ -28,7 +37,7 @@ public void ConfiguredTest() [TestMethod, TestCategory("L3")] public void EmptyTest() { - FileSystemWorkItemEndpoint e = CreateEndpoint("Source"); + FileSystemWorkItemEndpoint e = (FileSystemWorkItemEndpoint)Services.GetKeyedService("Source"); CleanAndAdd(e, 0); Assert.AreEqual(0, e.Count); } @@ -36,9 +45,9 @@ public void EmptyTest() [TestMethod, TestCategory("L3")] public void FilterAllTest() { - FileSystemWorkItemEndpoint e1 = CreateEndpoint("Source"); + FileSystemWorkItemEndpoint e1 = (FileSystemWorkItemEndpoint)Services.GetKeyedService("Source"); CleanAndAdd(e1, 10); - FileSystemWorkItemEndpoint e2 = CreateEndpoint("Target"); + FileSystemWorkItemEndpoint e2 = (FileSystemWorkItemEndpoint)Services.GetKeyedService("Target"); CleanAndAdd(e2, 10); e1.Filter(e2.GetWorkItems()); @@ -48,9 +57,9 @@ public void FilterAllTest() [TestMethod, TestCategory("L3")] public void FilterHalfTest() { - FileSystemWorkItemEndpoint e1 = CreateEndpoint("Source"); + FileSystemWorkItemEndpoint e1 = (FileSystemWorkItemEndpoint)Services.GetKeyedService("Source"); CleanAndAdd(e1, 20); - FileSystemWorkItemEndpoint e2 = CreateEndpoint("Target"); + FileSystemWorkItemEndpoint e2 = (FileSystemWorkItemEndpoint)Services.GetKeyedService("Target"); CleanAndAdd(e2, 10); e1.Filter(e2.GetWorkItems()); Assert.AreEqual(10, e1.Count); @@ -59,9 +68,9 @@ public void FilterHalfTest() [TestMethod, TestCategory("L3")] public void PersistWorkItemExistsTest() { - FileSystemWorkItemEndpoint e1 = CreateEndpoint("Source"); + FileSystemWorkItemEndpoint e1 = (FileSystemWorkItemEndpoint)Services.GetKeyedService("Source"); CleanAndAdd(e1, 20); - FileSystemWorkItemEndpoint e2 = CreateEndpoint("Target"); + FileSystemWorkItemEndpoint e2 = (FileSystemWorkItemEndpoint)Services.GetKeyedService("Target"); CleanAndAdd(e2, 10); foreach (WorkItemData item in e1.GetWorkItems()) @@ -74,9 +83,9 @@ public void PersistWorkItemExistsTest() [TestMethod, TestCategory("L3")] public void PersistWorkItemWithFilterTest() { - FileSystemWorkItemEndpoint e1 = CreateEndpoint("Source"); + FileSystemWorkItemEndpoint e1 = (FileSystemWorkItemEndpoint)Services.GetKeyedService("Source"); CleanAndAdd(e1, 20); - FileSystemWorkItemEndpoint e2 = CreateEndpoint("Target"); + FileSystemWorkItemEndpoint e2 = (FileSystemWorkItemEndpoint)Services.GetKeyedService("Target"); CleanAndAdd(e2, 10); e1.Filter(e2.GetWorkItems()); Assert.AreEqual(10, e1.Count); @@ -99,12 +108,41 @@ public void CleanAndAdd(FileSystemWorkItemEndpoint endpoint, int count) } } - private FileSystemWorkItemEndpoint CreateEndpoint(string direction) + protected IServiceProvider GetServices() { - var options = new FileSystemWorkItemEndpointOptions() { FileStore = string.Format(@".\Store\{0}\", direction) }; - IOptions wrappedOptions = Microsoft.Extensions.Options.Options.Create(options); - FileSystemWorkItemEndpoint e = ActivatorUtilities.CreateInstance(Services, wrappedOptions); - return e; + var services = new ServiceCollection(); + services.AddMigrationToolServicesForUnitTests(); + + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(); + + services.AddKeyedSingleton(typeof(IEndpoint), "Source", (sp, key) => + { + IOptions options = Microsoft.Extensions.Options.Options.Create(new FileSystemWorkItemEndpointOptions() + { + FileStore = @".\Store\Source\" + }); + var endpoint = ActivatorUtilities.CreateInstance(sp, typeof(FileSystemWorkItemEndpoint), options); + return endpoint; + }); + + services.AddKeyedSingleton(typeof(IEndpoint), "Target", (sp, key) => + { + IOptions options = Microsoft.Extensions.Options.Options.Create(new FileSystemWorkItemEndpointOptions() + { + FileStore = @".\Store\Target\" + }); + var endpoint = ActivatorUtilities.CreateInstance(sp, typeof(FileSystemWorkItemEndpoint), options); + return endpoint; + }); + + + return services.BuildServiceProvider(); } + } } \ No newline at end of file diff --git a/src/MigrationTools.Clients.FileSystem.Tests/ServiceProviderHelper.cs b/src/MigrationTools.Clients.FileSystem.Tests/ServiceProviderHelper.cs index 348775d84..69667b5b8 100644 --- a/src/MigrationTools.Clients.FileSystem.Tests/ServiceProviderHelper.cs +++ b/src/MigrationTools.Clients.FileSystem.Tests/ServiceProviderHelper.cs @@ -1,26 +1,26 @@ -using Microsoft.Extensions.DependencyInjection; -using MigrationTools.Services; -using Microsoft.Extensions.Configuration; -using MigrationTools.Services.Shadows; -using MigrationTools.Shadows; +//using Microsoft.Extensions.DependencyInjection; +//using MigrationTools.Services; +//using Microsoft.Extensions.Configuration; +//using MigrationTools.Services.Shadows; +//using MigrationTools.Shadows; -namespace MigrationTools.Tests -{ - internal static class ServiceProviderHelper - { - internal static ServiceProvider GetServices() - { - var configuration = new ConfigurationBuilder().Build(); - var services = new ServiceCollection(); - services.AddMigrationToolServicesForUnitTests(); +//namespace MigrationTools.Tests +//{ +// internal static class ServiceProviderHelper +// { +// internal static ServiceProvider GetServices() +// { +// var configuration = new ConfigurationBuilder().Build(); +// var services = new ServiceCollection(); +// services.AddMigrationToolServicesForUnitTests(); - services.AddMigrationToolServices(configuration); - services.AddMigrationToolServicesForClientFileSystem(configuration); +// services.AddMigrationToolServices(configuration); +// services.AddMigrationToolServicesForClientFileSystem(configuration); - services.AddSingleton(); - services.AddSingleton(); +// services.AddSingleton(); +// services.AddSingleton(); - return services.BuildServiceProvider(); - } - } -} \ No newline at end of file +// return services.BuildServiceProvider(); +// } +// } +//} \ No newline at end of file diff --git a/src/MigrationTools.Tests/Core/Engine/Containers/FieldMapContainerTests.cs b/src/MigrationTools.Tests/Core/Engine/Containers/FieldMapContainerTests.cs deleted file mode 100644 index fc3cd8db5..000000000 --- a/src/MigrationTools.Tests/Core/Engine/Containers/FieldMapContainerTests.cs +++ /dev/null @@ -1,49 +0,0 @@ -using System; -using System.Collections.Generic; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Logging.Abstractions; -using Microsoft.Extensions.Options; -using Microsoft.VisualStudio.TestTools.UnitTesting; -using MigrationTools._EngineV1.Configuration; -using MigrationTools._EngineV1.Containers; -using MigrationTools.Tests; -using MigrationTools.Tools; -using MigrationTools.Tools.Shadows; - -namespace MigrationTools.Engine.Containers.Tests -{ - [TestClass()] - public class FieldMapContainerTests - { - private IOptions CreateFieldMappingToolOptions() - { - var options = new FieldMappingToolOptions(); - options.Enabled = true; - var opts = Microsoft.Extensions.Options.Options.Create(options); - return opts; - } - - private IServiceProvider CreateServiceProvider() - { - return ServiceProviderHelper.GetWorkItemMigrationProcessor(); - } - - [TestMethod(), TestCategory("L0")] - public void FieldMapContainerTest() - { - var config = CreateFieldMappingToolOptions(); - - Assert.AreEqual(0, config.Value.FieldMaps.Count); - - var testSimple = new MockSimpleFieldMapOptions - { - ApplyTo = new List { "*" }, - }; - config.Value.FieldMaps.Add(testSimple); - - Assert.AreEqual(1, config.Value.FieldMaps.Count); - var fieldMappTool = ActivatorUtilities.CreateInstance(CreateServiceProvider(), config, new NullLogger()); - Assert.AreEqual(1, fieldMappTool.Count); - } - } -} \ No newline at end of file diff --git a/src/MigrationTools.Tests/Core/Engine/Containers/ProcessorContainerTests.cs b/src/MigrationTools.Tests/Core/Engine/Containers/ProcessorContainerTests.cs deleted file mode 100644 index 1790ec6a0..000000000 --- a/src/MigrationTools.Tests/Core/Engine/Containers/ProcessorContainerTests.cs +++ /dev/null @@ -1,47 +0,0 @@ -using System; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Logging.Abstractions; -using Microsoft.Extensions.Options; -using Microsoft.VisualStudio.TestTools.UnitTesting; -using MigrationTools._EngineV1.Configuration; -using MigrationTools._EngineV1.Containers; -using MigrationTools.Processors; -using MigrationTools.Tests; -using MigrationTools.Processors.Infrastructure; -using MigrationTools.Processors.Infrastructure.Shadows; - -namespace MigrationTools.Engine.Containers.Tests -{ - [TestClass()] - public class ProcessorContainerTests - { - private IOptions CreateProcessorContainerOptions() - { - var options = new ProcessorContainerOptions(); - var opts = Microsoft.Extensions.Options.Options.Create(options); - return opts; - } - - - private IServiceProvider CreateServiceProvider() - { - return ServiceProviderHelper.GetWorkItemMigrationProcessor(); - } - - [TestMethod(), TestCategory("L0")] - public void ProcessorContainerTest() - { - var config = CreateProcessorContainerOptions(); - var testSimple = new MockSimpleProcessorOptions(); - - Assert.AreEqual(0, config.Value.Processors.Count); - - testSimple.Enabled = true; - config.Value.Processors.Add(testSimple); - - Assert.AreEqual(1, config.Value.Processors.Count); - var processorContainer = ActivatorUtilities.CreateInstance(CreateServiceProvider(), config, new NullLogger()); - Assert.AreEqual(1, processorContainer.Count); - } - } -} \ No newline at end of file diff --git a/src/MigrationTools.Tests/Endpoints/Infrastructure/EndpointRegistrationExtensionsTests.cs b/src/MigrationTools.Tests/Endpoints/Infrastructure/EndpointRegistrationExtensionsTests.cs index c557ad8e3..30537c25c 100644 --- a/src/MigrationTools.Tests/Endpoints/Infrastructure/EndpointRegistrationExtensionsTests.cs +++ b/src/MigrationTools.Tests/Endpoints/Infrastructure/EndpointRegistrationExtensionsTests.cs @@ -68,6 +68,7 @@ private static IConfigurationBuilder GetSourceTargetBasicConfig() var json = @" { ""MigrationTools"": { + ""Version"": ""16.0"", ""Endpoints"": { ""Source"": { ""EndpointType"": ""FakeEndpoint"", diff --git a/src/MigrationTools.Tests/MigrationTools.Tests.csproj b/src/MigrationTools.Tests/MigrationTools.Tests.csproj index 33acaffa6..3e04623af 100644 --- a/src/MigrationTools.Tests/MigrationTools.Tests.csproj +++ b/src/MigrationTools.Tests/MigrationTools.Tests.csproj @@ -30,4 +30,8 @@ + + + + diff --git a/src/MigrationTools.Tests/ServiceProviderHelper.cs b/src/MigrationTools.Tests/ServiceProviderHelper.cs index ef7df818d..0b3daf7fe 100644 --- a/src/MigrationTools.Tests/ServiceProviderHelper.cs +++ b/src/MigrationTools.Tests/ServiceProviderHelper.cs @@ -1,9 +1,9 @@ -using Microsoft.Extensions.Configuration; +using System; +using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using MigrationTools._EngineV1.Containers; using MigrationTools.EndpointEnrichers; using MigrationTools.Endpoints; -using MigrationTools.Engine.Containers.Tests; using MigrationTools.Enrichers; using MigrationTools.Processors; using MigrationTools.Processors.Infrastructure.Shadows; @@ -17,6 +17,7 @@ namespace MigrationTools.Tests { internal static class ServiceProviderHelper { + [Obsolete] internal static ServiceProvider GetWorkItemMigrationProcessor() { var configuration = new ConfigurationBuilder().Build(); @@ -24,6 +25,7 @@ internal static ServiceProvider GetWorkItemMigrationProcessor() return services.BuildServiceProvider(); } + [Obsolete] internal static ServiceCollection GetServiceCollection() { var configuration = new ConfigurationBuilder().Build(); diff --git a/src/MigrationTools/ConfigurationSectionExtensions.cs b/src/MigrationTools/ConfigurationSectionExtensions.cs index 2cf03be2a..4e45cd280 100644 --- a/src/MigrationTools/ConfigurationSectionExtensions.cs +++ b/src/MigrationTools/ConfigurationSectionExtensions.cs @@ -75,7 +75,7 @@ public static TMigrationOptions GetMigrationToolsOption(this var processorType = AppDomain.CurrentDomain.GetMigrationToolsTypes().WithInterface().WithNameString(processorTypeString); if (processorType == null) { - Log.Warning("There was no match for {optionTypeName} from {sectionKey}", optionTypeName, section.Key); + Log.Warning("There was no match for {optionTypeName} as {processorTypeString} from {sectionKey} in {TMigrationOptions}", optionTypeName, processorTypeString, section.Key, typeof(TMigrationOptions)); return default(TMigrationOptions); } var obj = Activator.CreateInstance(processorType); diff --git a/src/MigrationTools/Processors/Infrastructure/ProcessorContainer.cs b/src/MigrationTools/Processors/Infrastructure/ProcessorContainer.cs index 5013860b2..909a08c60 100644 --- a/src/MigrationTools/Processors/Infrastructure/ProcessorContainer.cs +++ b/src/MigrationTools/Processors/Infrastructure/ProcessorContainer.cs @@ -73,10 +73,10 @@ private List LoadProcessorsfromOptions(ProcessorContainerOptions opt foreach (var constructor in constructors) { var parameters = constructor.GetParameters(); - _logger.LogInformation("Constructor found: {Constructor}", string.Join(", ", parameters.Select(p => p.ParameterType.Name))); + _logger.LogDebug("Constructor found: {Constructor}", string.Join(", ", parameters.Select(p => p.ParameterType.Name))); } - _logger.LogInformation("Attempting to pass parameters: {Parameters}", string.Join(", ", new object[] { Microsoft.Extensions.Options.Options.Create(processorOption) }.Select(p => p.GetType().Name))); + _logger.LogDebug("Attempting to pass parameters: {Parameters}", string.Join(", ", new object[] { Microsoft.Extensions.Options.Options.Create(processorOption) }.Select(p => p.GetType().Name))); //var optionsWrapperType = typeof(IOptions<>).MakeGenericType(processorOption.GetType()); diff --git a/src/MigrationTools/Tools/FieldMappingTool.cs b/src/MigrationTools/Tools/FieldMappingTool.cs index 4c19633d8..7cf6a6e07 100644 --- a/src/MigrationTools/Tools/FieldMappingTool.cs +++ b/src/MigrationTools/Tools/FieldMappingTool.cs @@ -27,13 +27,13 @@ public FieldMappingTool(IOptions options, IServiceProvi { foreach (IFieldMapOptions fieldmapConfig in Options.FieldMaps) { - Log.LogInformation("FieldMappingTool: Adding FieldMap {FieldMapName} for {WorkItemTypeName}", fieldmapConfig.ConfigurationOptionFor, string.Join(", ", fieldmapConfig.ApplyTo)); + Log.LogInformation("FieldMappingTool: Adding FieldMap {FieldMapName} for {WorkItemTypeName}", fieldmapConfig.ConfigurationOptionFor, fieldmapConfig.ApplyTo.Count == 0? "*ApplyTo is missing*" : string.Join(", ", fieldmapConfig.ApplyTo)); string typePattern = $"MigrationTools.Sinks.*.FieldMaps.{fieldmapConfig.ConfigurationOptionFor}"; Type type = AppDomain.CurrentDomain.GetAssemblies() .Where(a => !a.IsDynamic) .SelectMany(a => a.GetTypes()) - .FirstOrDefault(t => t.Name.Equals(fieldmapConfig.ConfigurationOptionFor) || t.FullName.Equals(typePattern)); + .FirstOrDefault(t => t.Name.Equals(fieldmapConfig.ConfigurationOptionFor, StringComparison.InvariantCultureIgnoreCase) || t.FullName.Equals(typePattern)); if (type == null) { diff --git a/src/MigrationTools/Tools/FieldMappingTool/FieldMaps/FieldValuetoTagMapOptions.cs b/src/MigrationTools/Tools/FieldMappingTool/FieldMaps/FieldValuetoTagMapOptions.cs index 17341b3fa..cb4803cf5 100644 --- a/src/MigrationTools/Tools/FieldMappingTool/FieldMaps/FieldValuetoTagMapOptions.cs +++ b/src/MigrationTools/Tools/FieldMappingTool/FieldMaps/FieldValuetoTagMapOptions.cs @@ -7,7 +7,7 @@ namespace MigrationTools.Tools /// /// ready /// Work Item Field - public class FieldValuetoTagMapOptions : FieldMapOptions + public class FieldValueToTagMapOptions : FieldMapOptions { public string sourceField { get; set; } public string pattern { get; set; } diff --git a/src/MigrationTools/TypeExtensions.cs b/src/MigrationTools/TypeExtensions.cs index fead9122b..084bc7aac 100644 --- a/src/MigrationTools/TypeExtensions.cs +++ b/src/MigrationTools/TypeExtensions.cs @@ -26,7 +26,7 @@ public static IEnumerable WithConfigurationSectionName(this IEnumerable types, string search) { - return types.SingleOrDefault(type => type.Name.StartsWith(search)); + return types.SingleOrDefault(type => type.Name.StartsWith(search, StringComparison.InvariantCultureIgnoreCase)); } public static Type FromOptions(this IEnumerable types, IOptions option)