Skip to content

Commit 386158d

Browse files
committed
Split listener setup and start actions for testability
1 parent 3530602 commit 386158d

File tree

2 files changed

+21
-3
lines changed

2 files changed

+21
-3
lines changed

IntegrationEngine.Tests/EngineHostCompositionRootTest.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,18 @@ public void ShouldSetupMessageQueueListener()
6161
Assert.That(Subject.MessageQueueListenerManager, Is.Not.Null);
6262
}
6363

64+
[Test]
65+
public void ShouldStartMessageQueueListener()
66+
{
67+
var mockMessageQueueListenerManager = new Mock<IMessageQueueListenerManager>();
68+
mockMessageQueueListenerManager.Setup(x => x.StartListener());
69+
Subject.MessageQueueListenerManager = mockMessageQueueListenerManager.Object;
70+
71+
Subject.StartMessageQueueListener();
72+
73+
mockMessageQueueListenerManager.Verify(x => x.StartListener(), Times.Once);
74+
}
75+
6476
[Test]
6577
public void ShouldSetupRScriptRunner()
6678
{

IntegrationEngine/EngineHostCompositionRoot.cs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,10 @@ public void Configure()
6464
RegisterIntegrationJobs();
6565
SetupRScriptRunner();
6666
SetupElasticsearchRepository();
67-
if (IsMessageQueueListenerManagerEnabled)
67+
if (IsMessageQueueListenerManagerEnabled) {
6868
SetupMessageQueueListenerManager();
69+
StartMessageQueueListener();
70+
}
6971
if (IsSchedulerEnabled)
7072
SetupEngineScheduler();
7173
if (IsWebApiEnabled)
@@ -174,16 +176,20 @@ public void RegisterIntegrationJobs()
174176
});
175177
}
176178

177-
public async void SetupMessageQueueListenerManager()
179+
public void SetupMessageQueueListenerManager()
178180
{
179181
var config = Container.Resolve<IRabbitMQConfiguration>("DefaultRabbitMQ");
180182
var messageQueueListenerFactory = new MessageQueueListenerFactory(Container, IntegrationJobTypes, config);
181183
MessageQueueListenerManager = new MessageQueueListenerManager() {
182184
MessageQueueListenerFactory = messageQueueListenerFactory,
183185
};
186+
}
187+
188+
public async void StartMessageQueueListener()
189+
{
184190
await MessageQueueListenerManager.StartListener();
185191
}
186-
192+
187193
public void SetupEngineScheduler()
188194
{
189195
var dispatcher = new Dispatcher() {

0 commit comments

Comments
 (0)