Skip to content

Commit 4f5ccd0

Browse files
committed
Added a test for ClusteredColumnStoreIndex for SqlCreateTableWriter class.
1 parent c53cdae commit 4f5ccd0

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/Platform/SqlCreateTableWriterTests.cs

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,5 +158,34 @@ public void GetSqlFromDataTableCreatesIdNonClusteredIndexColumnsCorrectly()
158158
// Assert
159159
Assert.Contains(expectedResult, result);
160160
}
161+
162+
[Fact]
163+
public void GetSqlFromDataTableCreatesClusteredColumnStoreIndexCorrectly()
164+
{
165+
// Arrange
166+
var dataTable = new DataTable();
167+
var dataColumnId = new DataColumn();
168+
var sqlColumnId = new SqlColumn { AllowNull = false, ColumnName = "Id", DataType = SqlDbType.Int, StandardColumnIdentifier = StandardColumn.Id };
169+
dataColumnId.ExtendedProperties["SqlColumn"] = sqlColumnId;
170+
dataTable.Columns.Add(dataColumnId);
171+
var dataColumnMessage = new DataColumn();
172+
var sqlColumnMessage = new SqlColumn { AllowNull = false, ColumnName = "Message", DataType = SqlDbType.NVarChar, DataLength = 100 };
173+
dataColumnMessage.ExtendedProperties["SqlColumn"] = sqlColumnMessage;
174+
dataTable.Columns.Add(dataColumnMessage);
175+
var columnOptions = new Serilog.Sinks.MSSqlServer.ColumnOptions { PrimaryKey = sqlColumnId, ClusteredColumnstoreIndex = true };
176+
string expectedResult = "CREATE TABLE [TestSchemaName].[TestTableName] ( \r\n"
177+
+ "[Id] INT IDENTITY(1,1) NOT NULL,\r\n"
178+
+ "[Message] NVARCHAR(100) NOT NULL\r\n"
179+
+ " CONSTRAINT [PK_TestTableName] PRIMARY KEY CLUSTERED ([Id])\r\n"
180+
+ ");\r\n"
181+
+ "CREATE CLUSTERED COLUMNSTORE INDEX [CCI_TestTableName] ON [TestSchemaName].[TestTableName]\r\n"
182+
+ "END";
183+
184+
// Act
185+
var result = _sut.GetSqlFromDataTable("TestSchemaName", "TestTableName", dataTable, columnOptions);
186+
187+
// Assert
188+
Assert.Contains(expectedResult, result);
189+
}
161190
}
162191
}

0 commit comments

Comments
 (0)