2019-12-22 22:08:53 +00:00
|
|
|
using System.Linq;
|
|
|
|
using System.Net;
|
2018-02-13 18:10:49 +00:00
|
|
|
using FluentAssertions;
|
2013-04-28 19:46:13 +00:00
|
|
|
using NUnit.Framework;
|
2019-12-03 01:36:18 +00:00
|
|
|
using Radarr.Api.V3.Indexers;
|
2013-04-28 19:46:13 +00:00
|
|
|
|
2016-04-04 17:40:51 +00:00
|
|
|
namespace NzbDrone.Integration.Test.ApiTests
|
2013-04-28 19:46:13 +00:00
|
|
|
{
|
|
|
|
[TestFixture]
|
2018-02-13 18:10:49 +00:00
|
|
|
[Ignore("Need mock Newznab to test")]
|
2016-04-04 17:40:51 +00:00
|
|
|
public class ReleaseFixture : IntegrationTest
|
2013-04-28 19:46:13 +00:00
|
|
|
{
|
|
|
|
[Test]
|
2018-02-13 18:10:49 +00:00
|
|
|
public void should_only_have_unknown_movie_releases()
|
2013-04-28 19:46:13 +00:00
|
|
|
{
|
2013-04-29 00:39:17 +00:00
|
|
|
var releases = Releases.All();
|
2013-10-01 19:32:08 +00:00
|
|
|
var indexers = Indexers.All();
|
|
|
|
|
2018-02-13 18:10:49 +00:00
|
|
|
releases.Should().OnlyContain(c => c.Rejections.Contains("Unknown Movie"));
|
2013-10-01 19:32:08 +00:00
|
|
|
releases.Should().OnlyContain(c => BeValidRelease(c));
|
2013-04-28 19:46:13 +00:00
|
|
|
}
|
|
|
|
|
2014-08-06 17:29:34 +00:00
|
|
|
[Test]
|
|
|
|
public void should_reject_unknown_release()
|
|
|
|
{
|
|
|
|
var result = Releases.Post(new ReleaseResource { Guid = "unknown" }, HttpStatusCode.NotFound);
|
|
|
|
|
|
|
|
result.Id.Should().Be(0);
|
|
|
|
}
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
public void should_accept_request_with_only_guid_supplied()
|
|
|
|
{
|
|
|
|
var releases = Releases.All();
|
|
|
|
|
|
|
|
// InternalServerError is caused by the Release being invalid for download (no Series).
|
|
|
|
// But if it didn't accept it, it would return NotFound.
|
|
|
|
// TODO: Maybe we should create a full mock Newznab server endpoint.
|
2022-11-20 18:27:45 +00:00
|
|
|
// var result = Releases.Post(new ReleaseResource { Guid = releases.First().Guid });
|
|
|
|
// result.Guid.Should().Be(releases.First().Guid);
|
2014-08-06 17:29:34 +00:00
|
|
|
var result = Releases.Post(new ReleaseResource { Guid = releases.First().Guid }, HttpStatusCode.InternalServerError);
|
|
|
|
}
|
|
|
|
|
2013-04-29 00:39:17 +00:00
|
|
|
private bool BeValidRelease(ReleaseResource releaseResource)
|
|
|
|
{
|
2014-08-06 17:29:34 +00:00
|
|
|
releaseResource.Guid.Should().NotBeNullOrEmpty();
|
2013-04-29 00:39:17 +00:00
|
|
|
releaseResource.Age.Should().BeGreaterOrEqualTo(-1);
|
2014-08-25 01:28:41 +00:00
|
|
|
releaseResource.Title.Should().NotBeNullOrWhiteSpace();
|
|
|
|
releaseResource.DownloadUrl.Should().NotBeNullOrWhiteSpace();
|
2020-10-16 03:08:08 +00:00
|
|
|
releaseResource.MovieTitles.First().Should().NotBeNullOrWhiteSpace();
|
2019-12-22 22:08:53 +00:00
|
|
|
|
2022-11-20 18:27:45 +00:00
|
|
|
// TODO: uncomment these after moving to restsharp for rss
|
|
|
|
// releaseResource.NzbInfoUrl.Should().NotBeNullOrWhiteSpace();
|
|
|
|
// releaseResource.Size.Should().BeGreaterThan(0);
|
2013-04-29 00:39:17 +00:00
|
|
|
return true;
|
|
|
|
}
|
2013-04-28 19:46:13 +00:00
|
|
|
}
|
2018-02-13 18:10:49 +00:00
|
|
|
}
|