From c8fe4e3c9bd9b634e59f2e3625c1298d2a0390c3 Mon Sep 17 00:00:00 2001 From: Christian Kadluba <10721825+ckadluba@users.noreply.github.com> Date: Thu, 23 Apr 2020 21:33:36 +0200 Subject: [PATCH] Added test categories. --- .../AdditionalPropertiesTests.cs | 1 + .../Hybrid/ConfigurationExtensionsTests.cs | 1 + ...ConfigurationMSSqlServerExtensionsTests.cs | 2 + .../ConfigurationExtensionsTests.cs | 1 + ...ConfigurationMSSqlServerExtensionsTests.cs | 2 + ...lyMicrosoftExtensionsConfigurationTests.cs | 2 + ...oftExtensionsColumnOptionsProviderTests.cs | 2 + ...ExtensionsConnectionStringProviderTests.cs | 2 + ...osoftExtensionsSinkOptionsProviderTests.cs | 3 +- .../ApplySystemConfigurationTests.cs | 2 + .../CustomStandardColumnNamesTests.cs | 85 ++++++++++--------- .../IndexingFeaturesTests.cs | 13 +-- .../LevelAsEnumTests.cs | 25 +++--- .../MiscFeaturesTests.cs | 39 ++++----- .../PropertiesColumnFilteringTests.cs | 13 +-- .../Serilog.Sinks.MSSqlServer.Tests.csproj | 12 --- .../TimeStampColumnOptionsTests.cs | 14 +-- .../MSSqlServer/MSSqlServerSinkTraitsTests.cs | 2 + .../MSSqlServer/Options/SinkOptionsTests.cs | 2 + .../Output/JsonLogEventFormatterTests.cs | 32 +++---- ...ureManagedServiceAuthenticatorStubTests.cs | 2 + .../AzureManagedServiceAuthenticatorTests.cs | 1 + .../Platform/SqlConnectionFactoryTests.cs | 1 + .../Platform/SqlCreateTableWriterTests.cs | 2 + .../Platform/SqlTableCreatorTests.cs | 3 + .../SqlTypesTests.cs | 1 + .../TestUtils/DatabaseTestsBase.cs | 2 +- .../PatientSecureFixtureCollection.cs | 2 +- .../TestUtils/TestCategory.cs | 10 +++ .../TimeStampTests.cs | 19 +++-- .../TriggersOnLogTableTests.cs | 21 ++--- 31 files changed, 179 insertions(+), 140 deletions(-) create mode 100644 test/Serilog.Sinks.MSSqlServer.Tests/TestUtils/TestCategory.cs diff --git a/test/Serilog.Sinks.MSSqlServer.Tests/AdditionalPropertiesTests.cs b/test/Serilog.Sinks.MSSqlServer.Tests/AdditionalPropertiesTests.cs index fbfdf303..d05ba4d4 100644 --- a/test/Serilog.Sinks.MSSqlServer.Tests/AdditionalPropertiesTests.cs +++ b/test/Serilog.Sinks.MSSqlServer.Tests/AdditionalPropertiesTests.cs @@ -7,6 +7,7 @@ namespace Serilog.Sinks.MSSqlServer.Tests { + [Trait(TestCategory.TraitName, TestCategory.Integration)] public class AdditionalPropertiesTests : DatabaseTestsBase { public AdditionalPropertiesTests(ITestOutputHelper output) : base(output) diff --git a/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Extensions/Hybrid/ConfigurationExtensionsTests.cs b/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Extensions/Hybrid/ConfigurationExtensionsTests.cs index 9eca5d17..4541f775 100644 --- a/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Extensions/Hybrid/ConfigurationExtensionsTests.cs +++ b/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Extensions/Hybrid/ConfigurationExtensionsTests.cs @@ -7,6 +7,7 @@ namespace Serilog.Sinks.MSSqlServer.Tests.Configuration.Extensions.Hybrid { + [Trait(TestCategory.TraitName, TestCategory.Integration)] public class ConfigurationExtensionsTests : DatabaseTestsBase { private const string _connectionStringName = "NamedConnection"; diff --git a/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Extensions/Hybrid/LoggerConfigurationMSSqlServerExtensionsTests.cs b/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Extensions/Hybrid/LoggerConfigurationMSSqlServerExtensionsTests.cs index 55124063..7b53efb4 100644 --- a/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Extensions/Hybrid/LoggerConfigurationMSSqlServerExtensionsTests.cs +++ b/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Extensions/Hybrid/LoggerConfigurationMSSqlServerExtensionsTests.cs @@ -5,10 +5,12 @@ using Serilog.Formatting; using Serilog.Sinks.MSSqlServer.Configuration.Factories; using Serilog.Sinks.MSSqlServer.Sinks.MSSqlServer.Options; +using Serilog.Sinks.MSSqlServer.Tests.TestUtils; using Xunit; namespace Serilog.Sinks.MSSqlServer.Tests.Configuration.Extensions.Hybrid { + [Trait(TestCategory.TraitName, TestCategory.Unit)] public class LoggerConfigurationMSSqlServerExtensionsTests { private readonly LoggerConfiguration _loggerConfiguration; diff --git a/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Extensions/System.Configuration/ConfigurationExtensionsTests.cs b/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Extensions/System.Configuration/ConfigurationExtensionsTests.cs index ef58ba7f..891a2f84 100644 --- a/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Extensions/System.Configuration/ConfigurationExtensionsTests.cs +++ b/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Extensions/System.Configuration/ConfigurationExtensionsTests.cs @@ -14,6 +14,7 @@ namespace Serilog.Sinks.MSSqlServer.Tests.Configuration.Extensions.System.Configuration { + [Trait(TestCategory.TraitName, TestCategory.Integration)] public class ConfigurationExtensionsTests : DatabaseTestsBase { public ConfigurationExtensionsTests(ITestOutputHelper output) : base(output) diff --git a/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Extensions/System.Configuration/LoggerConfigurationMSSqlServerExtensionsTests.cs b/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Extensions/System.Configuration/LoggerConfigurationMSSqlServerExtensionsTests.cs index c0a3f29a..a41bccb2 100644 --- a/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Extensions/System.Configuration/LoggerConfigurationMSSqlServerExtensionsTests.cs +++ b/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Extensions/System.Configuration/LoggerConfigurationMSSqlServerExtensionsTests.cs @@ -4,10 +4,12 @@ using Serilog.Formatting; using Serilog.Sinks.MSSqlServer.Configuration.Factories; using Serilog.Sinks.MSSqlServer.Sinks.MSSqlServer.Options; +using Serilog.Sinks.MSSqlServer.Tests.TestUtils; using Xunit; namespace Serilog.Sinks.MSSqlServer.Tests.Configuration.Extensions.System.Configuration { + [Trait(TestCategory.TraitName, TestCategory.Unit)] public class LoggerConfigurationMSSqlServerExtensionsTests { private readonly LoggerConfiguration _loggerConfiguration; diff --git a/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Implementations/Microsoft.Extensions.Configuration/ApplyMicrosoftExtensionsConfigurationTests.cs b/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Implementations/Microsoft.Extensions.Configuration/ApplyMicrosoftExtensionsConfigurationTests.cs index 38dab3e3..8a71af55 100644 --- a/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Implementations/Microsoft.Extensions.Configuration/ApplyMicrosoftExtensionsConfigurationTests.cs +++ b/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Implementations/Microsoft.Extensions.Configuration/ApplyMicrosoftExtensionsConfigurationTests.cs @@ -2,10 +2,12 @@ using Moq; using Serilog.Sinks.MSSqlServer.Configuration; using Serilog.Sinks.MSSqlServer.Sinks.MSSqlServer.Options; +using Serilog.Sinks.MSSqlServer.Tests.TestUtils; using Xunit; namespace Serilog.Sinks.MSSqlServer.Tests.Configuration.Implementations.Microsoft.Extensions.Configuration { + [Trait(TestCategory.TraitName, TestCategory.Unit)] public class ApplyMicrosoftExtensionsConfigurationTests { [Fact] diff --git a/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Implementations/Microsoft.Extensions.Configuration/MicrosoftExtensionsColumnOptionsProviderTests.cs b/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Implementations/Microsoft.Extensions.Configuration/MicrosoftExtensionsColumnOptionsProviderTests.cs index 125ce645..24cb4ed1 100644 --- a/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Implementations/Microsoft.Extensions.Configuration/MicrosoftExtensionsColumnOptionsProviderTests.cs +++ b/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Implementations/Microsoft.Extensions.Configuration/MicrosoftExtensionsColumnOptionsProviderTests.cs @@ -5,10 +5,12 @@ using Microsoft.Extensions.Configuration; using Moq; using Serilog.Sinks.MSSqlServer.Configuration; +using Serilog.Sinks.MSSqlServer.Tests.TestUtils; using Xunit; namespace Serilog.Sinks.MSSqlServer.Tests.Configuration.Implementations.Microsoft.Extensions.Configuration { + [Trait(TestCategory.TraitName, TestCategory.Unit)] public class MicrosoftExtensionsColumnOptionsProviderTests { private Mock _configurationSectionMock; diff --git a/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Implementations/Microsoft.Extensions.Configuration/MicrosoftExtensionsConnectionStringProviderTests.cs b/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Implementations/Microsoft.Extensions.Configuration/MicrosoftExtensionsConnectionStringProviderTests.cs index 56f1f12a..8c5438c6 100644 --- a/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Implementations/Microsoft.Extensions.Configuration/MicrosoftExtensionsConnectionStringProviderTests.cs +++ b/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Implementations/Microsoft.Extensions.Configuration/MicrosoftExtensionsConnectionStringProviderTests.cs @@ -1,10 +1,12 @@ using Microsoft.Extensions.Configuration; using Moq; using Serilog.Sinks.MSSqlServer.Configuration; +using Serilog.Sinks.MSSqlServer.Tests.TestUtils; using Xunit; namespace Serilog.Sinks.MSSqlServer.Tests.Configuration.Implementations.Microsoft.Extensions.Configuration { + [Trait(TestCategory.TraitName, TestCategory.Unit)] public class MicrosoftExtensionsConnectionStringProviderTests { [Fact] diff --git a/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Implementations/Microsoft.Extensions.Configuration/MicrosoftExtensionsSinkOptionsProviderTests.cs b/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Implementations/Microsoft.Extensions.Configuration/MicrosoftExtensionsSinkOptionsProviderTests.cs index c338533d..1a4f5499 100644 --- a/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Implementations/Microsoft.Extensions.Configuration/MicrosoftExtensionsSinkOptionsProviderTests.cs +++ b/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Implementations/Microsoft.Extensions.Configuration/MicrosoftExtensionsSinkOptionsProviderTests.cs @@ -1,14 +1,15 @@ using System; using System.Globalization; using Microsoft.Extensions.Configuration; -using Microsoft.VisualStudio.TestPlatform.Common.Utilities; using Moq; using Serilog.Sinks.MSSqlServer.Configuration; using Serilog.Sinks.MSSqlServer.Sinks.MSSqlServer.Options; +using Serilog.Sinks.MSSqlServer.Tests.TestUtils; using Xunit; namespace Serilog.Sinks.MSSqlServer.Tests.Configuration.Implementations.Microsoft.Extensions.Configuration { + [Trait(TestCategory.TraitName, TestCategory.Unit)] public class MicrosoftExtensionsSinkOptionsProviderTests { private readonly Mock _configurationSectionMock; diff --git a/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Implementations/System.Configuration/ApplySystemConfigurationTests.cs b/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Implementations/System.Configuration/ApplySystemConfigurationTests.cs index 29ef9f9a..ae990e38 100644 --- a/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Implementations/System.Configuration/ApplySystemConfigurationTests.cs +++ b/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Implementations/System.Configuration/ApplySystemConfigurationTests.cs @@ -2,10 +2,12 @@ using Serilog.Configuration; using Serilog.Sinks.MSSqlServer.Configuration; using Serilog.Sinks.MSSqlServer.Sinks.MSSqlServer.Options; +using Serilog.Sinks.MSSqlServer.Tests.TestUtils; using Xunit; namespace Serilog.Sinks.MSSqlServer.Tests.Configuration.Implementations.System.Configuration { + [Trait(TestCategory.TraitName, TestCategory.Unit)] public class ApplySystemConfigurationTests { [Fact] diff --git a/test/Serilog.Sinks.MSSqlServer.Tests/CustomStandardColumnNamesTests.cs b/test/Serilog.Sinks.MSSqlServer.Tests/CustomStandardColumnNamesTests.cs index 765d211a..e662d96c 100644 --- a/test/Serilog.Sinks.MSSqlServer.Tests/CustomStandardColumnNamesTests.cs +++ b/test/Serilog.Sinks.MSSqlServer.Tests/CustomStandardColumnNamesTests.cs @@ -11,6 +11,7 @@ namespace Serilog.Sinks.MSSqlServer.Tests { + [Trait(TestCategory.TraitName, TestCategory.Integration)] public class CustomStandardColumnNamesTests : DatabaseTestsBase { public CustomStandardColumnNamesTests(ITestOutputHelper output) : base(output) @@ -20,16 +21,16 @@ public CustomStandardColumnNamesTests(ITestOutputHelper output) : base(output) [Fact] public void CustomIdColumnLegacyInterface() { - // arrange + // Arrange var options = new ColumnOptions(); var customIdName = "CustomIdName"; options.Id.ColumnName = customIdName; - // act + // Act using (var sink = new MSSqlServerSink(DatabaseFixture.LogEventsConnectionString, DatabaseFixture.LogTableName, 1, TimeSpan.FromSeconds(1), null, true, options, "dbo", null)) { } - // assert + // Assert VerifyIdColumnWasCreatedAndHasIdentity(customIdName); } @@ -60,24 +61,24 @@ public void CustomIdColumnSinkOptionsInterface() [Fact] public void DefaultIdColumnLegacyInterface() { - // arrange + // Arrange var options = new ColumnOptions(); - // act + // Act using (var sink = new MSSqlServerSink(DatabaseFixture.LogEventsConnectionString, DatabaseFixture.LogTableName, 1, TimeSpan.FromSeconds(1), null, true, options, "dbo", null)) { } - // assert + // Assert VerifyIdColumnWasCreatedAndHasIdentity(); } [Fact] public void DefaultIdColumnSinkOptionsInterface() { - // arrange + // Arrange var columnOptions = new ColumnOptions(); - // act + // Act using (var sink = new MSSqlServerSink(DatabaseFixture.LogEventsConnectionString, new SinkOptions { @@ -89,14 +90,14 @@ public void DefaultIdColumnSinkOptionsInterface() null, columnOptions, null)) { } - // assert + // Assert VerifyIdColumnWasCreatedAndHasIdentity(); } [Fact] public void TableCreatedWithCustomNamesLegacyInterface() { - // arrange + // Arrange var options = new ColumnOptions(); var standardNames = new List { "CustomMessage", "CustomMessageTemplate", "CustomLevel", "CustomTimeStamp", "CustomException", "CustomProperties" }; @@ -107,18 +108,18 @@ public void TableCreatedWithCustomNamesLegacyInterface() options.Exception.ColumnName = "CustomException"; options.Properties.ColumnName = "CustomProperties"; - // act + // Act using (var sink = new MSSqlServerSink(DatabaseFixture.LogEventsConnectionString, DatabaseFixture.LogTableName, 1, TimeSpan.FromSeconds(1), null, true, options, "dbo", null)) { } - // assert + // Assert VerifyDatabaseColumnsWereCreated(standardNames); } [Fact] public void TableCreatedWithCustomNamesSinkOptionsInterface() { - // arrange + // Arrange var columnOptions = new ColumnOptions(); var standardNames = new List { "CustomMessage", "CustomMessageTemplate", "CustomLevel", "CustomTimeStamp", "CustomException", "CustomProperties" }; @@ -129,7 +130,7 @@ public void TableCreatedWithCustomNamesSinkOptionsInterface() columnOptions.Exception.ColumnName = "CustomException"; columnOptions.Properties.ColumnName = "CustomProperties"; - // act + // Act using (var sink = new MSSqlServerSink(DatabaseFixture.LogEventsConnectionString, new SinkOptions { @@ -141,33 +142,33 @@ public void TableCreatedWithCustomNamesSinkOptionsInterface() null, columnOptions, null)) { } - // assert + // Assert VerifyDatabaseColumnsWereCreated(standardNames); } [Fact] public void TableCreatedWithDefaultNamesLegacyInterface() { - // arrange + // Arrange var options = new ColumnOptions(); var standardNames = new List { "Message", "MessageTemplate", "Level", "TimeStamp", "Exception", "Properties" }; - // act + // Act using (var sink = new MSSqlServerSink(DatabaseFixture.LogEventsConnectionString, DatabaseFixture.LogTableName, 1, TimeSpan.FromSeconds(1), null, true, options, "dbo", null)) { } - // assert + // Assert VerifyDatabaseColumnsWereCreated(standardNames); } [Fact] public void TableCreatedWithDefaultNamesSinkOptionsInterface() { - // arrange + // Arrange var columnOptions = new ColumnOptions(); var standardNames = new List { "Message", "MessageTemplate", "Level", "TimeStamp", "Exception", "Properties" }; - // act + // Act using (var sink = new MSSqlServerSink(DatabaseFixture.LogEventsConnectionString, new SinkOptions { @@ -179,14 +180,14 @@ public void TableCreatedWithDefaultNamesSinkOptionsInterface() null, columnOptions, null)) { } - // assert + // Assert VerifyDatabaseColumnsWereCreated(standardNames); } [Fact] public void WriteEventToCustomStandardColumnsLegacyInterface() { - // arrange + // Arrange var options = new ColumnOptions(); options.Message.ColumnName = "CustomMessage"; @@ -205,7 +206,7 @@ public void WriteEventToCustomStandardColumnsLegacyInterface() columnOptions: options) .CreateLogger(); - // act + // Act const string loggingInformationMessage = "Logging Information message"; using (var file = File.CreateText("CustomColumnsEvent.Self.log")) { @@ -214,14 +215,14 @@ public void WriteEventToCustomStandardColumnsLegacyInterface() Log.CloseAndFlush(); } - // assert + // Assert VerifyCustomLogMessageWasWritten(loggingInformationMessage); } [Fact] public void WriteEventToCustomStandardColumnsSinkOptionsInterface() { - // arrange + // Arrange var options = new ColumnOptions(); options.Message.ColumnName = "CustomMessage"; @@ -243,7 +244,7 @@ public void WriteEventToCustomStandardColumnsSinkOptionsInterface() columnOptions: options) .CreateLogger(); - // act + // Act const string loggingInformationMessage = "Logging Information message"; using (var file = File.CreateText("CustomColumnsEvent.Self.log")) { @@ -252,14 +253,14 @@ public void WriteEventToCustomStandardColumnsSinkOptionsInterface() Log.CloseAndFlush(); } - // assert + // Assert VerifyCustomLogMessageWasWritten(loggingInformationMessage); } [Fact] public void WriteEventToDefaultStandardColumnsLegacyInterface() { - // arrange + // Arrange var loggerConfiguration = new LoggerConfiguration(); Log.Logger = loggerConfiguration.WriteTo.MSSqlServer( connectionString: DatabaseFixture.LogEventsConnectionString, @@ -271,7 +272,7 @@ public void WriteEventToDefaultStandardColumnsLegacyInterface() .CreateLogger(); - // act + // Act const string loggingInformationMessage = "Logging Information message"; using (var file = File.CreateText("StandardColumns.Self.log")) { @@ -280,14 +281,14 @@ public void WriteEventToDefaultStandardColumnsLegacyInterface() Log.CloseAndFlush(); } - // assert + // Assert VerifyLogMessageWasWritten(loggingInformationMessage); } [Fact] public void WriteEventToDefaultStandardColumnsSinkOptionsInterface() { - // arrange + // Arrange var loggerConfiguration = new LoggerConfiguration(); Log.Logger = loggerConfiguration.WriteTo.MSSqlServer( connectionString: DatabaseFixture.LogEventsConnectionString, @@ -302,7 +303,7 @@ public void WriteEventToDefaultStandardColumnsSinkOptionsInterface() .CreateLogger(); - // act + // Act const string loggingInformationMessage = "Logging Information message"; using (var file = File.CreateText("StandardColumns.Self.log")) { @@ -311,14 +312,14 @@ public void WriteEventToDefaultStandardColumnsSinkOptionsInterface() Log.CloseAndFlush(); } - // assert + // Assert VerifyLogMessageWasWritten(loggingInformationMessage); } [Fact] public void AuditEventToCustomStandardColumnsLegacyInterface() { - // arrange + // Arrange var options = new ColumnOptions(); options.Message.ColumnName = "CustomMessage"; @@ -337,7 +338,7 @@ public void AuditEventToCustomStandardColumnsLegacyInterface() columnOptions: options) .CreateLogger(); - // act + // Act const string loggingInformationMessage = "Logging Information message"; using (var file = File.CreateText("CustomColumnsAuditEvent.Self.log")) { @@ -346,14 +347,14 @@ public void AuditEventToCustomStandardColumnsLegacyInterface() Log.CloseAndFlush(); } - // assert + // Assert VerifyCustomLogMessageWasWritten(loggingInformationMessage); } [Fact] public void AuditEventToCustomStandardColumnsSinkOptionsInterface() { - // arrange + // Arrange var options = new ColumnOptions(); options.Message.ColumnName = "CustomMessage"; @@ -375,7 +376,7 @@ public void AuditEventToCustomStandardColumnsSinkOptionsInterface() columnOptions: options) .CreateLogger(); - // act + // Act const string loggingInformationMessage = "Logging Information message"; using (var file = File.CreateText("CustomColumnsAuditEvent.Self.log")) { @@ -384,14 +385,14 @@ public void AuditEventToCustomStandardColumnsSinkOptionsInterface() Log.CloseAndFlush(); } - // assert + // Assert VerifyCustomLogMessageWasWritten(loggingInformationMessage); } [Fact] public void AuditEventToDefaultStandardColumns() { - // arrange + // Arrange var loggerConfiguration = new LoggerConfiguration(); Log.Logger = loggerConfiguration.AuditTo.MSSqlServer( connectionString: DatabaseFixture.LogEventsConnectionString, @@ -400,7 +401,7 @@ public void AuditEventToDefaultStandardColumns() columnOptions: new ColumnOptions()) .CreateLogger(); - // act + // Act const string loggingInformationMessage = "Logging Information message"; using (var file = File.CreateText("StandardColumns.Audit.Self.log")) { @@ -410,7 +411,7 @@ public void AuditEventToDefaultStandardColumns() Log.CloseAndFlush(); } - // assert + // Assert VerifyLogMessageWasWritten(loggingInformationMessage); } diff --git a/test/Serilog.Sinks.MSSqlServer.Tests/IndexingFeaturesTests.cs b/test/Serilog.Sinks.MSSqlServer.Tests/IndexingFeaturesTests.cs index ed4d4b06..0758d17b 100644 --- a/test/Serilog.Sinks.MSSqlServer.Tests/IndexingFeaturesTests.cs +++ b/test/Serilog.Sinks.MSSqlServer.Tests/IndexingFeaturesTests.cs @@ -9,6 +9,7 @@ namespace Serilog.Sinks.MSSqlServer.Tests { + [Trait(TestCategory.TraitName, TestCategory.Integration)] public class IndexingFeaturesTests : DatabaseTestsBase { public IndexingFeaturesTests(ITestOutputHelper output) : base(output) @@ -18,7 +19,7 @@ public IndexingFeaturesTests(ITestOutputHelper output) : base(output) [Fact] public void NonClusteredDefaultIdPrimaryKey() { - // arrange + // Arrange var columnOptions = new ColumnOptions(); columnOptions.Id.NonClusteredIndex = true; @@ -35,7 +36,7 @@ public void NonClusteredDefaultIdPrimaryKey() .CreateLogger(); Log.CloseAndFlush(); - // assert + // Assert using (var conn = new SqlConnection(DatabaseFixture.LogEventsConnectionString)) { conn.Execute($"use {DatabaseFixture.Database}"); @@ -50,7 +51,7 @@ public void NonClusteredDefaultIdPrimaryKey() [Fact] public void AlternatePrimaryKey() { - // arrange + // Arrange var columnOptions = new ColumnOptions(); columnOptions.PrimaryKey = columnOptions.TimeStamp; @@ -67,7 +68,7 @@ public void AlternatePrimaryKey() .CreateLogger(); Log.CloseAndFlush(); - // assert + // Assert using (var conn = new SqlConnection(DatabaseFixture.LogEventsConnectionString)) { conn.Execute($"use {DatabaseFixture.Database}"); @@ -82,7 +83,7 @@ public void AlternatePrimaryKey() [Fact] public void ColumnstoreIndex() { - // arrange + // Arrange var columnOptions = new ColumnOptions(); // char MAX not supported prior to SQL2017 columnOptions.Exception.DataLength = 512; @@ -105,7 +106,7 @@ public void ColumnstoreIndex() .CreateLogger(); Log.CloseAndFlush(); - // assert + // Assert using (var conn = new SqlConnection(DatabaseFixture.LogEventsConnectionString)) { conn.Execute($"use {DatabaseFixture.Database}"); diff --git a/test/Serilog.Sinks.MSSqlServer.Tests/LevelAsEnumTests.cs b/test/Serilog.Sinks.MSSqlServer.Tests/LevelAsEnumTests.cs index 0e107ba9..ee0aed18 100644 --- a/test/Serilog.Sinks.MSSqlServer.Tests/LevelAsEnumTests.cs +++ b/test/Serilog.Sinks.MSSqlServer.Tests/LevelAsEnumTests.cs @@ -10,6 +10,7 @@ namespace Serilog.Sinks.MSSqlServer.Tests { + [Trait(TestCategory.TraitName, TestCategory.Integration)] public class LevelAsEnumTests : DatabaseTestsBase { public LevelAsEnumTests(ITestOutputHelper output) : base(output) @@ -19,7 +20,7 @@ public LevelAsEnumTests(ITestOutputHelper output) : base(output) [Fact] public void CanStoreLevelAsEnum() { - // arrange + // Arrange var loggerConfiguration = new LoggerConfiguration(); Log.Logger = loggerConfiguration.WriteTo.MSSqlServer( connectionString: DatabaseFixture.LogEventsConnectionString, @@ -30,7 +31,7 @@ public void CanStoreLevelAsEnum() columnOptions: new ColumnOptions { Level = { StoreAsEnum = true } }) .CreateLogger(); - // act + // Act const string loggingInformationMessage = "Logging Information message"; using (var file = File.CreateText("LevelAsEnum.True.Enum.Self.log")) { @@ -39,7 +40,7 @@ public void CanStoreLevelAsEnum() Log.CloseAndFlush(); } - // assert + // Assert using (var conn = new SqlConnection(DatabaseFixture.LogEventsConnectionString)) { var logEvents = conn.Query($"SELECT Message, Level FROM {DatabaseFixture.LogTableName}"); @@ -51,7 +52,7 @@ public void CanStoreLevelAsEnum() [Fact] public void CanStoreLevelAsString() { - // arrange + // Arrange var loggerConfiguration = new LoggerConfiguration(); Log.Logger = loggerConfiguration.WriteTo.MSSqlServer( connectionString: DatabaseFixture.LogEventsConnectionString, @@ -62,7 +63,7 @@ public void CanStoreLevelAsString() columnOptions: new ColumnOptions { Level = { StoreAsEnum = false } }) .CreateLogger(); - // act + // Act const string loggingInformationMessage = "Logging Information message"; using (var file = File.CreateText("LevelAsEnum.False.Self.log")) { @@ -71,7 +72,7 @@ public void CanStoreLevelAsString() Log.CloseAndFlush(); } - // assert + // Assert using (var conn = new SqlConnection(DatabaseFixture.LogEventsConnectionString)) { var logEvents = conn.Query($"SELECT Message, Level FROM {DatabaseFixture.LogTableName}"); @@ -83,7 +84,7 @@ public void CanStoreLevelAsString() [Fact] public void AuditCanStoreLevelAsEnum() { - // arrange + // Arrange var loggerConfiguration = new LoggerConfiguration(); Log.Logger = loggerConfiguration.AuditTo.MSSqlServer( connectionString: DatabaseFixture.LogEventsConnectionString, @@ -92,7 +93,7 @@ public void AuditCanStoreLevelAsEnum() columnOptions: new ColumnOptions { Level = { StoreAsEnum = true } }) .CreateLogger(); - // act + // Act const string loggingInformationMessage = "Logging Information message"; using (var file = File.CreateText("LevelAsEnum.Audit.True.Enum.Self.log")) { @@ -101,7 +102,7 @@ public void AuditCanStoreLevelAsEnum() Log.CloseAndFlush(); } - // assert + // Assert using (var conn = new SqlConnection(DatabaseFixture.LogEventsConnectionString)) { var logEvents = conn.Query($"SELECT Message, Level FROM {DatabaseFixture.LogTableName}"); @@ -113,7 +114,7 @@ public void AuditCanStoreLevelAsEnum() [Fact] public void AuditCanStoreLevelAsString() { - // arrange + // Arrange var loggerConfiguration = new LoggerConfiguration(); Log.Logger = loggerConfiguration.AuditTo.MSSqlServer( connectionString: DatabaseFixture.LogEventsConnectionString, @@ -122,7 +123,7 @@ public void AuditCanStoreLevelAsString() columnOptions: new ColumnOptions { Level = { StoreAsEnum = false } }) .CreateLogger(); - // act + // Act const string loggingInformationMessage = "Logging Information message"; using (var file = File.CreateText("LevelAsEnum.Audit.False.Self.log")) { @@ -131,7 +132,7 @@ public void AuditCanStoreLevelAsString() Log.CloseAndFlush(); } - // assert + // Assert using (var conn = new SqlConnection(DatabaseFixture.LogEventsConnectionString)) { var logEvents = conn.Query($"SELECT Message, Level FROM {DatabaseFixture.LogTableName}"); diff --git a/test/Serilog.Sinks.MSSqlServer.Tests/MiscFeaturesTests.cs b/test/Serilog.Sinks.MSSqlServer.Tests/MiscFeaturesTests.cs index 176aa0d8..eeb2d7ca 100644 --- a/test/Serilog.Sinks.MSSqlServer.Tests/MiscFeaturesTests.cs +++ b/test/Serilog.Sinks.MSSqlServer.Tests/MiscFeaturesTests.cs @@ -12,6 +12,7 @@ namespace Serilog.Sinks.MSSqlServer.Tests { + [Trait(TestCategory.TraitName, TestCategory.Integration)] public class MiscFeaturesTests : DatabaseTestsBase { public MiscFeaturesTests(ITestOutputHelper output) : base(output) @@ -25,7 +26,7 @@ public void LogEventExcludeAdditionalProperties() // meaning custom properties which have their own column. This was the original // meaning of the flag. Contrast with LogEventExcludeStandardProperties below. - // arrange + // Arrange var columnOptions = new ColumnOptions() { AdditionalColumns = new List @@ -49,7 +50,7 @@ public void LogEventExcludeAdditionalProperties() ) .CreateLogger(); - // act + // Act Log.Logger .ForContext("A", "AValue") .ForContext("B", "BValue") @@ -57,7 +58,7 @@ public void LogEventExcludeAdditionalProperties() Log.CloseAndFlush(); - // assert + // Assert using (var conn = new SqlConnection(DatabaseFixture.LogEventsConnectionString)) { var logEvents = conn.Query($"SELECT LogEvent from {DatabaseFixture.LogTableName}"); @@ -71,7 +72,7 @@ public void LogEventExcludeAdditionalProperties() [Fact] public void LogEventExcludeStandardColumns() { - // arrange + // Arrange var columnOptions = new ColumnOptions(); columnOptions.Store.Remove(StandardColumn.Properties); columnOptions.Store.Add(StandardColumn.LogEvent); @@ -89,14 +90,14 @@ public void LogEventExcludeStandardColumns() ) .CreateLogger(); - // act + // Act Log.Logger .ForContext("A", "AValue") .Information("Logging message"); Log.CloseAndFlush(); - // assert + // Assert using (var conn = new SqlConnection(DatabaseFixture.LogEventsConnectionString)) { var logEvents = conn.Query($"SELECT LogEvent from {DatabaseFixture.LogTableName}"); @@ -109,7 +110,7 @@ public void LogEventExcludeStandardColumns() [Fact] public void ExcludeIdColumn() { - // arrange + // Arrange var columnOptions = new ColumnOptions(); columnOptions.Store.Remove(StandardColumn.Id); @@ -126,7 +127,7 @@ public void ExcludeIdColumn() .CreateLogger(); Log.CloseAndFlush(); - // assert + // Assert using (var conn = new SqlConnection(DatabaseFixture.LogEventsConnectionString)) { conn.Execute($"use {DatabaseFixture.Database}"); @@ -141,7 +142,7 @@ public void ExcludeIdColumn() [Fact] public void BigIntIdColumn() { - // arrange + // Arrange var columnOptions = new ColumnOptions(); columnOptions.Id.DataType = SqlDbType.BigInt; @@ -158,7 +159,7 @@ public void BigIntIdColumn() .CreateLogger(); Log.CloseAndFlush(); - // assert + // Assert using (var conn = new SqlConnection(DatabaseFixture.LogEventsConnectionString)) { var query = conn.Query($@"SELECT DATA_TYPE AS DataType FROM {DatabaseFixture.Database}.INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '{DatabaseFixture.LogTableName}' AND COLUMN_NAME = '{columnOptions.Id.ColumnName}'"); @@ -172,7 +173,7 @@ public void BigIntIdColumn() [Fact] public void XmlPropertyColumn() { - // arrange + // Arrange var columnOptions = new ColumnOptions(); columnOptions.Properties.DataType = SqlDbType.Xml; @@ -189,7 +190,7 @@ public void XmlPropertyColumn() .CreateLogger(); Log.CloseAndFlush(); - // assert + // Assert using (var conn = new SqlConnection(DatabaseFixture.LogEventsConnectionString)) { var query = conn.Query($@"SELECT DATA_TYPE AS DataType FROM {DatabaseFixture.Database}.INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '{DatabaseFixture.LogTableName}' AND COLUMN_NAME = '{columnOptions.Properties.ColumnName}'"); @@ -208,7 +209,7 @@ public void AutoCreateSchemaLegacyInterface() // needs, and we don't want this left-over table // to create misleading results in other tests. - // arrange + // Arrange var schemaName = "CustomTestSchema"; var tableName = "CustomSchemaLogTable"; var columnOptions = new ColumnOptions(); @@ -227,7 +228,7 @@ public void AutoCreateSchemaLegacyInterface() .CreateLogger(); Log.CloseAndFlush(); - // assert + // Assert using (var conn = new SqlConnection(DatabaseFixture.LogEventsConnectionString)) { var query = conn.Query("SELECT SCHEMA_NAME AS SchemaName FROM INFORMATION_SCHEMA.SCHEMATA"); @@ -246,7 +247,7 @@ public void AutoCreateSchemaSinkOptionsInterface() // needs, and we don't want this left-over table // to create misleading results in other tests. - // arrange + // Arrange var schemaName = "CustomTestSchema"; var tableName = "CustomSchemaLogTable"; var columnOptions = new ColumnOptions(); @@ -268,7 +269,7 @@ public void AutoCreateSchemaSinkOptionsInterface() .CreateLogger(); Log.CloseAndFlush(); - // assert + // Assert using (var conn = new SqlConnection(DatabaseFixture.LogEventsConnectionString)) { var query = conn.Query("SELECT SCHEMA_NAME AS SchemaName FROM INFORMATION_SCHEMA.SCHEMATA"); @@ -282,7 +283,7 @@ public void AutoCreateSchemaSinkOptionsInterface() [Fact] public void LogEventStoreAsEnum() { - // arrange + // Arrange var columnOptions = new ColumnOptions(); columnOptions.Level.StoreAsEnum = true; columnOptions.Store.Add(StandardColumn.LogEvent); @@ -297,13 +298,13 @@ public void LogEventStoreAsEnum() ) .CreateLogger(); - // act + // Act Log.Logger .Information("Logging message"); Log.CloseAndFlush(); - // assert + // Assert using (var conn = new SqlConnection(DatabaseFixture.LogEventsConnectionString)) { var logEventCount = conn.Query($"SELECT Id from {DatabaseFixture.LogTableName}"); diff --git a/test/Serilog.Sinks.MSSqlServer.Tests/PropertiesColumnFilteringTests.cs b/test/Serilog.Sinks.MSSqlServer.Tests/PropertiesColumnFilteringTests.cs index c5411724..2cfa7e55 100644 --- a/test/Serilog.Sinks.MSSqlServer.Tests/PropertiesColumnFilteringTests.cs +++ b/test/Serilog.Sinks.MSSqlServer.Tests/PropertiesColumnFilteringTests.cs @@ -7,6 +7,7 @@ namespace Serilog.Sinks.MSSqlServer.Tests { + [Trait(TestCategory.TraitName, TestCategory.Integration)] public class PropertiesColumnFilteringTests : DatabaseTestsBase { public PropertiesColumnFilteringTests(ITestOutputHelper output) : base(output) @@ -16,7 +17,7 @@ public PropertiesColumnFilteringTests(ITestOutputHelper output) : base(output) [Fact] public void FilteredProperties() { - // arrange + // Arrange var columnOptions = new ColumnOptions(); columnOptions.Properties.PropertiesFilter = (propName) => propName == "A"; @@ -30,7 +31,7 @@ public void FilteredProperties() ) .CreateLogger(); - // act + // Act Log.Logger .ForContext("A", "AValue") .ForContext("B", "BValue") @@ -38,7 +39,7 @@ public void FilteredProperties() Log.CloseAndFlush(); - // assert + // Assert using (var conn = new SqlConnection(DatabaseFixture.LogEventsConnectionString)) { var logEvents = conn.Query($"SELECT Properties from {DatabaseFixture.LogTableName}"); @@ -51,7 +52,7 @@ public void FilteredProperties() [Fact] public void FilteredPropertiesWhenAuditing() { - // arrange + // Arrange var columnOptions = new ColumnOptions(); columnOptions.Properties.PropertiesFilter = (propName) => propName == "A"; @@ -65,7 +66,7 @@ public void FilteredPropertiesWhenAuditing() ) .CreateLogger(); - // act + // Act Log.Logger .ForContext("A", "AValue") .ForContext("B", "BValue") @@ -73,7 +74,7 @@ public void FilteredPropertiesWhenAuditing() Log.CloseAndFlush(); - // assert + // Assert using (var conn = new SqlConnection(DatabaseFixture.LogEventsConnectionString)) { var logEvents = conn.Query($"SELECT Properties from {DatabaseFixture.LogTableName}"); diff --git a/test/Serilog.Sinks.MSSqlServer.Tests/Serilog.Sinks.MSSqlServer.Tests.csproj b/test/Serilog.Sinks.MSSqlServer.Tests/Serilog.Sinks.MSSqlServer.Tests.csproj index 639b9bb6..cb22a466 100644 --- a/test/Serilog.Sinks.MSSqlServer.Tests/Serilog.Sinks.MSSqlServer.Tests.csproj +++ b/test/Serilog.Sinks.MSSqlServer.Tests/Serilog.Sinks.MSSqlServer.Tests.csproj @@ -1,17 +1,5 @@  - - net452;netcoreapp2.0;netcoreapp2.2 netstandard2.0 diff --git a/test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/ColumnOptions/TimeStampColumnOptionsTests.cs b/test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/ColumnOptions/TimeStampColumnOptionsTests.cs index 37bae5c7..dae26739 100644 --- a/test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/ColumnOptions/TimeStampColumnOptionsTests.cs +++ b/test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/ColumnOptions/TimeStampColumnOptionsTests.cs @@ -1,19 +1,21 @@ using System; using System.Data; +using Serilog.Sinks.MSSqlServer.Tests.TestUtils; using Xunit; namespace Serilog.Sinks.MSSqlServer.Tests.Sinks.MSSqlServer.ColumnOptions { + [Trait(TestCategory.TraitName, TestCategory.Unit)] public class TimeStampColumnOptionsTests { [Trait("Bugfix", "#187")] [Fact] public void CanSetDataTypeDateTime() { - // arrange + // Arrange var options = new Serilog.Sinks.MSSqlServer.ColumnOptions(); - // act - should not throw + // Act - should not throw options.TimeStamp.DataType = SqlDbType.DateTime; } @@ -21,10 +23,10 @@ public void CanSetDataTypeDateTime() [Fact] public void CanSetDataTypeDateTimeOffset() { - // arrange + // Arrange var options = new Serilog.Sinks.MSSqlServer.ColumnOptions(); - // act - should not throw + // Act - should not throw options.TimeStamp.DataType = SqlDbType.DateTimeOffset; } @@ -32,10 +34,10 @@ public void CanSetDataTypeDateTimeOffset() [Fact] public void CannotSetDataTypeNVarChar() { - // arrange + // Arrange var options = new Serilog.Sinks.MSSqlServer.ColumnOptions(); - // act and assert - should throw + // Act and assert - should throw Assert.Throws(() => options.TimeStamp.DataType = SqlDbType.NVarChar); } } diff --git a/test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/MSSqlServerSinkTraitsTests.cs b/test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/MSSqlServerSinkTraitsTests.cs index aa2b5159..9fc703cc 100644 --- a/test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/MSSqlServerSinkTraitsTests.cs +++ b/test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/MSSqlServerSinkTraitsTests.cs @@ -10,10 +10,12 @@ using Serilog.Parsing; using Serilog.Sinks.MSSqlServer.Platform; using Serilog.Sinks.MSSqlServer.Sinks.MSSqlServer.Platform; +using Serilog.Sinks.MSSqlServer.Tests.TestUtils; using Xunit; namespace Serilog.Sinks.MSSqlServer.Tests.Sinks.MSSqlServer { + [Trait(TestCategory.TraitName, TestCategory.Unit)] public class MSSqlServerSinkTraitsTests : IDisposable { private readonly Mock _sqlConnectionFactoryMock; diff --git a/test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/Options/SinkOptionsTests.cs b/test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/Options/SinkOptionsTests.cs index f99d966e..2dc0401a 100644 --- a/test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/Options/SinkOptionsTests.cs +++ b/test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/Options/SinkOptionsTests.cs @@ -1,9 +1,11 @@ using System; using Serilog.Sinks.MSSqlServer.Sinks.MSSqlServer.Options; +using Serilog.Sinks.MSSqlServer.Tests.TestUtils; using Xunit; namespace Serilog.Sinks.MSSqlServer.Tests.Sinks.MSSqlServer.Options { + [Trait(TestCategory.TraitName, TestCategory.Unit)] public class SinkOptionsTests { [Fact] diff --git a/test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/Output/JsonLogEventFormatterTests.cs b/test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/Output/JsonLogEventFormatterTests.cs index 119b674f..f91d6472 100644 --- a/test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/Output/JsonLogEventFormatterTests.cs +++ b/test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/Output/JsonLogEventFormatterTests.cs @@ -7,10 +7,12 @@ using Serilog.Parsing; using Serilog.Sinks.MSSqlServer.Output; using Serilog.Sinks.MSSqlServer.Sinks.MSSqlServer.Platform; +using Serilog.Sinks.MSSqlServer.Tests.TestUtils; using Xunit; namespace Serilog.Sinks.MSSqlServer.Tests.Sinks.MSSqlServer.Output { + [Trait(TestCategory.TraitName, TestCategory.Unit)] public class JsonLogEventFormatterTests : IDisposable { private Serilog.Sinks.MSSqlServer.ColumnOptions _testColumnOptions; @@ -27,12 +29,12 @@ public JsonLogEventFormatterTests() [Trait("Bugfix", "#187")] public void FormatTimeStampColumnTypeDateTimeOffsetUtcRendersCorrectTimeStamp() { - // arrange + // Arrange const string expectedResult = "{\"TimeStamp\":\"2020-03-27T14:17:00.0000000+00:00\",\"Level\":\"Information\",\"Message\":\"\",\"MessageTemplate\":\"Test message template\"}"; _testTraits.ColumnOptions.TimeStamp.DataType = SqlDbType.DateTimeOffset; var testLogEvent = CreateTestLogEvent(new DateTimeOffset(2020, 3, 27, 14, 17, 0, TimeSpan.Zero)); - // act + // Act string renderResult; using (var outputWriter = new StringWriter()) { @@ -40,7 +42,7 @@ public void FormatTimeStampColumnTypeDateTimeOffsetUtcRendersCorrectTimeStamp() renderResult = outputWriter.ToString(); } - // assert + // Assert Assert.Equal(expectedResult, renderResult); } @@ -48,12 +50,12 @@ public void FormatTimeStampColumnTypeDateTimeOffsetUtcRendersCorrectTimeStamp() [Trait("Bugfix", "#187")] public void FormatTimeStampColumnTypeDateTimeOffsetLocalRendersCorrectTimeStamp() { - // arrange + // Arrange const string expectedResult = "{\"TimeStamp\":\"2020-03-27T13:17:00.0000000+01:00\",\"Level\":\"Information\",\"Message\":\"\",\"MessageTemplate\":\"Test message template\"}"; _testTraits.ColumnOptions.TimeStamp.DataType = SqlDbType.DateTimeOffset; var testLogEvent = CreateTestLogEvent(new DateTimeOffset(2020, 3, 27, 13, 17, 0, new TimeSpan(1, 0, 0))); - // act + // Act string renderResult; using (var outputWriter = new StringWriter()) { @@ -61,7 +63,7 @@ public void FormatTimeStampColumnTypeDateTimeOffsetLocalRendersCorrectTimeStamp( renderResult = outputWriter.ToString(); } - // assert + // Assert Assert.Equal(expectedResult, renderResult); } @@ -69,11 +71,11 @@ public void FormatTimeStampColumnTypeDateTimeOffsetLocalRendersCorrectTimeStamp( [Trait("Bugfix", "#187")] public void FormatTimeStampColumnTypeDateTimeRendersCorrectTimeStamp() { - // arrange + // Arrange const string expectedResult = "{\"TimeStamp\":\"2020-03-27T14:17:00.0000000\",\"Level\":\"Information\",\"Message\":\"\",\"MessageTemplate\":\"Test message template\"}"; var testLogEvent = CreateTestLogEvent(new DateTimeOffset(2020, 3, 27, 14, 17, 0, TimeSpan.Zero)); - // act + // Act string renderResult; using (var outputWriter = new StringWriter()) { @@ -81,14 +83,14 @@ public void FormatTimeStampColumnTypeDateTimeRendersCorrectTimeStamp() renderResult = outputWriter.ToString(); } - // assert + // Assert Assert.Equal(expectedResult, renderResult); } [Fact] public void FormatWithPropertiesRendersCorrectProperties() { - // arrange + // Arrange const string expectedResult = "{\"TimeStamp\":\"2020-03-27T14:17:00.0000000\",\"Level\":\"Information\",\"Message\":\"\",\"MessageTemplate\":\"Test message template\",\"Properties\":{\"TestProperty1\":\"TestValue1\",\"TestProperty2\":2}}"; var properties = new List { @@ -97,7 +99,7 @@ public void FormatWithPropertiesRendersCorrectProperties() }; var testLogEvent = CreateTestLogEvent(new DateTimeOffset(2020, 3, 27, 14, 17, 0, TimeSpan.Zero), properties); - // act + // Act string renderResult; using (var outputWriter = new StringWriter()) { @@ -105,14 +107,14 @@ public void FormatWithPropertiesRendersCorrectProperties() renderResult = outputWriter.ToString(); } - // assert + // Assert Assert.Equal(expectedResult, renderResult); } [Fact] public void FormatWithExcludeStandardColumnsWithPropertiesRendersCorrectProperties() { - // arrange + // Arrange const string expectedResult = "{\"Properties\":{\"TestProperty1\":\"TestValue1\",\"TestProperty2\":2}}"; _testTraits.ColumnOptions.LogEvent.ExcludeStandardColumns = true; var properties = new List @@ -122,7 +124,7 @@ public void FormatWithExcludeStandardColumnsWithPropertiesRendersCorrectProperti }; var testLogEvent = CreateTestLogEvent(new DateTimeOffset(2020, 3, 27, 14, 17, 0, TimeSpan.Zero), properties); - // act + // Act string renderResult; using (var outputWriter = new StringWriter()) { @@ -130,7 +132,7 @@ public void FormatWithExcludeStandardColumnsWithPropertiesRendersCorrectProperti renderResult = outputWriter.ToString(); } - // assert + // Assert Assert.Equal(expectedResult, renderResult); } diff --git a/test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/Platform/AzureManagedServiceAuthenticatorStubTests.cs b/test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/Platform/AzureManagedServiceAuthenticatorStubTests.cs index cf73a7d4..11104cc8 100644 --- a/test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/Platform/AzureManagedServiceAuthenticatorStubTests.cs +++ b/test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/Platform/AzureManagedServiceAuthenticatorStubTests.cs @@ -1,9 +1,11 @@ using System; using Serilog.Sinks.MSSqlServer.Sinks.MSSqlServer.Platform; +using Serilog.Sinks.MSSqlServer.Tests.TestUtils; using Xunit; namespace Serilog.Sinks.MSSqlServer.Tests.Sinks.MSSqlServer.Platform { + [Trait(TestCategory.TraitName, TestCategory.Unit)] public class AzureManagedServiceAuthenticatorTests { [Fact] diff --git a/test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/Platform/AzureManagedServiceAuthenticatorTests.cs b/test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/Platform/AzureManagedServiceAuthenticatorTests.cs index 451706af..f5d557f0 100644 --- a/test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/Platform/AzureManagedServiceAuthenticatorTests.cs +++ b/test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/Platform/AzureManagedServiceAuthenticatorTests.cs @@ -7,6 +7,7 @@ namespace Serilog.Sinks.MSSqlServer.Tests.Sinks.MSSqlServer.Platform { + [Trait(TestCategory.TraitName, TestCategory.Unit)] public class AzureManagedServiceAuthenticatorTests { [Fact] diff --git a/test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/Platform/SqlConnectionFactoryTests.cs b/test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/Platform/SqlConnectionFactoryTests.cs index 0306b0a6..706f7f5c 100644 --- a/test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/Platform/SqlConnectionFactoryTests.cs +++ b/test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/Platform/SqlConnectionFactoryTests.cs @@ -6,6 +6,7 @@ namespace Serilog.Sinks.MSSqlServer.Tests.Sinks.MSSqlServer.Platform { + [Trait(TestCategory.TraitName, TestCategory.Unit)] public class SqlConnectionFactoryTests { private readonly Mock _azureManagedServiceAuthenticatorMock; diff --git a/test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/Platform/SqlCreateTableWriterTests.cs b/test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/Platform/SqlCreateTableWriterTests.cs index 8be4cd67..a31fdb11 100644 --- a/test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/Platform/SqlCreateTableWriterTests.cs +++ b/test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/Platform/SqlCreateTableWriterTests.cs @@ -1,10 +1,12 @@ using System; using System.Data; using Serilog.Sinks.MSSqlServer.Platform; +using Serilog.Sinks.MSSqlServer.Tests.TestUtils; using Xunit; namespace Serilog.Sinks.MSSqlServer.Tests.Sinks.MSSqlServer.Platform { + [Trait(TestCategory.TraitName, TestCategory.Unit)] public class SqlCreateTableWriterTests { private readonly SqlCreateTableWriter _sut; diff --git a/test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/Platform/SqlTableCreatorTests.cs b/test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/Platform/SqlTableCreatorTests.cs index aa867302..3032a647 100644 --- a/test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/Platform/SqlTableCreatorTests.cs +++ b/test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/Platform/SqlTableCreatorTests.cs @@ -33,6 +33,7 @@ public SqlTableCreatorTests(ITestOutputHelper output) : base(output) } [Fact] + [Trait(TestCategory.TraitName, TestCategory.Unit)] public void CreateTableCallsSqlCreateTableWriterWithPassedValues() { // Arrange @@ -51,6 +52,7 @@ public void CreateTableCallsSqlCreateTableWriterWithPassedValues() } [Fact] + [Trait(TestCategory.TraitName, TestCategory.Unit)] public void CreateTableCallsSqlConnectionFactory() { // Act @@ -64,6 +66,7 @@ public void CreateTableCallsSqlConnectionFactory() } [Fact] + [Trait(TestCategory.TraitName, TestCategory.Integration)] public void CreateTableExecutesCommandReturnedBySqlCreateTableWriter() { // Arrange diff --git a/test/Serilog.Sinks.MSSqlServer.Tests/SqlTypesTests.cs b/test/Serilog.Sinks.MSSqlServer.Tests/SqlTypesTests.cs index 9648e8ab..29ba1c79 100644 --- a/test/Serilog.Sinks.MSSqlServer.Tests/SqlTypesTests.cs +++ b/test/Serilog.Sinks.MSSqlServer.Tests/SqlTypesTests.cs @@ -8,6 +8,7 @@ namespace Serilog.Sinks.MSSqlServer.Tests { + [Trait(TestCategory.TraitName, TestCategory.Integration)] public class SqlTypesTests : DatabaseTestsBase { public SqlTypesTests(ITestOutputHelper output) : base(output) diff --git a/test/Serilog.Sinks.MSSqlServer.Tests/TestUtils/DatabaseTestsBase.cs b/test/Serilog.Sinks.MSSqlServer.Tests/TestUtils/DatabaseTestsBase.cs index fac68024..fb2c6fd6 100644 --- a/test/Serilog.Sinks.MSSqlServer.Tests/TestUtils/DatabaseTestsBase.cs +++ b/test/Serilog.Sinks.MSSqlServer.Tests/TestUtils/DatabaseTestsBase.cs @@ -10,7 +10,7 @@ namespace Serilog.Sinks.MSSqlServer.Tests.TestUtils { - [Collection("LogTest")] + [Collection("DatabaseTests")] public abstract class DatabaseTestsBase : IDisposable { private readonly ITestOutputHelper _output; diff --git a/test/Serilog.Sinks.MSSqlServer.Tests/TestUtils/PatientSecureFixtureCollection.cs b/test/Serilog.Sinks.MSSqlServer.Tests/TestUtils/PatientSecureFixtureCollection.cs index 42c75147..6e7c4cad 100644 --- a/test/Serilog.Sinks.MSSqlServer.Tests/TestUtils/PatientSecureFixtureCollection.cs +++ b/test/Serilog.Sinks.MSSqlServer.Tests/TestUtils/PatientSecureFixtureCollection.cs @@ -2,6 +2,6 @@ namespace Serilog.Sinks.MSSqlServer.Tests.TestUtils { - [CollectionDefinition("LogTest", DisableParallelization = true)] + [CollectionDefinition("DatabaseTests", DisableParallelization = true)] public class PatientSecureFixtureCollection : ICollectionFixture { } } diff --git a/test/Serilog.Sinks.MSSqlServer.Tests/TestUtils/TestCategory.cs b/test/Serilog.Sinks.MSSqlServer.Tests/TestUtils/TestCategory.cs new file mode 100644 index 00000000..927b70e2 --- /dev/null +++ b/test/Serilog.Sinks.MSSqlServer.Tests/TestUtils/TestCategory.cs @@ -0,0 +1,10 @@ +namespace Serilog.Sinks.MSSqlServer.Tests.TestUtils +{ + public static class TestCategory + { + public const string TraitName = "Category"; + + public const string Integration = nameof(Integration); + public const string Unit = nameof(Unit); + } +} diff --git a/test/Serilog.Sinks.MSSqlServer.Tests/TimeStampTests.cs b/test/Serilog.Sinks.MSSqlServer.Tests/TimeStampTests.cs index 0075d6b7..109ce24a 100644 --- a/test/Serilog.Sinks.MSSqlServer.Tests/TimeStampTests.cs +++ b/test/Serilog.Sinks.MSSqlServer.Tests/TimeStampTests.cs @@ -9,6 +9,7 @@ namespace Serilog.Sinks.MSSqlServer.Tests { + [Trait(TestCategory.TraitName, TestCategory.Integration)] public class TimeStampTests : DatabaseTestsBase { public TimeStampTests(ITestOutputHelper output) : base(output) @@ -19,7 +20,7 @@ public TimeStampTests(ITestOutputHelper output) : base(output) [Fact] public void CanCreateDatabaseWithDateTimeByDefault() { - // arrange + // Arrange var loggerConfiguration = new LoggerConfiguration(); Log.Logger = loggerConfiguration.WriteTo.MSSqlServer( connectionString: DatabaseFixture.LogEventsConnectionString, @@ -30,12 +31,12 @@ public void CanCreateDatabaseWithDateTimeByDefault() columnOptions: new ColumnOptions()) .CreateLogger(); - // act + // Act const string loggingInformationMessage = "Logging Information message"; Log.Information(loggingInformationMessage); Log.CloseAndFlush(); - // assert + // Assert using (var conn = new SqlConnection(DatabaseFixture.LogEventsConnectionString)) { var logEvents = conn.Query($"SELECT TimeStamp FROM {DatabaseFixture.LogTableName}"); @@ -47,7 +48,7 @@ public void CanCreateDatabaseWithDateTimeByDefault() [Fact] public void CanStoreDateTimeOffsetWithCorrectLocalTimeZone() { - // arrange + // Arrange var loggerConfiguration = new LoggerConfiguration(); Log.Logger = loggerConfiguration.WriteTo.MSSqlServer( connectionString: DatabaseFixture.LogEventsConnectionString, @@ -59,12 +60,12 @@ public void CanStoreDateTimeOffsetWithCorrectLocalTimeZone() .CreateLogger(); var dateTimeOffsetNow = DateTimeOffset.Now; - // act + // Act const string loggingInformationMessage = "Logging Information message"; Log.Information(loggingInformationMessage); Log.CloseAndFlush(); - // assert + // Assert using (var conn = new SqlConnection(DatabaseFixture.LogEventsConnectionString)) { var logEvents = conn.Query($"SELECT TimeStamp FROM {DatabaseFixture.LogTableName}"); @@ -76,7 +77,7 @@ public void CanStoreDateTimeOffsetWithCorrectLocalTimeZone() [Fact] public void CanStoreDateTimeOffsetWithUtcTimeZone() { - // arrange + // Arrange var loggerConfiguration = new LoggerConfiguration(); Log.Logger = loggerConfiguration.WriteTo.MSSqlServer( connectionString: DatabaseFixture.LogEventsConnectionString, @@ -87,12 +88,12 @@ public void CanStoreDateTimeOffsetWithUtcTimeZone() columnOptions: new ColumnOptions { TimeStamp = { DataType = SqlDbType.DateTimeOffset, ConvertToUtc = true } }) .CreateLogger(); - // act + // Act const string loggingInformationMessage = "Logging Information message"; Log.Information(loggingInformationMessage); Log.CloseAndFlush(); - // assert + // Assert using (var conn = new SqlConnection(DatabaseFixture.LogEventsConnectionString)) { var logEvents = conn.Query($"SELECT TimeStamp FROM {DatabaseFixture.LogTableName}"); diff --git a/test/Serilog.Sinks.MSSqlServer.Tests/TriggersOnLogTableTests.cs b/test/Serilog.Sinks.MSSqlServer.Tests/TriggersOnLogTableTests.cs index 14985c7a..7cd26c6e 100644 --- a/test/Serilog.Sinks.MSSqlServer.Tests/TriggersOnLogTableTests.cs +++ b/test/Serilog.Sinks.MSSqlServer.Tests/TriggersOnLogTableTests.cs @@ -8,6 +8,7 @@ namespace Serilog.Sinks.MSSqlServer.Tests { + [Trait(TestCategory.TraitName, TestCategory.Integration)] public class TriggersOnLogTableTests : DatabaseTestsBase { private bool _disposedValue; @@ -19,7 +20,7 @@ public TriggersOnLogTableTests(ITestOutputHelper output) : base(output) [Fact] public void TestTriggerOnLogTableFire() { - // arrange + // Arrange var loggerConfiguration = new LoggerConfiguration(); Log.Logger = loggerConfiguration.WriteTo.MSSqlServer( connectionString: DatabaseFixture.LogEventsConnectionString, @@ -32,13 +33,13 @@ public void TestTriggerOnLogTableFire() CreateTrigger(); - // act + // Act const string loggingInformationMessage = "Logging Information message"; Log.Information(loggingInformationMessage); Log.CloseAndFlush(); - // assert + // Assert using (var conn = new SqlConnection(DatabaseFixture.LogEventsConnectionString)) { var logTriggerEvents = conn.Query($"SELECT * FROM {LogTriggerTableName}"); @@ -50,7 +51,7 @@ public void TestTriggerOnLogTableFire() [Fact] public void TestOptionsDisableTriggersOnLogTable() { - // arrange + // Arrange var options = new ColumnOptions { DisableTriggers = true }; var loggerConfiguration = new LoggerConfiguration(); Log.Logger = loggerConfiguration.WriteTo.MSSqlServer( @@ -64,13 +65,13 @@ public void TestOptionsDisableTriggersOnLogTable() CreateTrigger(); - // act + // Act const string loggingInformationMessage = "Logging Information message"; Log.Information(loggingInformationMessage); Log.CloseAndFlush(); - // assert + // Assert using (var conn = new SqlConnection(DatabaseFixture.LogEventsConnectionString)) { var logTriggerEvents = conn.Query($"SELECT * FROM {LogTriggerTableName}"); @@ -82,7 +83,7 @@ public void TestOptionsDisableTriggersOnLogTable() [Fact] public void TestAuditTriggerOnLogTableFire() { - // arrange + // Arrange var loggerConfiguration = new LoggerConfiguration(); Log.Logger = loggerConfiguration.AuditTo.MSSqlServer( connectionString: DatabaseFixture.LogEventsConnectionString, @@ -93,13 +94,13 @@ public void TestAuditTriggerOnLogTableFire() CreateTrigger(); - // act + // Act const string loggingInformationMessage = "Logging Information message"; Log.Information(loggingInformationMessage); Log.CloseAndFlush(); - // assert + // Assert using (var conn = new SqlConnection(DatabaseFixture.LogEventsConnectionString)) { var logTriggerEvents = conn.Query($"SELECT * FROM {LogTriggerTableName}"); @@ -111,7 +112,7 @@ public void TestAuditTriggerOnLogTableFire() [Fact] public void TestAuditOptionsDisableTriggersOnLogTableThrowsNotSupportedException() { - // arrange + // Arrange var options = new ColumnOptions { DisableTriggers = true }; var loggerConfiguration = new LoggerConfiguration(); Assert.Throws(() => loggerConfiguration.AuditTo.MSSqlServer(