public void CanSendAndReceiveFromPrivateQueue() { var name = $"IntegrationTest_{UniqueKeyUtility.Generate()}"; try { using (var queue = CreateLocalQueue(name, true, LocaleQueueMode.DurableCreate, AccessMode.Send)) { queue.Send("Hallo"); } using (var queue = new LocaleQueue(NullLogger.Instance, _messageQueueManager, _messageQueueTransactionFactory, name, true, LocaleQueueMode.DurableCreate, true, AccessMode.Receive)) { var message = (string)queue.Receive(100, _cancellationToken).Message; message.Should().Be("Hallo"); } } finally { _messageQueueManager.Delete(name, true); } }
public void CancelReceiveShouldStopBeforeTimeout() { var name = $"IntegrationTest_{UniqueKeyUtility.Generate()}"; try { using (var queue = new LocaleQueue(NullLogger.Instance, _messageQueueManager, _messageQueueTransactionFactory, name, true, LocaleQueueMode.DurableCreate, true, AccessMode.Receive)) { var cancellationTokenSource = new CancellationTokenSource(); var stopwatch = new Stopwatch(); stopwatch.Start(); cancellationTokenSource.CancelAfter(500); var message = queue.Receive <string>(1000, cancellationTokenSource.Token); message.Should().BeNull(); stopwatch.Stop(); stopwatch.ElapsedMilliseconds.Should().BeInRange(400, 700); } } finally { _messageQueueManager.Delete(name, true); } }