diff --git a/src/Foundatio.AzureServiceBus/Foundatio.AzureServiceBus.csproj b/src/Foundatio.AzureServiceBus/Foundatio.AzureServiceBus.csproj
index 2990017..db576dc 100644
--- a/src/Foundatio.AzureServiceBus/Foundatio.AzureServiceBus.csproj
+++ b/src/Foundatio.AzureServiceBus/Foundatio.AzureServiceBus.csproj
@@ -4,7 +4,7 @@
-
+
diff --git a/src/Foundatio.AzureServiceBus/Messaging/AzureServiceBusMessageBus.cs b/src/Foundatio.AzureServiceBus/Messaging/AzureServiceBusMessageBus.cs
index 99fc109..7d3cef5 100644
--- a/src/Foundatio.AzureServiceBus/Messaging/AzureServiceBusMessageBus.cs
+++ b/src/Foundatio.AzureServiceBus/Messaging/AzureServiceBusMessageBus.cs
@@ -5,7 +5,6 @@
using Foundatio.AsyncEx;
using Foundatio.Extensions;
using Foundatio.Serializer;
-using Foundatio.Utility;
using Microsoft.Azure.ServiceBus;
using Microsoft.Azure.ServiceBus.Management;
using Microsoft.Extensions.Logging;
@@ -133,7 +132,7 @@ protected override Task PublishImplAsync(string messageType, object message, Mes
if (options.DeliveryDelay.HasValue && options.DeliveryDelay.Value > TimeSpan.Zero)
{
_logger.LogTrace("Schedule delayed message: {messageType} ({delay}ms)", messageType, options.DeliveryDelay.Value.TotalMilliseconds);
- brokeredMessage.ScheduledEnqueueTimeUtc = SystemClock.UtcNow.Add(options.DeliveryDelay.Value);
+ brokeredMessage.ScheduledEnqueueTimeUtc = _timeProvider.GetUtcNow().UtcDateTime.Add(options.DeliveryDelay.Value);
}
else
{
diff --git a/src/Foundatio.AzureServiceBus/Queues/AzureServiceBusQueue.cs b/src/Foundatio.AzureServiceBus/Queues/AzureServiceBusQueue.cs
index 810a49e..b1db5b9 100644
--- a/src/Foundatio.AzureServiceBus/Queues/AzureServiceBusQueue.cs
+++ b/src/Foundatio.AzureServiceBus/Queues/AzureServiceBusQueue.cs
@@ -8,7 +8,6 @@
using Foundatio.AzureServiceBus.Queues;
using Foundatio.Extensions;
using Foundatio.Serializer;
-using Foundatio.Utility;
using Microsoft.Azure.ServiceBus;
using Microsoft.Azure.ServiceBus.Core;
using Microsoft.Azure.ServiceBus.Management;
@@ -147,7 +146,7 @@ protected override async Task EnqueueImplAsync(T data, QueueEntryOptions
await _queueSender.SendAsync(brokeredMessage).AnyContext();
- var entry = new QueueEntry(brokeredMessage.MessageId, brokeredMessage.CorrelationId, data, this, SystemClock.UtcNow, 0);
+ var entry = new QueueEntry(brokeredMessage.MessageId, brokeredMessage.CorrelationId, data, this, _timeProvider.GetUtcNow().UtcDateTime, 0);
entry.SetLockToken(brokeredMessage);
foreach (var property in brokeredMessage.UserProperties)
entry.Properties.Add(property.Key, property.Value.ToString());
diff --git a/tests/Directory.Build.props b/tests/Directory.Build.props
index 7ce35d7..4720cb9 100644
--- a/tests/Directory.Build.props
+++ b/tests/Directory.Build.props
@@ -6,13 +6,13 @@
$(NoWarn);CS1591;NU1701
-
-
-
+
+
+
-
+
-
+
diff --git a/tests/Foundatio.AzureServiceBus.Tests/Queues/AzureServiceBusQueueTests.cs b/tests/Foundatio.AzureServiceBus.Tests/Queues/AzureServiceBusQueueTests.cs
index 2464d7c..dff32d1 100644
--- a/tests/Foundatio.AzureServiceBus.Tests/Queues/AzureServiceBusQueueTests.cs
+++ b/tests/Foundatio.AzureServiceBus.Tests/Queues/AzureServiceBusQueueTests.cs
@@ -19,7 +19,7 @@ public AzureServiceBusQueueTests(ITestOutputHelper output) : base(output)
Log.SetLogLevel>(LogLevel.Trace);
}
- protected override IQueue GetQueue(int retries = 1, TimeSpan? workItemTimeout = null, TimeSpan? retryDelay = null, int[] retryMultipliers = null, int deadLetterMaxItems = 100, bool runQueueMaintenance = true)
+ protected override IQueue GetQueue(int retries = 1, TimeSpan? workItemTimeout = null, TimeSpan? retryDelay = null, int[] retryMultipliers = null, int deadLetterMaxItems = 100, bool runQueueMaintenance = true, TimeProvider timeProvider = null)
{
string connectionString = Configuration.GetConnectionString("AzureServiceBusConnectionString");
if (String.IsNullOrEmpty(connectionString))
@@ -44,6 +44,7 @@ protected override IQueue GetQueue(int retries = 1, TimeSpan? wo
RequiresSession = false,
Retries = retries,
RetryPolicy = retryPolicy,
+ TimeProvider = timeProvider,
WorkItemTimeout = workItemTimeout.GetValueOrDefault(TimeSpan.FromMinutes(5)),
LoggerFactory = Log
});