예제 #1
0
        public async Task ShouldExecuteEnqueuedCrawlRequest()
        {
            var request = new HyperlinkCrawlRequest(_crawlUri)
            {
                MaxDepth = 5
            };
            var hangfire = HangfireTestUtil.SetupHangfire();

            using (var _ = hangfire.StartServer())
            {
                hangfire.BackgroundJobClient.Enqueue <CrawlJobPerformer>(p =>
                                                                         p.Perform(request));

                await Task.Delay(TimeSpan.FromSeconds(2));
            }

            hangfire.Strategy.Verify(s => s.ProcessRequestAsync(
                                         It.IsAny <CrawlRequestBase>(),
                                         It.IsAny <CancellationToken>()),
                                     Times.Once);
        }
예제 #2
0
        public void ShouldExecuteCrawlRequest()
        {
            var request = new HyperlinkCrawlRequest(_crawlUri)
            {
                MaxDepth = 5
            };
            var hangfire = HangfireTestUtil.SetupHangfire();
            var job      = Job.FromExpression((CrawlJobPerformer p) =>
                                              p.Perform(request));
            var backgroundJob = new BackgroundJob(
                Guid.NewGuid().ToString("N"),
                job,
                DateTime.UtcNow);

            hangfire.Perform(backgroundJob);

            hangfire.Strategy.Verify(s => s.ProcessRequestAsync(
                                         It.IsAny <CrawlRequestBase>(),
                                         It.IsAny <CancellationToken>()),
                                     Times.Once);
        }