From 1bf380d860437e221a6d030afc0e7b45f19a1a96 Mon Sep 17 00:00:00 2001 From: Nicholas Blumhardt Date: Mon, 29 Apr 2024 10:42:53 +1000 Subject: [PATCH 1/2] Use required keyword; ordinal string comparison --- src/Roastery/Data/Database.cs | 1 - src/Roastery/Web/RequestLoggingMiddleware.cs | 1 - src/SeqCli/Cli/CommandMetadata.cs | 4 ++-- src/SeqCli/Cli/Commands/AppInstance/CreateCommand.cs | 2 +- src/SeqCli/Cli/Commands/Bench/QueryBenchCase.cs | 4 ++-- src/SeqCli/Cli/Commands/LogCommand.cs | 2 +- src/SeqCli/Sample/Loader/Simulation.cs | 1 - src/SeqCli/Syntax/DurationMoniker.cs | 2 +- src/SeqCli/Templates/Import/TemplateSetImporter.cs | 3 ++- 9 files changed, 9 insertions(+), 11 deletions(-) diff --git a/src/Roastery/Data/Database.cs b/src/Roastery/Data/Database.cs index 067dea7b..a166d5b7 100644 --- a/src/Roastery/Data/Database.cs +++ b/src/Roastery/Data/Database.cs @@ -9,7 +9,6 @@ using Serilog; using Serilog.Events; using SerilogTracing; -using SerilogTracing.Instrumentation; namespace Roastery.Data; diff --git a/src/Roastery/Web/RequestLoggingMiddleware.cs b/src/Roastery/Web/RequestLoggingMiddleware.cs index ea55f25f..f0cdb784 100644 --- a/src/Roastery/Web/RequestLoggingMiddleware.cs +++ b/src/Roastery/Web/RequestLoggingMiddleware.cs @@ -5,7 +5,6 @@ using Serilog.Context; using Serilog.Events; using SerilogTracing; -using SerilogTracing.Instrumentation; namespace Roastery.Web; diff --git a/src/SeqCli/Cli/CommandMetadata.cs b/src/SeqCli/Cli/CommandMetadata.cs index e691cce7..0feed60e 100644 --- a/src/SeqCli/Cli/CommandMetadata.cs +++ b/src/SeqCli/Cli/CommandMetadata.cs @@ -16,8 +16,8 @@ namespace SeqCli.Cli; public class CommandMetadata : ICommandMetadata { - public string Name { get; set; } = null!; + public required string Name { get; set; } public string? SubCommand { get; set; } - public string HelpText { get; set; } = null!; + public required string HelpText { get; set; } public string? Example { get; set; } } \ No newline at end of file diff --git a/src/SeqCli/Cli/Commands/AppInstance/CreateCommand.cs b/src/SeqCli/Cli/Commands/AppInstance/CreateCommand.cs index 9bc2edee..5b71c2cc 100644 --- a/src/SeqCli/Cli/Commands/AppInstance/CreateCommand.cs +++ b/src/SeqCli/Cli/Commands/AppInstance/CreateCommand.cs @@ -116,4 +116,4 @@ bool ValidateSettingName(string settingName) return 0; } -} \ No newline at end of file +} diff --git a/src/SeqCli/Cli/Commands/Bench/QueryBenchCase.cs b/src/SeqCli/Cli/Commands/Bench/QueryBenchCase.cs index 42fcaa99..ce31c26e 100644 --- a/src/SeqCli/Cli/Commands/Bench/QueryBenchCase.cs +++ b/src/SeqCli/Cli/Commands/Bench/QueryBenchCase.cs @@ -18,8 +18,8 @@ namespace SeqCli.Cli.Commands.Bench; class QueryBenchCase { - public string Id { get; set; } = null!; - public string Query { get; set; } = null!; + public required string Id { get; set; } + public required string Query { get; set; } public string? SignalExpression { get; set; } // Not used programmatically at this time. diff --git a/src/SeqCli/Cli/Commands/LogCommand.cs b/src/SeqCli/Cli/Commands/LogCommand.cs index ee79356c..536245a9 100644 --- a/src/SeqCli/Cli/Commands/LogCommand.cs +++ b/src/SeqCli/Cli/Commands/LogCommand.cs @@ -86,7 +86,7 @@ protected override async Task Run() continue; var name = key.Trim(); - if (name.StartsWith("@")) + if (name.StartsWith('@')) name = $"@{name}"; payload[name] = new JValue(value); diff --git a/src/SeqCli/Sample/Loader/Simulation.cs b/src/SeqCli/Sample/Loader/Simulation.cs index 56f5a37d..fba0a939 100644 --- a/src/SeqCli/Sample/Loader/Simulation.cs +++ b/src/SeqCli/Sample/Loader/Simulation.cs @@ -17,7 +17,6 @@ using Seq.Api; using SeqCli.Ingestion; using Serilog; -using SerilogTracing; namespace SeqCli.Sample.Loader; diff --git a/src/SeqCli/Syntax/DurationMoniker.cs b/src/SeqCli/Syntax/DurationMoniker.cs index 59919600..c02a2398 100644 --- a/src/SeqCli/Syntax/DurationMoniker.cs +++ b/src/SeqCli/Syntax/DurationMoniker.cs @@ -50,7 +50,7 @@ public static TimeSpan ToTimeSpan(string duration) // This is not at all robust; we could use a decent duration parser for use here in `seqcli`. - if (duration.EndsWith("ms")) + if (duration.EndsWith("ms", StringComparison.Ordinal)) return TimeSpan.FromMilliseconds(int.Parse(duration[..^2])); var value = int.Parse(duration[..^1], CultureInfo.InvariantCulture); diff --git a/src/SeqCli/Templates/Import/TemplateSetImporter.cs b/src/SeqCli/Templates/Import/TemplateSetImporter.cs index dd04ce6d..91b76add 100644 --- a/src/SeqCli/Templates/Import/TemplateSetImporter.cs +++ b/src/SeqCli/Templates/Import/TemplateSetImporter.cs @@ -39,7 +39,8 @@ static class TemplateSetImporter bool merge) { var ordering = new[] {"users", "signals", "apps", "appinstances", - "dashboards", "sqlqueries", "workspaces", "retentionpolicies", "alerts", "expressionindexes"}.ToList(); + "dashboards", "sqlqueries", "workspaces", "retentionpolicies", + "alerts", "expressionindexes"}.ToList(); var sorted = templates.OrderBy(t => ordering.IndexOf(t.ResourceGroup)); From fd94db46c845d5173d13dab887bc1dea1f27dbb0 Mon Sep 17 00:00:00 2001 From: Nicholas Blumhardt Date: Mon, 29 Apr 2024 11:03:11 +1000 Subject: [PATCH 2/2] Fixes in test project --- test/SeqCli.Tests/Cli/CommandLineHostTests.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/test/SeqCli.Tests/Cli/CommandLineHostTests.cs b/test/SeqCli.Tests/Cli/CommandLineHostTests.cs index 9d9ba88a..fdd0b28f 100644 --- a/test/SeqCli.Tests/Cli/CommandLineHostTests.cs +++ b/test/SeqCli.Tests/Cli/CommandLineHostTests.cs @@ -20,10 +20,10 @@ public async Task CheckCommandLineHostPicksCorrectCommand() { new( new Lazy(() => new ActionCommand(() => executed.Add("test"))), - new CommandMetadata {Name = "test"}), + new CommandMetadata {Name = "test", HelpText = "help"}), new( new Lazy(() => new ActionCommand(() => executed.Add("test2"))), - new CommandMetadata {Name = "test2"}) + new CommandMetadata {Name = "test2", HelpText = "help"}) }; var commandLineHost = new CommandLineHost(availableCommands); await commandLineHost.Run(new []{ "test"},new LoggingLevelSwitch()); @@ -40,10 +40,10 @@ public async Task WhenMoreThanOneSubcommandAndTheUserRunsWithSubcommandEnsurePic { new( new Lazy(() => new ActionCommand(() => commandsRan.Add("test-subcommand1"))), - new CommandMetadata {Name = "test", SubCommand = "subcommand1"}), + new CommandMetadata {Name = "test", SubCommand = "subcommand1", HelpText = "help"}), new( new Lazy(() => new ActionCommand(() => commandsRan.Add("test-subcommand2"))), - new CommandMetadata {Name = "test", SubCommand = "subcommand2"}) + new CommandMetadata {Name = "test", SubCommand = "subcommand2", HelpText = "help"}) }; var commandLineHost = new CommandLineHost(availableCommands); await commandLineHost.Run(new[] { "test", "subcommand2" }, new LoggingLevelSwitch()); @@ -61,12 +61,12 @@ public async Task VerboseOptionSetsLoggingLevelToInformation() { new( new Lazy(() => new ActionCommand(() => { })), - new CommandMetadata {Name = "test"}) + new CommandMetadata {Name = "test", HelpText = "help"}) }; var commandLineHost = new CommandLineHost(availableCommands); - await commandLineHost.Run(new[] { "test", "--verbose" }, levelSwitch); + await commandLineHost.Run(["test", "--verbose"], levelSwitch); Assert.Equal(LogEventLevel.Information, levelSwitch.MinimumLevel); }