mirror of
https://github.com/Radarr/Radarr
synced 2026-02-10 00:32:41 +01:00
to remove movies from Trakt Collection when they are removed from Radarr Add OnDelete Notification to TraktConnection to remove movies from Trakt Collection when they are removed from Radarr skip the deleteHandler if the delete Event was triggered for reason: Upgrade change migration from 180 to 182 since 180 and 181 are already in plan to be used address comments regarding helpText for OnDelete and move check for OnUpgrade deletion reason into trakt connection OnDelete handler reuse TraktCollectMoviesResource for OnDelete trakt api should just ignore the other properties anyway add WithDefaultValue to migration add unit test case for onDelete to fix unit testcase for onDelete
125 lines
4 KiB
C#
125 lines
4 KiB
C#
using System;
|
|
using FluentAssertions;
|
|
using FluentValidation.Results;
|
|
using NUnit.Framework;
|
|
using NzbDrone.Core.Movies;
|
|
using NzbDrone.Core.Notifications;
|
|
using NzbDrone.Core.ThingiProvider;
|
|
using NzbDrone.Core.Validation;
|
|
using NzbDrone.Test.Common;
|
|
|
|
namespace NzbDrone.Core.Test.NotificationTests
|
|
{
|
|
[TestFixture]
|
|
public class NotificationBaseFixture : TestBase
|
|
{
|
|
private class TestSetting : IProviderConfig
|
|
{
|
|
public NzbDroneValidationResult Validate()
|
|
{
|
|
return new NzbDroneValidationResult();
|
|
}
|
|
}
|
|
|
|
private class TestNotificationWithOnDownload : NotificationBase<TestSetting>
|
|
{
|
|
public override string Name => "TestNotification";
|
|
public override string Link => "";
|
|
|
|
public override ValidationResult Test()
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public override void OnDownload(DownloadMessage downloadMessage)
|
|
{
|
|
TestLogger.Info("OnDownload was called");
|
|
}
|
|
}
|
|
|
|
private class TestNotificationWithAllEvents : NotificationBase<TestSetting>
|
|
{
|
|
public override string Name => "TestNotification";
|
|
public override string Link => "";
|
|
|
|
public override ValidationResult Test()
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public override void OnGrab(GrabMessage grabMessage)
|
|
{
|
|
TestLogger.Info("OnGrab was called");
|
|
}
|
|
|
|
public override void OnDownload(DownloadMessage message)
|
|
{
|
|
TestLogger.Info("OnDownload was called");
|
|
}
|
|
|
|
public override void OnMovieRename(Movie movie)
|
|
{
|
|
TestLogger.Info("OnRename was called");
|
|
}
|
|
|
|
public override void OnDelete(DeleteMessage message)
|
|
{
|
|
TestLogger.Info("OnDelete was called");
|
|
}
|
|
|
|
public override void OnHealthIssue(NzbDrone.Core.HealthCheck.HealthCheck artist)
|
|
{
|
|
TestLogger.Info("OnHealthIssue was called");
|
|
}
|
|
}
|
|
|
|
private class TestNotificationWithNoEvents : NotificationBase<TestSetting>
|
|
{
|
|
public override string Name => "TestNotification";
|
|
public override string Link => "";
|
|
|
|
public override ValidationResult Test()
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
}
|
|
|
|
[Test]
|
|
public void should_support_OnUpgrade_should_link_to_OnDownload()
|
|
{
|
|
var notification = new TestNotificationWithOnDownload();
|
|
|
|
notification.SupportsOnDownload.Should().BeTrue();
|
|
notification.SupportsOnUpgrade.Should().BeTrue();
|
|
|
|
notification.SupportsOnGrab.Should().BeFalse();
|
|
notification.SupportsOnRename.Should().BeFalse();
|
|
}
|
|
|
|
[Test]
|
|
public void should_support_all_if_implemented()
|
|
{
|
|
var notification = new TestNotificationWithAllEvents();
|
|
|
|
notification.SupportsOnGrab.Should().BeTrue();
|
|
notification.SupportsOnDownload.Should().BeTrue();
|
|
notification.SupportsOnUpgrade.Should().BeTrue();
|
|
notification.SupportsOnRename.Should().BeTrue();
|
|
notification.SupportsOnDelete.Should().BeTrue();
|
|
notification.SupportsOnHealthIssue.Should().BeTrue();
|
|
}
|
|
|
|
[Test]
|
|
public void should_support_none_if_none_are_implemented()
|
|
{
|
|
var notification = new TestNotificationWithNoEvents();
|
|
|
|
notification.SupportsOnGrab.Should().BeFalse();
|
|
notification.SupportsOnDownload.Should().BeFalse();
|
|
notification.SupportsOnUpgrade.Should().BeFalse();
|
|
notification.SupportsOnRename.Should().BeFalse();
|
|
notification.SupportsOnDelete.Should().BeFalse();
|
|
notification.SupportsOnHealthIssue.Should().BeFalse();
|
|
}
|
|
}
|
|
}
|