run test on phase 24 and 33

This commit is contained in:
voltsrage
2026-06-24 04:35:15 +08:00
parent 68c397350b
commit 279add1e45
45 changed files with 732 additions and 99 deletions
@@ -0,0 +1,52 @@
using System.Text;
using FluentAssertions;
using Microsoft.Extensions.Options;
using RabbitMQ.Client;
public static class DlqRoutingProbe
{
public static async Task<bool> DlqTtlRoutesToEscalationQueueAsync(IOptions<RabbitMqOptions> opts)
{
var o = opts.Value;
var factory = RabbitMqConnectionFactory.Create(o);
using var connection = factory.CreateConnection("dlq-routing-probe");
using var channel = connection.CreateModel();
RabbitMqTestHelper.PurgeNotificationQueues(opts);
var body = Encoding.UTF8.GetBytes(
"""{"alertId":"00000000-0000-0000-0000-000000000099","encounterId":"00000000-0000-0000-0000-000000000088"}""");
channel.BasicPublish(
exchange: "",
routingKey: "alerts.paging.dlq",
basicProperties: null,
body: body);
var dlqHasMessage = false;
for (var i = 0; i < 20; i++)
{
await Task.Delay(250);
var dlq = channel.QueueDeclarePassive("alerts.paging.dlq");
if (dlq.MessageCount > 0)
{
dlqHasMessage = true;
break;
}
}
dlqHasMessage.Should().BeTrue("probe message should land in alerts.paging.dlq");
var deadline = DateTimeOffset.UtcNow.AddSeconds(15);
while (DateTimeOffset.UtcNow < deadline)
{
await Task.Delay(500);
var dlq = channel.QueueDeclarePassive("alerts.paging.dlq");
if (dlq.MessageCount == 0)
return true;
}
return false;
}
}