Lidarr/NzbDrone.Core.Test/ProviderTests/ProwlProviderTest.cs

148 lines
4.3 KiB
C#
Raw Normal View History

2011-11-03 02:44:22 +00:00
using System;
2011-11-03 02:44:22 +00:00
using FizzWare.NBuilder;
using FluentAssertions;
using Moq;
using NUnit.Framework;
using NzbDrone.Core.Model;
using NzbDrone.Core.Providers;
using NzbDrone.Core.Repository;
using NzbDrone.Core.Repository.Quality;
using NzbDrone.Core.Test.Framework;
using NzbDrone.Test.Common;
using NzbDrone.Test.Common.AutoMoq;
2011-11-03 02:44:22 +00:00
using Prowlin;
// ReSharper disable InconsistentNaming
namespace NzbDrone.Core.Test.ProviderTests
{
[Explicit]
[TestFixture]
2011-11-13 07:27:16 +00:00
public class ProwlProviderTest : CoreTest
2011-11-03 02:44:22 +00:00
{
private const string _apiKey = "c3bdc0f48168f72d546cc6872925b160f5cbffc1";
private const string _apiKey2 = "46a710a46b111b0b8633819b0d8a1e0272a3affa";
private const string _badApiKey = "1234567890abcdefghijklmnopqrstuvwxyz1234";
[Test]
public void Verify_should_return_true_for_a_valid_apiKey()
{
//Setup
2011-12-15 04:15:53 +00:00
WithStrictMocker();
2011-11-03 02:44:22 +00:00
//Act
2011-12-15 04:15:53 +00:00
var result = Mocker.Resolve<ProwlProvider>().Verify(_apiKey);
2011-11-03 02:44:22 +00:00
//Assert
result.Should().BeTrue();
}
[Test]
public void Verify_should_return_false_for_an_invalid_apiKey()
{
//Setup
2011-12-15 04:15:53 +00:00
WithStrictMocker();
2011-11-03 02:44:22 +00:00
//Act
2011-12-15 04:15:53 +00:00
var result = Mocker.Resolve<ProwlProvider>().Verify(_badApiKey);
2011-11-03 02:44:22 +00:00
//Assert
ExceptionVerification.ExcpectedWarns(1);
result.Should().BeFalse();
}
[Test]
public void SendNotification_should_return_true_for_a_valid_apiKey()
{
//Setup
2011-12-15 04:15:53 +00:00
WithStrictMocker();
2011-11-03 02:44:22 +00:00
//Act
2011-12-15 04:15:53 +00:00
var result = Mocker.Resolve<ProwlProvider>().SendNotification("NzbDrone Test", "This is a test message from NzbDrone", _apiKey);
2011-11-03 02:44:22 +00:00
//Assert
result.Should().BeTrue();
}
[Test]
public void SendNotification_should_return_false_for_an_invalid_apiKey()
{
//Setup
2011-12-15 04:15:53 +00:00
WithStrictMocker();
2011-11-03 02:44:22 +00:00
//Act
2011-12-15 04:15:53 +00:00
var result = Mocker.Resolve<ProwlProvider>().SendNotification("NzbDrone Test", "This is a test message from NzbDrone", _badApiKey);
2011-11-03 02:44:22 +00:00
//Assert
ExceptionVerification.ExcpectedWarns(1);
result.Should().BeFalse();
}
[Test]
public void SendNotification_should_alert_with_high_priority()
{
//Setup
2011-12-15 04:15:53 +00:00
WithStrictMocker();
2011-11-03 02:44:22 +00:00
//Act
2011-12-15 04:15:53 +00:00
var result = Mocker.Resolve<ProwlProvider>().SendNotification("NzbDrone Test", "This is a test message from NzbDrone (High)", _apiKey, NotificationPriority.High);
2011-11-03 02:44:22 +00:00
//Assert
result.Should().BeTrue();
}
[Test]
public void SendNotification_should_alert_with_VeryLow_priority()
{
//Setup
2011-12-15 04:15:53 +00:00
WithStrictMocker();
2011-11-03 02:44:22 +00:00
//Act
2011-12-15 04:15:53 +00:00
var result = Mocker.Resolve<ProwlProvider>().SendNotification("NzbDrone Test", "This is a test message from NzbDrone (VeryLow)", _apiKey, NotificationPriority.VeryLow);
2011-11-03 02:44:22 +00:00
//Assert
result.Should().BeTrue();
}
[Test]
public void SendNotification_should_have_a_call_back_url()
{
//Setup
2011-12-15 04:15:53 +00:00
WithStrictMocker();
2011-11-03 02:44:22 +00:00
//Act
2011-12-15 04:15:53 +00:00
var result = Mocker.Resolve<ProwlProvider>().SendNotification("NzbDrone Test", "This is a test message from NzbDrone", _apiKey, NotificationPriority.Normal, "http://www.nzbdrone.com");
2011-11-03 02:44:22 +00:00
//Assert
result.Should().BeTrue();
}
[Test]
public void SendNotification_should_return_true_for_two_valid_apiKey()
{
//Setup
2011-12-15 04:15:53 +00:00
WithStrictMocker();
2011-11-03 02:44:22 +00:00
//Act
2011-12-15 04:15:53 +00:00
var result = Mocker.Resolve<ProwlProvider>().SendNotification("NzbDrone Test", "This is a test message from NzbDrone", _apiKey + ", " + _apiKey2);
2011-11-03 02:44:22 +00:00
//Assert
result.Should().BeTrue();
}
[Test]
public void SendNotification_should_return_true_for_valid_apiKey_with_bad_apiKey()
{
//Setup
2011-12-15 04:15:53 +00:00
WithStrictMocker();
2011-11-03 02:44:22 +00:00
//Act
2011-12-15 04:15:53 +00:00
var result = Mocker.Resolve<ProwlProvider>().SendNotification("NzbDrone Test", "This is a test message from NzbDrone", _apiKey + ", " + _badApiKey);
2011-11-03 02:44:22 +00:00
//Assert
result.Should().BeTrue();
}
}
}