/
vshmidt
/
masstransit
Обзор
Документация
Войти
/
vshmidt
/
masstransit
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
tests/MassTransit.QuartzIntegration.Tests/QuartzInMemoryTestFixture.cs
58 строк
2 KB
Chris Patterson
Package updates
10 июн 2025, 18:00
10 июн 2025, 18:00
8a29f86
Код
Авторство
О чём код?
namespace MassTransit.QuartzIntegration.Tests { using System; using System.Threading.Tasks; using NUnit.Framework; using Quartz; using Scheduling; using TestFramework; public abstract class QuartzInMemoryTestFixture : InMemoryTestFixture { readonly Lazy<IMessageScheduler> _messageScheduler; QuartzTimeAdjustment _adjustment; ISchedulerFactory _schedulerFactory; protected QuartzInMemoryTestFixture() { QuartzAddress = new Uri("loopback://localhost/quartz"); _messageScheduler = new Lazy<IMessageScheduler>(() => new MessageScheduler(new EndpointScheduleMessageProvider(() => GetSendEndpoint(QuartzAddress)), Bus.Topology)); } protected Uri QuartzAddress { get; } protected ISendEndpoint QuartzEndpoint { get; set; } protected IMessageScheduler Scheduler => _messageScheduler.Value; protected override void ConfigureInMemoryBus(IInMemoryBusFactoryConfigurator configurator) { configurator.UseInMemoryScheduler(out _schedulerFactory); _adjustment = new QuartzTimeAdjustment(_schedulerFactory); base.ConfigureInMemoryBus(configurator); } protected Task AdvanceTime(TimeSpan duration) { return _adjustment.AdvanceTime(duration); } [OneTimeSetUp] public async Task Setup_quartz_service() { QuartzEndpoint = await GetSendEndpoint(QuartzAddress); } [OneTimeTearDown] public void Take_it_down() { _adjustment?.Dispose(); } } }