Skip to content

Commit e11161b

Browse files
authored
Merge pull request #121 from mikehadlow/master
Added overload to GetQueuesAsync
2 parents 5e955a8 + 17e8c08 commit e11161b

3 files changed

Lines changed: 33 additions & 3 deletions

File tree

Source/EasyNetQ.Management.Client.IntegrationTests/ManagementClientTests.cs

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,18 @@ public async Task Should_get_queues()
237237
(await managementClient.GetQueuesAsync().ConfigureAwait(false)).ToList().Count.ShouldBeGreaterThan(0);
238238
}
239239

240+
[Fact]
241+
public async Task Should_get_queues_by_vhost()
242+
{
243+
var vhost = await managementClient.CreateVhostAsync(testVHost).ConfigureAwait(false);
244+
vhost.Name.ShouldEqual(testVHost);
245+
246+
var queueName = $"{testVHost}_{testQueue}";
247+
248+
await CreateTestQueueInVhost(queueName, vhost).ConfigureAwait(false);
249+
(await managementClient.GetQueuesAsync(vhost).ConfigureAwait(false)).ToList().Count.ShouldBeGreaterThan(0);
250+
}
251+
240252
[Fact]
241253
public async Task Should_be_able_to_get_a_queue_by_name()
242254
{
@@ -409,6 +421,11 @@ private async Task<Queue> EnsureQueueExists(string managementApiTestQueue)
409421
private async Task<Queue> CreateTestQueue(string queueName)
410422
{
411423
var vhost = await managementClient.GetVhostAsync(vhostName).ConfigureAwait(false);
424+
return await CreateTestQueueInVhost(queueName, vhost);
425+
}
426+
427+
private async Task<Queue> CreateTestQueueInVhost(string queueName, Vhost vhost)
428+
{
412429
var queueInfo = new QueueInfo(queueName);
413430
await managementClient.CreateQueueAsync(queueInfo, vhost).ConfigureAwait(false);
414431
return await managementClient.GetQueueAsync(queueName, vhost).ConfigureAwait(false);
@@ -1058,4 +1075,4 @@ public async Task Should_disable_tracing()
10581075
Assert.False(vhostAfterUpdate.Tracing);
10591076
}
10601077
}
1061-
}
1078+
}

Source/EasyNetQ.Management.Client/IManagementClient.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,14 @@ Task<Channel> GetChannelAsync(
9191
/// <returns></returns>
9292
Task<IEnumerable<Queue>> GetQueuesAsync(CancellationToken cancellationToken = default(CancellationToken));
9393

94+
/// <summary>
95+
/// A list of all queues for a virtual host.
96+
/// </summary>
97+
/// <param name="vhost"></param>
98+
/// <param name="cancellationToken"></param>
99+
/// <returns></returns>
100+
Task<IEnumerable<Queue>> GetQueuesAsync(Vhost vhost, CancellationToken cancellationToken = default(CancellationToken));
101+
94102
/// <summary>
95103
/// A list of all bindings.
96104
/// </summary>
@@ -532,4 +540,4 @@ Task DeleteParameterAsync(
532540
/// <returns></returns>
533541
Task<List<Federation>> GetFederationAsync(CancellationToken cancellationToken = default(CancellationToken));
534542
}
535-
}
543+
}

Source/EasyNetQ.Management.Client/ManagementClient.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,11 @@ public Task<PublishResult> PublishAsync(Exchange exchange, PublishInfo publishIn
267267
return GetAsync<IEnumerable<Queue>>("queues", cancellationToken);
268268
}
269269

270+
public Task<IEnumerable<Queue>> GetQueuesAsync(Vhost vhost, CancellationToken cancellationToken = default(CancellationToken))
271+
{
272+
return GetAsync<IEnumerable<Queue>>($"queues/{SanitiseVhostName(vhost.Name)}", cancellationToken);
273+
}
274+
270275
public async Task<Queue> CreateQueueAsync(QueueInfo queueInfo, Vhost vhost,
271276
CancellationToken cancellationToken = default(CancellationToken))
272277
{
@@ -833,4 +838,4 @@ public void Dispose()
833838
httpClient.Dispose();
834839
}
835840
}
836-
}
841+
}

0 commit comments

Comments
 (0)