Skip to content

Commit 6747dee

Browse files
author
Christoph Bühler
committed
test(disposing): fixing disposable problems in testing
1 parent 4f63faf commit 6747dee

File tree

3 files changed

+26
-5
lines changed

3 files changed

+26
-5
lines changed

src/KubeOps/Testing/KubernetesTestOperator.cs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
namespace KubeOps.Testing
1515
{
16-
public class KubernetesTestOperator : KubernetesOperator
16+
public class KubernetesTestOperator : KubernetesOperator, IDisposable
1717
{
1818
public KubernetesTestOperator(OperatorSettings settings)
1919
: base(settings)
@@ -37,6 +37,15 @@ public override Task<int> Run(string[] args)
3737
return Task.FromResult(0);
3838
}
3939

40+
public async void Dispose()
41+
{
42+
if (OperatorHost != null)
43+
{
44+
await OperatorHost.StopAsync();
45+
}
46+
OperatorHost?.Dispose();
47+
}
48+
4049
protected override void ConfigureOperatorServices()
4150
{
4251
ConfigureServices(

tests/KubeOps.TestOperator.Test/TestController.Test.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using System.Threading.Tasks;
1+
using System;
2+
using System.Threading.Tasks;
23
using KubeOps.Testing;
34
using KubeOps.TestOperator.Entities;
45
using KubeOps.TestOperator.TestManager;
@@ -9,7 +10,7 @@
910

1011
namespace KubeOps.TestOperator.Test
1112
{
12-
public class TestControllerTest
13+
public class TestControllerTest: IDisposable
1314
{
1415
private readonly Mock<IManager> _mock = new Mock<IManager>();
1516

@@ -82,5 +83,10 @@ public async Task Test_If_Manager_StatusModified_Is_Called()
8283
queue.StatusUpdated(new TestEntity());
8384
_mock.Verify(o => o.StatusModified(It.IsAny<TestEntity>()), Times.Once);
8485
}
86+
87+
public void Dispose()
88+
{
89+
_operator.Dispose();
90+
}
8591
}
8692
}

tests/KubeOps.TestOperator.Test/TestFinalizer.Test.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using System.Threading.Tasks;
1+
using System;
2+
using System.Threading.Tasks;
23
using k8s.Models;
34
using KubeOps.Testing;
45
using KubeOps.TestOperator.Entities;
@@ -11,7 +12,7 @@
1112

1213
namespace KubeOps.TestOperator.Test
1314
{
14-
public class TestFinalizerTest
15+
public class TestFinalizerTest : IDisposable
1516
{
1617
private readonly Mock<IManager> _mock = new Mock<IManager>();
1718

@@ -47,5 +48,10 @@ public async Task Test_If_Manager_Finalized_Is_Called()
4748
});
4849
_mock.Verify(o => o.Finalized(It.IsAny<TestEntity>()), Times.Once);
4950
}
51+
52+
public void Dispose()
53+
{
54+
_operator.Dispose();
55+
}
5056
}
5157
}

0 commit comments

Comments
 (0)