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.
128 lines
3.9 KiB
128 lines
3.9 KiB
using System.Linq;
|
|
using FluentAssertions;
|
|
using NUnit.Framework;
|
|
|
|
namespace NzbDrone.Integration.Test.ApiTests
|
|
{
|
|
[TestFixture]
|
|
public class DownloadClientFixture : IntegrationTest
|
|
{
|
|
[Test]
|
|
[Order(0)]
|
|
public void add_downloadclient_without_name_should_return_badrequest()
|
|
{
|
|
EnsureNoDownloadClient();
|
|
|
|
var schema = DownloadClients.Schema().First(v => v.Implementation == "UsenetBlackhole");
|
|
|
|
schema.Enable = true;
|
|
schema.Fields.First(v => v.Name == "watchFolder").Value = GetTempDirectory("Download", "UsenetBlackhole", "Watch");
|
|
schema.Fields.First(v => v.Name == "nzbFolder").Value = GetTempDirectory("Download", "UsenetBlackhole", "Nzb");
|
|
|
|
DownloadClients.InvalidPost(schema);
|
|
}
|
|
|
|
[Test]
|
|
[Order(0)]
|
|
public void add_downloadclient_without_nzbfolder_should_return_badrequest()
|
|
{
|
|
EnsureNoDownloadClient();
|
|
|
|
var schema = DownloadClients.Schema().First(v => v.Implementation == "UsenetBlackhole");
|
|
|
|
schema.Enable = true;
|
|
schema.Name = "Test UsenetBlackhole";
|
|
schema.Fields.First(v => v.Name == "watchFolder").Value = GetTempDirectory("Download", "UsenetBlackhole", "Watch");
|
|
|
|
DownloadClients.InvalidPost(schema);
|
|
}
|
|
|
|
[Test]
|
|
[Order(0)]
|
|
public void add_downloadclient_without_watchfolder_should_return_badrequest()
|
|
{
|
|
EnsureNoDownloadClient();
|
|
|
|
var schema = DownloadClients.Schema().First(v => v.Implementation == "UsenetBlackhole");
|
|
|
|
schema.Enable = true;
|
|
schema.Name = "Test UsenetBlackhole";
|
|
schema.Fields.First(v => v.Name == "nzbFolder").Value = GetTempDirectory("Download", "UsenetBlackhole", "Nzb");
|
|
|
|
DownloadClients.InvalidPost(schema);
|
|
}
|
|
|
|
[Test]
|
|
[Order(1)]
|
|
public void add_downloadclient()
|
|
{
|
|
EnsureNoDownloadClient();
|
|
|
|
var schema = DownloadClients.Schema().First(v => v.Implementation == "UsenetBlackhole");
|
|
|
|
schema.Enable = true;
|
|
schema.Name = "Test UsenetBlackhole";
|
|
schema.Fields.First(v => v.Name == "watchFolder").Value = GetTempDirectory("Download", "UsenetBlackhole", "Watch");
|
|
schema.Fields.First(v => v.Name == "nzbFolder").Value = GetTempDirectory("Download", "UsenetBlackhole", "Nzb");
|
|
|
|
var result = DownloadClients.Post(schema);
|
|
|
|
result.Enable.Should().BeTrue();
|
|
}
|
|
|
|
[Test]
|
|
[Order(2)]
|
|
public void get_all_downloadclients()
|
|
{
|
|
EnsureDownloadClient();
|
|
|
|
var clients = DownloadClients.All();
|
|
|
|
clients.Should().NotBeNullOrEmpty();
|
|
}
|
|
|
|
[Test]
|
|
[Order(2)]
|
|
public void get_downloadclient_by_id()
|
|
{
|
|
var client = EnsureDownloadClient();
|
|
|
|
var result = DownloadClients.Get(client.Id);
|
|
|
|
result.Should().NotBeNull();
|
|
}
|
|
|
|
[Test]
|
|
public void get_downloadclient_by_unknown_id_should_return_404()
|
|
{
|
|
var result = DownloadClients.InvalidGet(1000000);
|
|
}
|
|
|
|
[Test]
|
|
[Order(3)]
|
|
public void update_downloadclient()
|
|
{
|
|
EnsureNoDownloadClient();
|
|
var client = EnsureDownloadClient();
|
|
|
|
client.Fields.First(v => v.Name == "nzbFolder").Value = GetTempDirectory("Download", "UsenetBlackhole", "Nzb2");
|
|
var result = DownloadClients.Put(client);
|
|
|
|
result.Should().NotBeNull();
|
|
}
|
|
|
|
[Test]
|
|
[Order(4)]
|
|
public void delete_downloadclient()
|
|
{
|
|
var client = EnsureDownloadClient();
|
|
|
|
DownloadClients.Get(client.Id).Should().NotBeNull();
|
|
|
|
DownloadClients.Delete(client.Id);
|
|
|
|
DownloadClients.All().Should().NotContain(v => v.Id == client.Id);
|
|
}
|
|
}
|
|
}
|