@@ -10,6 +10,50 @@ namespace Serilog.Sinks.MSSqlServer.Tests
10
10
{
11
11
public class CustomStandardColumnNames : IClassFixture < DatabaseFixture >
12
12
{
13
+ [ Fact ]
14
+ public void CustomIdColumn ( )
15
+ {
16
+ // arrange
17
+ var options = new ColumnOptions ( ) ;
18
+ var customIdName = "CustomIdName" ;
19
+ options . Id . ColumnName = customIdName ;
20
+
21
+ // act
22
+ var logTableName = $ "{ DatabaseFixture . LogTableName } CustomId";
23
+ var sink = new MSSqlServerSink ( DatabaseFixture . LogEventsConnectionString , logTableName , 1 , TimeSpan . FromSeconds ( 1 ) , null , true , options ) ;
24
+
25
+ // assert
26
+ using ( var conn = new SqlConnection ( DatabaseFixture . MasterConnectionString ) )
27
+ {
28
+ conn . Execute ( $ "use { DatabaseFixture . Database } ") ;
29
+ var logEvents = conn . Query < InfoSchema > ( $@ "SELECT COLUMN_NAME AS ColumnName FROM { DatabaseFixture . Database } .INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '{ logTableName } '") ;
30
+ var infoSchema = logEvents as InfoSchema [ ] ?? logEvents . ToArray ( ) ;
31
+
32
+ infoSchema . Should ( ) . Contain ( columns => columns . ColumnName == customIdName ) ;
33
+ }
34
+ }
35
+
36
+ [ Fact ]
37
+ public void DefaultIdColumn ( )
38
+ {
39
+ // arrange
40
+ var options = new ColumnOptions ( ) ;
41
+
42
+ // act
43
+ var logTableName = $ "{ DatabaseFixture . LogTableName } DefaultId";
44
+ var sink = new MSSqlServerSink ( DatabaseFixture . LogEventsConnectionString , logTableName , 1 , TimeSpan . FromSeconds ( 1 ) , null , true , options ) ;
45
+
46
+ // assert
47
+ using ( var conn = new SqlConnection ( DatabaseFixture . MasterConnectionString ) )
48
+ {
49
+ conn . Execute ( $ "use { DatabaseFixture . Database } ") ;
50
+ var logEvents = conn . Query < InfoSchema > ( $@ "SELECT COLUMN_NAME AS ColumnName FROM { DatabaseFixture . Database } .INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '{ logTableName } '") ;
51
+ var infoSchema = logEvents as InfoSchema [ ] ?? logEvents . ToArray ( ) ;
52
+
53
+ infoSchema . Should ( ) . Contain ( columns => columns . ColumnName == "Id" ) ;
54
+ }
55
+ }
56
+
13
57
[ Fact ]
14
58
public void TableCreatedWithCustomNames ( )
15
59
{
@@ -38,6 +82,8 @@ public void TableCreatedWithCustomNames()
38
82
{
39
83
infoSchema . Should ( ) . Contain ( columns => columns . ColumnName == column ) ;
40
84
}
85
+
86
+ infoSchema . Should ( ) . Contain ( columns => columns . ColumnName == "Id" ) ;
41
87
}
42
88
}
43
89
@@ -49,8 +95,7 @@ public void TableCreatedWithDefaultNames()
49
95
var standardNames = new List < string > { "Message" , "MessageTemplate" , "Level" , "TimeStamp" , "Exception" , "Properties" } ;
50
96
51
97
// act
52
- var logTableName = $ "{ DatabaseFixture . LogTableName } Standard";
53
- System . Diagnostics . Debugger . Launch ( ) ;
98
+ var logTableName = $ "{ DatabaseFixture . LogTableName } DefaultStandard";
54
99
var sink = new MSSqlServerSink ( DatabaseFixture . LogEventsConnectionString , logTableName , 1 , TimeSpan . FromSeconds ( 1 ) , null , true , options ) ;
55
100
56
101
// assert
0 commit comments