mirror of
https://github.com/lidarr/lidarr.git
synced 2025-08-20 05:23:31 -07:00
Fixed job provider issue where deleted job classes would break scheduler.
This commit is contained in:
parent
def450290f
commit
bb460163c2
2 changed files with 44 additions and 45 deletions
|
@ -4,11 +4,13 @@ using System.Linq;
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
using FizzWare.NBuilder;
|
||||
using FluentAssertions;
|
||||
using NUnit.Framework;
|
||||
using NzbDrone.Core.Jobs;
|
||||
using NzbDrone.Core.Model;
|
||||
using NzbDrone.Core.Providers.Jobs;
|
||||
using NzbDrone.Core.Repository;
|
||||
using NzbDrone.Core.Test.Framework;
|
||||
using NzbDrone.Test.Common;
|
||||
using NzbDrone.Test.Common.AutoMoq;
|
||||
|
@ -283,6 +285,27 @@ namespace NzbDrone.Core.Test.ProviderTests.JobProviderTests
|
|||
timers[0].Enable.Should().BeTrue();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void inti_should_removed_jobs_that_no_longer_exist()
|
||||
{
|
||||
IList<IJob> fakeJobs = new List<IJob> { fakeJob };
|
||||
Mocker.SetConstant(fakeJobs);
|
||||
|
||||
WithRealDb();
|
||||
var deletedJob = Builder<JobDefinition>.CreateNew().Build();
|
||||
Db.Insert(deletedJob);
|
||||
var jobProvider = Mocker.Resolve<JobProvider>();
|
||||
|
||||
//Act
|
||||
jobProvider.Initialize();
|
||||
|
||||
//Assert
|
||||
var registeredJobs = Db.Fetch<JobDefinition>();
|
||||
registeredJobs.Should().HaveCount(1);
|
||||
registeredJobs.Should().NotContain(c => c.Name == deletedJob.Name);
|
||||
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void jobs_with_zero_interval_are_registered_as_disabled()
|
||||
{
|
||||
|
@ -297,24 +320,6 @@ namespace NzbDrone.Core.Test.ProviderTests.JobProviderTests
|
|||
jobProvider.All().First().Enable.Should().BeFalse();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Get_Next_Execution_Time()
|
||||
{
|
||||
IList<IJob> BaseFakeJobs = new List<IJob> { fakeJob };
|
||||
Mocker.SetConstant(BaseFakeJobs);
|
||||
|
||||
//Act
|
||||
var jobProvider = Mocker.Resolve<JobProvider>();
|
||||
jobProvider.Initialize();
|
||||
jobProvider.QueueScheduled();
|
||||
WaitForQueue();
|
||||
|
||||
//Assert
|
||||
var next = jobProvider.NextScheduledRun(typeof(FakeJob));
|
||||
jobProvider.All().Should().HaveCount(1);
|
||||
jobProvider.All().First().LastExecution.Should().Be(next.AddMinutes(-fakeJob.DefaultInterval));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void disabled_jobs_arent_run_by_scheduler()
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue