Skip to content

Commit f7fb888

Browse files
authored
Merge pull request #603 from ckadluba/fix-dispose
Fixed: dispose SqlBulkBatchWriter in sink
2 parents dea6326 + 2db0fa1 commit f7fb888

File tree

3 files changed

+32
-3
lines changed

3 files changed

+32
-3
lines changed

src/Serilog.Sinks.MSSqlServer/Sinks/MSSqlServer/MSSqlServerSink.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,7 @@ protected virtual void Dispose(bool disposing)
151151
{
152152
if (disposing)
153153
{
154+
_sqlBulkBatchWriter.Dispose();
154155
_sqlLogEventWriter.Dispose();
155156
}
156157

test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/MSSqlServerAuditSinkTests.cs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
using System;
22
using System.Collections.Generic;
3-
using System.Data;
43
using Moq;
54
using Serilog.Events;
65
using Serilog.Parsing;
@@ -157,6 +156,16 @@ public void EmitCallsSqlLogEventWriter()
157156
_sqlLogEventWriter.Verify(w => w.WriteEvent(logEvent), Times.Once);
158157
}
159158

159+
[Fact]
160+
public void OnDisposeDisposesSqlLogEventWriterDependency()
161+
{
162+
// Arrange + act
163+
using (new MSSqlServerAuditSink(_sinkOptions, _columnOptions, _sinkDependencies)) { }
164+
165+
// Assert
166+
_sqlLogEventWriter.Verify(w => w.Dispose(), Times.Once);
167+
}
168+
160169
private void SetupSut(bool autoCreateSqlDatabase = false, bool autoCreateSqlTable = false)
161170
{
162171
_sinkOptions.AutoCreateSqlDatabase = autoCreateSqlDatabase;

test/Serilog.Sinks.MSSqlServer.Tests/Sinks/MSSqlServer/MSSqlServerSinkTests.cs

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
using System;
22
using System.Collections.Generic;
3-
using System.Data;
43
using System.Threading.Tasks;
54
using Moq;
65
using Serilog.Events;
@@ -173,7 +172,7 @@ public async Task EmitBatchAsyncWithUseSqlBulkCopyFalseCallsSqlLogEventWriter()
173172
}
174173

175174
[Fact]
176-
public void OnEmpytBatchAsyncReturnsCompletedTask()
175+
public void OnEmptyBatchAsyncReturnsCompletedTask()
177176
{
178177
// Arrange
179178
SetupSut();
@@ -185,6 +184,26 @@ public void OnEmpytBatchAsyncReturnsCompletedTask()
185184
Assert.True(task.IsCompleted);
186185
}
187186

187+
[Fact]
188+
public void OnDisposeDisposesSqlBulkBatchWriterDependency()
189+
{
190+
// Arrange + act
191+
using (new MSSqlServerSink(_sinkOptions, _sinkDependencies)) { }
192+
193+
// Assert
194+
_sqlBulkBatchWriter.Verify(w => w.Dispose(), Times.Once);
195+
}
196+
197+
[Fact]
198+
public void OnDisposeDisposesSqlLogEventWriterDependency()
199+
{
200+
// Arrange + act
201+
using (new MSSqlServerSink(_sinkOptions, _sinkDependencies)) { }
202+
203+
// Assert
204+
_sqlLogEventWriter.Verify(w => w.Dispose(), Times.Once);
205+
}
206+
188207
private void SetupSut(
189208
bool autoCreateSqlDatabase = false,
190209
bool autoCreateSqlTable = false,

0 commit comments

Comments
 (0)