diff --git a/Steeltoe.NetCoreToolTemplates.sln b/Steeltoe.NetCoreToolTemplates.sln index a0de8cb..5fc0694 100644 --- a/Steeltoe.NetCoreToolTemplates.sln +++ b/Steeltoe.NetCoreToolTemplates.sln @@ -15,12 +15,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution .editorconfig = .editorconfig .gitattributes = .gitattributes .gitignore = .gitignore - azure-pipelines.yaml = azure-pipelines.yaml DEVELOPER.md = DEVELOPER.md src\Content\NetCoreTool.Template.WebApi\CSharp\Directory.Build.props = src\Content\NetCoreTool.Template.WebApi\CSharp\Directory.Build.props test\Directory.Build.props = test\Directory.Build.props README.md = README.md - version.json = version.json EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Steeltoe.NetCoreTool.Templates", "src\Steeltoe.NetCoreTool.Templates.csproj", "{8C63F895-1AD7-47F1-8074-7E6832E59D62}" diff --git a/Steeltoe.NetCoreToolTemplates.sln.DotSettings b/Steeltoe.NetCoreToolTemplates.sln.DotSettings new file mode 100644 index 0000000..e2d5746 --- /dev/null +++ b/Steeltoe.NetCoreToolTemplates.sln.DotSettings @@ -0,0 +1,6 @@ + + True + True + True + True + diff --git a/src/Content/NetCoreTool.Template.WebApi/CSharp/.template.config/ide.host.json b/src/Content/NetCoreTool.Template.WebApi/CSharp/.template.config/ide.host.json index 0c200c6..cb69b62 100644 --- a/src/Content/NetCoreTool.Template.WebApi/CSharp/.template.config/ide.host.json +++ b/src/Content/NetCoreTool.Template.WebApi/CSharp/.template.config/ide.host.json @@ -295,7 +295,7 @@ "text": "Use dynamic Serilog logger" }, "description": { - "text": "Enables dynamically changing minimum levels at runtime using Serlog." + "text": "Enables dynamically changing minimum levels at runtime using Serilog." }, "isVisible": true }, diff --git a/src/Content/NetCoreTool.Template.WebApi/CSharp/.template.config/template.json b/src/Content/NetCoreTool.Template.WebApi/CSharp/.template.config/template.json index 6910bf5..96d5c0e 100644 --- a/src/Content/NetCoreTool.Template.WebApi/CSharp/.template.config/template.json +++ b/src/Content/NetCoreTool.Template.WebApi/CSharp/.template.config/template.json @@ -635,7 +635,7 @@ "LoggingDynamicSerilogOption": { "type": "parameter", "datatype": "bool", - "description": "Enable dynamically changing minimum levels at runtime using Serlog.", + "description": "Enable dynamically changing minimum levels at runtime using Serilog.", "defaultValue": "false" }, "HasLoggingDynamicSerilogInSteeltoeV3": { diff --git a/src/Content/NetCoreTool.Template.WebApi/CSharp/Company.WebApplication.CS.slnx b/src/Content/NetCoreTool.Template.WebApi/CSharp/Company.WebApplication.CS.slnx new file mode 100644 index 0000000..2cc88c6 --- /dev/null +++ b/src/Content/NetCoreTool.Template.WebApi/CSharp/Company.WebApplication.CS.slnx @@ -0,0 +1,3 @@ + + + diff --git a/test/NetCoreTool.Template.WebApi.Test/CircuitBreakerHystrixOptionTest.cs b/test/NetCoreTool.Template.WebApi.Test/CircuitBreakerHystrixOptionTest.cs index c19f9dc..a839734 100644 --- a/test/NetCoreTool.Template.WebApi.Test/CircuitBreakerHystrixOptionTest.cs +++ b/test/NetCoreTool.Template.WebApi.Test/CircuitBreakerHystrixOptionTest.cs @@ -25,7 +25,7 @@ protected override async Task AssertProjectGeneration(ProjectOptions options) if (options.SteeltoeVersion == SteeltoeVersion.Steeltoe32) { - Logger.WriteLine($"asserting HelloHystrixCommand"); + Logger.WriteLine("asserting HelloHystrixCommand"); var sourceFile = GetSourceFileForLanguage("HelloHystrixCommand", options.Language); var source = await Sandbox.GetFileTextAsync(sourceFile); source.Should().ContainSnippet("class HelloHystrixCommand"); diff --git a/test/NetCoreTool.Template.WebApi.Test/ConnectorMySqlEfCoreOptionTest.cs b/test/NetCoreTool.Template.WebApi.Test/ConnectorMySqlEfCoreOptionTest.cs index 5e93699..8b62cd4 100644 --- a/test/NetCoreTool.Template.WebApi.Test/ConnectorMySqlEfCoreOptionTest.cs +++ b/test/NetCoreTool.Template.WebApi.Test/ConnectorMySqlEfCoreOptionTest.cs @@ -1,5 +1,4 @@ using System.Collections.Generic; -using System.IO; using System.Threading.Tasks; using FluentAssertions; using Steeltoe.NetCoreTool.Template.WebApi.Test.Models; diff --git a/test/NetCoreTool.Template.WebApi.Test/ConnectorPostgreSqlEfCoreOptionTest.cs b/test/NetCoreTool.Template.WebApi.Test/ConnectorPostgreSqlEfCoreOptionTest.cs index 18b1a76..abdb322 100644 --- a/test/NetCoreTool.Template.WebApi.Test/ConnectorPostgreSqlEfCoreOptionTest.cs +++ b/test/NetCoreTool.Template.WebApi.Test/ConnectorPostgreSqlEfCoreOptionTest.cs @@ -1,9 +1,6 @@ -using System; using System.Collections.Generic; -using System.IO; using System.Threading.Tasks; using FluentAssertions; -using Steeltoe.NetCoreTool.Template.WebApi.Test.Assertions; using Steeltoe.NetCoreTool.Template.WebApi.Test.Models; using Xunit; using Xunit.Abstractions; diff --git a/test/NetCoreTool.Template.WebApi.Test/ConnectorPostgreSqlOptionTest.cs b/test/NetCoreTool.Template.WebApi.Test/ConnectorPostgreSqlOptionTest.cs index 106115c..232ef51 100644 --- a/test/NetCoreTool.Template.WebApi.Test/ConnectorPostgreSqlOptionTest.cs +++ b/test/NetCoreTool.Template.WebApi.Test/ConnectorPostgreSqlOptionTest.cs @@ -1,4 +1,3 @@ -using System; using System.Collections.Generic; using Steeltoe.NetCoreTool.Template.WebApi.Test.Models; using Xunit.Abstractions; diff --git a/test/NetCoreTool.Template.WebApi.Test/ConnectorSqlServerEfCoreOptionTest.cs b/test/NetCoreTool.Template.WebApi.Test/ConnectorSqlServerEfCoreOptionTest.cs index 58487ad..2eefd9a 100644 --- a/test/NetCoreTool.Template.WebApi.Test/ConnectorSqlServerEfCoreOptionTest.cs +++ b/test/NetCoreTool.Template.WebApi.Test/ConnectorSqlServerEfCoreOptionTest.cs @@ -1,5 +1,4 @@ using System.Collections.Generic; -using System.IO; using System.Threading.Tasks; using FluentAssertions; using Steeltoe.NetCoreTool.Template.WebApi.Test.Models; diff --git a/test/NetCoreTool.Template.WebApi.Test/DefaultsTest.cs b/test/NetCoreTool.Template.WebApi.Test/DefaultsTest.cs index cb2a753..4bbbfb4 100644 --- a/test/NetCoreTool.Template.WebApi.Test/DefaultsTest.cs +++ b/test/NetCoreTool.Template.WebApi.Test/DefaultsTest.cs @@ -3,6 +3,7 @@ using System.Threading.Tasks; using FluentAssertions; using Steeltoe.NetCoreTool.Template.WebApi.Test.Models; +using Xunit; using Xunit.Abstractions; namespace Steeltoe.NetCoreTool.Template.WebApi.Test @@ -10,11 +11,24 @@ namespace Steeltoe.NetCoreTool.Template.WebApi.Test public class DefaultsTest(ITestOutputHelper logger) : ProjectOptionTest(null, "Steeltoe ASP.NET Core Web API (C#)", logger) { + [Fact] + [Trait("Category", "ProjectGeneration")] + public async Task TestDefaultNotPolluted() + { + using var sandbox = await TemplateSandbox("false"); + sandbox.FileExists("Directory.Build.props").Should().BeFalse(); + } + protected override async Task AssertProjectGeneration(ProjectOptions options) { await base.AssertProjectGeneration(options); + Sandbox.FileExists(".gitignore").Should().BeTrue(); Sandbox.FileExists("app.config").Should().BeTrue(); + Sandbox.FileExists($"{Sandbox.Name}.slnx").Should().BeTrue(); + Sandbox.FileExists($"{Sandbox.Name}.csproj").Should().BeTrue(); + Sandbox.FileExists($"{Sandbox.Name}.http").Should().BeTrue(); + Sandbox.FileExists("Program.cs").Should().BeTrue(); if (options.IsUnstableVersion) { diff --git a/test/NetCoreTool.Template.WebApi.Test/LoggingDynamicSerilogOptionTest.cs b/test/NetCoreTool.Template.WebApi.Test/LoggingDynamicSerilogOptionTest.cs index 6e22656..5f6ed66 100644 --- a/test/NetCoreTool.Template.WebApi.Test/LoggingDynamicSerilogOptionTest.cs +++ b/test/NetCoreTool.Template.WebApi.Test/LoggingDynamicSerilogOptionTest.cs @@ -5,7 +5,7 @@ namespace Steeltoe.NetCoreTool.Template.WebApi.Test; public class LoggingDynamicSerilogOptionTest(ITestOutputHelper logger) - : ProjectOptionTest("logging-dynamic-serilog", "Enable dynamically changing minimum levels at runtime using Serlog.", logger) + : ProjectOptionTest("logging-dynamic-serilog", "Enable dynamically changing minimum levels at runtime using Serilog.", logger) { protected override void AssertPackageReferencesHook(ProjectOptions options, List<(string, string)> packages) { diff --git a/test/NetCoreTool.Template.WebApi.Test/MessagingRabbitMqClientOptionTest.cs b/test/NetCoreTool.Template.WebApi.Test/MessagingRabbitMqClientOptionTest.cs index 663c806..8f9480f 100644 --- a/test/NetCoreTool.Template.WebApi.Test/MessagingRabbitMqClientOptionTest.cs +++ b/test/NetCoreTool.Template.WebApi.Test/MessagingRabbitMqClientOptionTest.cs @@ -1,6 +1,4 @@ using System.Collections.Generic; -using System.Threading.Tasks; -using FluentAssertions; using Steeltoe.NetCoreTool.Template.WebApi.Test.Models; using Xunit.Abstractions; diff --git a/test/NetCoreTool.Template.WebApi.Test/MessagingRabbitMqListenerOptionTest.cs b/test/NetCoreTool.Template.WebApi.Test/MessagingRabbitMqListenerOptionTest.cs index d1f8da3..e7ff72a 100644 --- a/test/NetCoreTool.Template.WebApi.Test/MessagingRabbitMqListenerOptionTest.cs +++ b/test/NetCoreTool.Template.WebApi.Test/MessagingRabbitMqListenerOptionTest.cs @@ -1,5 +1,4 @@ using System.Collections.Generic; -using System.IO; using System.Threading.Tasks; using FluentAssertions; using Steeltoe.NetCoreTool.Template.WebApi.Test.Models; diff --git a/test/NetCoreTool.Template.WebApi.Test/TemplateTest.cs b/test/NetCoreTool.Template.WebApi.Test/TemplateTest.cs index 970de22..6d40d90 100644 --- a/test/NetCoreTool.Template.WebApi.Test/TemplateTest.cs +++ b/test/NetCoreTool.Template.WebApi.Test/TemplateTest.cs @@ -29,7 +29,7 @@ protected TemplateTest(string option, string description, ITestOutputHelper logg [Trait("Category", "Smoke")] public async Task Smoke_Test() { - Logger.WriteLine($"smoke testing help"); + Logger.WriteLine("smoke testing help"); using var helpBox = await TemplateSandbox("--help"); if (Option != null) @@ -42,7 +42,7 @@ public async Task Smoke_Test() helpBox.CommandOutput.Should().Contain(Description); } - Logger.WriteLine($"smoke testing option"); + Logger.WriteLine("smoke testing option"); using var smokeBox = await TemplateSandbox($"{GetSmokeTestArgs()}"); } diff --git a/test/NetCoreTool.Template.WebApi.Test/Utilities/Command.cs b/test/NetCoreTool.Template.WebApi.Test/Utilities/Command.cs index 20381e4..3e96344 100644 --- a/test/NetCoreTool.Template.WebApi.Test/Utilities/Command.cs +++ b/test/NetCoreTool.Template.WebApi.Test/Utilities/Command.cs @@ -76,7 +76,7 @@ public class Command var output = $"{outputBuilder}${errorBuilder}"; // if (process.ExitCode != 0) // { - // throw new Exception($"'{command}' exited with exit code {process.ExitCode}:\n\n{output}"); + // throw new Exception($"'{command}' exited with exit code {process.ExitCode}:\n\n{output}"); // } return (process.ExitCode, output); diff --git a/test/NetCoreTool.Template.WebApi.Test/Utilities/Sandbox.cs b/test/NetCoreTool.Template.WebApi.Test/Utilities/Sandbox.cs index 8bc94e7..58ad458 100644 --- a/test/NetCoreTool.Template.WebApi.Test/Utilities/Sandbox.cs +++ b/test/NetCoreTool.Template.WebApi.Test/Utilities/Sandbox.cs @@ -9,7 +9,7 @@ namespace Steeltoe.NetCoreTool.Template.WebApi.Test.Utilities { public class Sandbox : TempDirectory { - private static JsonSerializerOptions Options { get; } = new JsonSerializerOptions + private static JsonSerializerOptions Options { get; } = new() { PropertyNameCaseInsensitive = true, ReadCommentHandling = JsonCommentHandling.Skip, @@ -21,13 +21,10 @@ public class Sandbox : TempDirectory public string CommandOutput { get; private set; } - public string Name - { - get => System.IO.Path.GetFileName(Path); - } + public string Name => System.IO.Path.GetFileName(Path); public Sandbox(ITestOutputHelper logger) : base( - $"DotNetNewTemplatesSandboxes{System.IO.Path.DirectorySeparatorChar}P_{Guid.NewGuid().ToString().Replace("-", "_")}") + $"DotNetNewTemplatesSandboxes{System.IO.Path.DirectorySeparatorChar}P_{Guid.NewGuid():N}") { _logger = logger; _logger.WriteLine($"sandbox: {Name}"); diff --git a/test/NetCoreTool.Template.WebApi.Test/Utilities/SteeltoeWebApiTemplateInstaller.cs b/test/NetCoreTool.Template.WebApi.Test/Utilities/SteeltoeWebApiTemplateInstaller.cs index e77f585..5ebabc2 100644 --- a/test/NetCoreTool.Template.WebApi.Test/Utilities/SteeltoeWebApiTemplateInstaller.cs +++ b/test/NetCoreTool.Template.WebApi.Test/Utilities/SteeltoeWebApiTemplateInstaller.cs @@ -13,29 +13,31 @@ public void Install() Installer.EnsureInstalled(logger); } - private class Installer + private static class Installer { static Installer() { - var p = Process.Start( + var process = Process.Start( new ProcessStartInfo { FileName = "dotnet", Arguments = $"new uninstall {Directory.GetCurrentDirectory()}/../../../../../src/Content", } ); - Assert.NotNull(p); - p.WaitForExit(); - p = Process.Start( + Assert.NotNull(process); + + process.WaitForExit(); + process = Process.Start( new ProcessStartInfo { FileName = "dotnet", Arguments = $"new install {Directory.GetCurrentDirectory()}/../../../../../src/Content", } ); - p.Should().NotBeNull(); - p.WaitForExit(); - p.ExitCode.Should().Be(0); + Assert.NotNull(process); + + process.WaitForExit(); + process.ExitCode.Should().Be(0); } internal static void EnsureInstalled(ITestOutputHelper logger)