You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
104 lines
3.2 KiB
104 lines
3.2 KiB
using System;
|
|
using FizzWare.NBuilder;
|
|
using FluentAssertions;
|
|
using NUnit.Framework;
|
|
using NzbDrone.Core.Notifications.Email;
|
|
using NzbDrone.Core.Test.Framework;
|
|
using NzbDrone.Test.Common;
|
|
|
|
namespace NzbDrone.Core.Test.NotificationTests.EmailTests
|
|
{
|
|
[TestFixture]
|
|
public class EmailSettingsValidatorFixture : CoreTest<EmailSettingsValidator>
|
|
{
|
|
private EmailSettings _emailSettings;
|
|
private TestValidator<EmailSettings> _validator;
|
|
|
|
[SetUp]
|
|
public void Setup()
|
|
{
|
|
_validator = new TestValidator<EmailSettings>
|
|
{
|
|
v => v.RuleFor(s => s).SetValidator(Subject)
|
|
};
|
|
|
|
_emailSettings = Builder<EmailSettings>.CreateNew()
|
|
.With(s => s.Server = "someserver")
|
|
.With(s => s.Port = 567)
|
|
.With(s => s.From = "lidarr@lidarr.audio")
|
|
.With(s => s.To = new string[] { "lidarr@lidarr.audio" })
|
|
.Build();
|
|
}
|
|
|
|
[Test]
|
|
public void should_be_valid_if_all_settings_valid()
|
|
{
|
|
_validator.Validate(_emailSettings).IsValid.Should().BeTrue();
|
|
}
|
|
|
|
[Test]
|
|
public void should_not_be_valid_if_port_is_out_of_range()
|
|
{
|
|
_emailSettings.Port = 900000;
|
|
|
|
_validator.Validate(_emailSettings).IsValid.Should().BeFalse();
|
|
}
|
|
|
|
[Test]
|
|
public void should_not_be_valid_if_server_is_empty()
|
|
{
|
|
_emailSettings.Server = "";
|
|
|
|
_validator.Validate(_emailSettings).IsValid.Should().BeFalse();
|
|
}
|
|
|
|
[Test]
|
|
public void should_not_be_valid_if_from_is_empty()
|
|
{
|
|
_emailSettings.From = "";
|
|
|
|
_validator.Validate(_emailSettings).IsValid.Should().BeFalse();
|
|
}
|
|
|
|
[TestCase("lidarr")]
|
|
[TestCase("lidarr@lidarr")]
|
|
[TestCase("lidarr.audio")]
|
|
public void should_not_be_valid_if_to_is_invalid(string email)
|
|
{
|
|
_emailSettings.To = new string[] { email };
|
|
|
|
_validator.Validate(_emailSettings).IsValid.Should().BeFalse();
|
|
}
|
|
|
|
[TestCase("lidarr")]
|
|
[TestCase("lidarr@lidarr")]
|
|
[TestCase("lidarr.audio")]
|
|
public void should_not_be_valid_if_cc_is_invalid(string email)
|
|
{
|
|
_emailSettings.CC = new string[] { email };
|
|
|
|
_validator.Validate(_emailSettings).IsValid.Should().BeFalse();
|
|
}
|
|
|
|
[TestCase("lidarr")]
|
|
[TestCase("lidarr@lidarr")]
|
|
[TestCase("lidarr.audio")]
|
|
public void should_not_be_valid_if_bcc_is_invalid(string email)
|
|
{
|
|
_emailSettings.Bcc = new string[] { email };
|
|
|
|
_validator.Validate(_emailSettings).IsValid.Should().BeFalse();
|
|
}
|
|
|
|
[Test]
|
|
public void should_not_be_valid_if_to_bcc_cc_are_all_empty()
|
|
{
|
|
_emailSettings.To = Array.Empty<string>();
|
|
_emailSettings.CC = Array.Empty<string>();
|
|
_emailSettings.Bcc = Array.Empty<string>();
|
|
|
|
_validator.Validate(_emailSettings).IsValid.Should().BeFalse();
|
|
}
|
|
}
|
|
}
|