mirror of https://github.com/lidarr/Lidarr
Update Integration Unit Tests
This commit is contained in:
parent
fd048bc92e
commit
a69ceb35fb
|
@ -1,8 +1,4 @@
|
|||
using NzbDrone.Core.Messaging.Commands;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using NzbDrone.Core.Messaging.Commands;
|
||||
|
||||
namespace NzbDrone.Core.Music.Commands
|
||||
{
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
using FluentAssertions;
|
||||
using NUnit.Framework;
|
||||
using Lidarr.Api.V3.Artist;
|
||||
using System.Linq;
|
||||
using NzbDrone.Test.Common;
|
||||
|
||||
|
@ -10,11 +11,12 @@ namespace NzbDrone.Integration.Test.ApiTests
|
|||
{
|
||||
private void GivenExistingArtist()
|
||||
{
|
||||
foreach (var name in new[] { "90210", "Dexter" })
|
||||
foreach (var name in new[] { "Alien Ant Farm", "Kiss" })
|
||||
{
|
||||
var newArtist = Artist.Lookup(name).First();
|
||||
|
||||
newArtist.QualityProfileId = 1;
|
||||
newArtist.LanguageProfileId = 1;
|
||||
newArtist.Path = string.Format(@"C:\Test\{0}", name).AsOsAgnostic();
|
||||
|
||||
Artist.Post(newArtist);
|
||||
|
@ -28,12 +30,13 @@ namespace NzbDrone.Integration.Test.ApiTests
|
|||
|
||||
var artist = Artist.All();
|
||||
|
||||
foreach (var s in artist)
|
||||
var artistEditor = new ArtistEditorResource
|
||||
{
|
||||
s.QualityProfileId = 2;
|
||||
}
|
||||
QualityProfileId = 2,
|
||||
ArtistIds = artist.Select(o => o.Id).ToList()
|
||||
};
|
||||
|
||||
var result = Artist.Editor(artist);
|
||||
var result = Artist.Editor(artistEditor);
|
||||
|
||||
result.Should().HaveCount(2);
|
||||
result.TrueForAll(s => s.QualityProfileId == 2).Should().BeTrue();
|
||||
|
|
|
@ -18,6 +18,7 @@ namespace NzbDrone.Integration.Test.ApiTests
|
|||
var artist = Artist.Lookup("lidarr:f59c5520-5f46-4d2c-b2c4-822eabf53419").Single();
|
||||
|
||||
artist.QualityProfileId = 1;
|
||||
artist.LanguageProfileId = 1;
|
||||
artist.Path = Path.Combine(ArtistRootFolder, artist.ArtistName);
|
||||
artist.Tags = new HashSet<int>();
|
||||
artist.Tags.Add(tag.Id);
|
||||
|
@ -48,6 +49,7 @@ namespace NzbDrone.Integration.Test.ApiTests
|
|||
var artist = Artist.Lookup("lidarr:f59c5520-5f46-4d2c-b2c4-822eabf53419").Single();
|
||||
|
||||
artist.QualityProfileId = 1;
|
||||
artist.LanguageProfileId = 1;
|
||||
|
||||
Artist.InvalidPost(artist);
|
||||
}
|
||||
|
@ -60,6 +62,7 @@ namespace NzbDrone.Integration.Test.ApiTests
|
|||
var artist = Artist.Lookup("lidarr:f59c5520-5f46-4d2c-b2c4-822eabf53419").Single();
|
||||
|
||||
artist.QualityProfileId = 1;
|
||||
artist.LanguageProfileId = 1;
|
||||
artist.Path = Path.Combine(ArtistRootFolder, artist.ArtistName);
|
||||
|
||||
var result = Artist.Post(artist);
|
||||
|
@ -67,6 +70,7 @@ namespace NzbDrone.Integration.Test.ApiTests
|
|||
result.Should().NotBeNull();
|
||||
result.Id.Should().NotBe(0);
|
||||
result.QualityProfileId.Should().Be(1);
|
||||
result.LanguageProfileId.Should().Be(1);
|
||||
result.Path.Should().Be(Path.Combine(ArtistRootFolder, artist.ArtistName));
|
||||
}
|
||||
|
||||
|
@ -74,22 +78,24 @@ namespace NzbDrone.Integration.Test.ApiTests
|
|||
[Test, Order(2)]
|
||||
public void get_all_artist()
|
||||
{
|
||||
EnsureArtist("266189", "Alien Ant Farm");
|
||||
EnsureArtist("73065", "Coldplay");
|
||||
EnsureArtist("8ac6cc32-8ddf-43b1-9ac4-4b04f9053176", "Alien Ant Farm");
|
||||
EnsureArtist("cc197bad-dc9c-440d-a5b5-d52ba2e14234", "Coldplay");
|
||||
|
||||
Artist.All().Should().NotBeNullOrEmpty();
|
||||
Artist.All().Should().Contain(v => v.ForeignArtistId == "73065");
|
||||
Artist.All().Should().Contain(v => v.ForeignArtistId == "266189");
|
||||
var artists = Artist.All();
|
||||
|
||||
artists.Should().NotBeNullOrEmpty();
|
||||
artists.Should().Contain(v => v.ForeignArtistId == "8ac6cc32-8ddf-43b1-9ac4-4b04f9053176");
|
||||
artists.Should().Contain(v => v.ForeignArtistId == "cc197bad-dc9c-440d-a5b5-d52ba2e14234");
|
||||
}
|
||||
|
||||
[Test, Order(2)]
|
||||
public void get_artist_by_id()
|
||||
{
|
||||
var artist = EnsureArtist("266189", "Alien Ant Farm");
|
||||
var artist = EnsureArtist("8ac6cc32-8ddf-43b1-9ac4-4b04f9053176", "Alien Ant Farm");
|
||||
|
||||
var result = Artist.Get(artist.Id);
|
||||
|
||||
result.ForeignArtistId.Should().Be("266189");
|
||||
result.ForeignArtistId.Should().Be("8ac6cc32-8ddf-43b1-9ac4-4b04f9053176");
|
||||
}
|
||||
|
||||
[Test]
|
||||
|
@ -101,7 +107,7 @@ namespace NzbDrone.Integration.Test.ApiTests
|
|||
[Test, Order(2)]
|
||||
public void update_artist_profile_id()
|
||||
{
|
||||
var artist = EnsureArtist("266189", "Alien Ant Farm");
|
||||
var artist = EnsureArtist("8ac6cc32-8ddf-43b1-9ac4-4b04f9053176", "Alien Ant Farm");
|
||||
|
||||
var profileId = 1;
|
||||
if (artist.QualityProfileId == profileId)
|
||||
|
@ -110,6 +116,7 @@ namespace NzbDrone.Integration.Test.ApiTests
|
|||
}
|
||||
|
||||
artist.QualityProfileId = profileId;
|
||||
artist.LanguageProfileId = profileId;
|
||||
|
||||
var result = Artist.Put(artist);
|
||||
|
||||
|
@ -139,7 +146,7 @@ namespace NzbDrone.Integration.Test.ApiTests
|
|||
[Test, Order(3)]
|
||||
public void update_artist_tags()
|
||||
{
|
||||
var artist = EnsureArtist("266189", "Alien Ant Farm");
|
||||
var artist = EnsureArtist("8ac6cc32-8ddf-43b1-9ac4-4b04f9053176", "Alien Ant Farm");
|
||||
var tag = EnsureTag("abc");
|
||||
|
||||
if (artist.Tags.Contains(tag.Id))
|
||||
|
@ -161,13 +168,13 @@ namespace NzbDrone.Integration.Test.ApiTests
|
|||
[Test, Order(4)]
|
||||
public void delete_artist()
|
||||
{
|
||||
var artist = EnsureArtist("266189", "Alien Ant Farm");
|
||||
var artist = EnsureArtist("8ac6cc32-8ddf-43b1-9ac4-4b04f9053176", "Alien Ant Farm");
|
||||
|
||||
Artist.Get(artist.Id).Should().NotBeNull();
|
||||
|
||||
Artist.Delete(artist.Id);
|
||||
|
||||
Artist.All().Should().NotContain(v => v.ForeignArtistId == "266189");
|
||||
Artist.All().Should().NotContain(v => v.ForeignArtistId == "8ac6cc32-8ddf-43b1-9ac4-4b04f9053176");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,8 +6,8 @@ namespace NzbDrone.Integration.Test.ApiTests
|
|||
[TestFixture]
|
||||
public class ArtistLookupFixture : IntegrationTest
|
||||
{
|
||||
[TestCase("archer", "Archer (2009)")]
|
||||
[TestCase("90210", "90210")]
|
||||
[TestCase("Kiss", "Kiss")]
|
||||
[TestCase("Linkin Park", "Linkin Park")]
|
||||
public void lookup_new_artist_by_name(string term, string name)
|
||||
{
|
||||
var artist = Artist.Lookup(term);
|
||||
|
@ -17,17 +17,17 @@ namespace NzbDrone.Integration.Test.ApiTests
|
|||
}
|
||||
|
||||
[Test]
|
||||
public void lookup_new_series_by_tvdbid()
|
||||
public void lookup_new_artist_by_mbid()
|
||||
{
|
||||
var artist = Artist.Lookup("lidarr:266189");
|
||||
var artist = Artist.Lookup("lidarr:f59c5520-5f46-4d2c-b2c4-822eabf53419");
|
||||
|
||||
artist.Should().NotBeEmpty();
|
||||
artist.Should().Contain(c => c.ArtistName == "The Blacklist");
|
||||
artist.Should().Contain(c => c.ArtistName == "Linkin Park");
|
||||
}
|
||||
|
||||
[Test]
|
||||
[Ignore("Unreliable")]
|
||||
public void lookup_random_series_using_asterix()
|
||||
public void lookup_random_artist_using_asterix()
|
||||
{
|
||||
var artist = Artist.Lookup("*");
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ namespace NzbDrone.Integration.Test.ApiTests
|
|||
[Test, Order(0)]
|
||||
public void missing_should_be_empty()
|
||||
{
|
||||
EnsureNoArtist("266189", "The Blacklist");
|
||||
EnsureNoArtist("8ac6cc32-8ddf-43b1-9ac4-4b04f9053176", "Alien Ant Farm");
|
||||
|
||||
var result = WantedMissing.GetPaged(0, 15, "releaseDate", "desc");
|
||||
|
||||
|
@ -21,7 +21,7 @@ namespace NzbDrone.Integration.Test.ApiTests
|
|||
[Test, Order(1)]
|
||||
public void missing_should_have_monitored_items()
|
||||
{
|
||||
EnsureArtist("266189", "The Blacklist", true);
|
||||
EnsureArtist("8ac6cc32-8ddf-43b1-9ac4-4b04f9053176", "Alien Ant Farm", true);
|
||||
|
||||
var result = WantedMissing.GetPaged(0, 15, "releaseDate", "desc");
|
||||
|
||||
|
@ -31,7 +31,7 @@ namespace NzbDrone.Integration.Test.ApiTests
|
|||
[Test, Order(1)]
|
||||
public void missing_should_have_artist()
|
||||
{
|
||||
EnsureArtist("266189", "The Blacklist", true);
|
||||
EnsureArtist("8ac6cc32-8ddf-43b1-9ac4-4b04f9053176", "Alien Ant Farm", true);
|
||||
|
||||
var result = WantedMissing.GetPaged(0, 15, "releaseDate", "desc");
|
||||
|
||||
|
@ -43,7 +43,7 @@ namespace NzbDrone.Integration.Test.ApiTests
|
|||
public void cutoff_should_have_monitored_items()
|
||||
{
|
||||
EnsureProfileCutoff(1, Quality.MP3_256);
|
||||
var artist = EnsureArtist("266189", "The Blacklist", true);
|
||||
var artist = EnsureArtist("8ac6cc32-8ddf-43b1-9ac4-4b04f9053176", "Alien Ant Farm", true);
|
||||
EnsureTrackFile(artist, 1, 1, Quality.MP3_192);
|
||||
|
||||
var result = WantedCutoffUnmet.GetPaged(0, 15, "releaseDate", "desc");
|
||||
|
@ -54,7 +54,7 @@ namespace NzbDrone.Integration.Test.ApiTests
|
|||
[Test, Order(1)]
|
||||
public void missing_should_not_have_unmonitored_items()
|
||||
{
|
||||
EnsureArtist("266189", "The Blacklist", false);
|
||||
EnsureArtist("8ac6cc32-8ddf-43b1-9ac4-4b04f9053176", "Alien Ant Farm", false);
|
||||
|
||||
var result = WantedMissing.GetPaged(0, 15, "releaseDate", "desc");
|
||||
|
||||
|
@ -65,7 +65,7 @@ namespace NzbDrone.Integration.Test.ApiTests
|
|||
public void cutoff_should_not_have_unmonitored_items()
|
||||
{
|
||||
EnsureProfileCutoff(1, Quality.MP3_256);
|
||||
var artist = EnsureArtist("266189", "The Blacklist", false);
|
||||
var artist = EnsureArtist("8ac6cc32-8ddf-43b1-9ac4-4b04f9053176", "Alien Ant Farm", false);
|
||||
EnsureTrackFile(artist, 1, 1, Quality.MP3_192);
|
||||
|
||||
var result = WantedCutoffUnmet.GetPaged(0, 15, "releaseDate", "desc");
|
||||
|
@ -77,19 +77,19 @@ namespace NzbDrone.Integration.Test.ApiTests
|
|||
public void cutoff_should_have_artist()
|
||||
{
|
||||
EnsureProfileCutoff(1, Quality.MP3_256);
|
||||
var artist = EnsureArtist("266189", "The Blacklist", true);
|
||||
var artist = EnsureArtist("8ac6cc32-8ddf-43b1-9ac4-4b04f9053176", "Alien Ant Farm", true);
|
||||
EnsureTrackFile(artist, 1, 1, Quality.MP3_192);
|
||||
|
||||
var result = WantedCutoffUnmet.GetPaged(0, 15, "releaseDate", "desc");
|
||||
|
||||
result.Records.First().Artist.Should().NotBeNull();
|
||||
result.Records.First().Artist.ArtistName.Should().Be("The Blacklist");
|
||||
result.Records.First().Artist.ArtistName.Should().Be("Alien Ant Farm");
|
||||
}
|
||||
|
||||
[Test, Order(2)]
|
||||
public void missing_should_have_unmonitored_items()
|
||||
{
|
||||
EnsureArtist("266189", "The Blacklist", false);
|
||||
EnsureArtist("8ac6cc32-8ddf-43b1-9ac4-4b04f9053176", "Alien Ant Farm", false);
|
||||
|
||||
var result = WantedMissing.GetPaged(0, 15, "releaseDate", "desc", "monitored", "false");
|
||||
|
||||
|
@ -100,7 +100,7 @@ namespace NzbDrone.Integration.Test.ApiTests
|
|||
public void cutoff_should_have_unmonitored_items()
|
||||
{
|
||||
EnsureProfileCutoff(1, Quality.MP3_256);
|
||||
var artist = EnsureArtist("266189", "The Blacklist", false);
|
||||
var artist = EnsureArtist("8ac6cc32-8ddf-43b1-9ac4-4b04f9053176", "Alien Ant Farm", false);
|
||||
EnsureTrackFile(artist, 1, 1, Quality.MP3_192);
|
||||
|
||||
var result = WantedCutoffUnmet.GetPaged(0, 15, "releaseDate", "desc", "monitored", "false");
|
||||
|
|
|
@ -19,10 +19,10 @@ namespace NzbDrone.Integration.Test.Client
|
|||
return Get<List<ArtistResource>>(request);
|
||||
}
|
||||
|
||||
public List<ArtistResource> Editor(List<ArtistResource> series)
|
||||
public List<ArtistResource> Editor(ArtistEditorResource artist)
|
||||
{
|
||||
var request = BuildRequest("editor");
|
||||
request.AddBody(series);
|
||||
request.AddBody(artist);
|
||||
return Put<List<ArtistResource>>(request);
|
||||
}
|
||||
|
||||
|
|
|
@ -20,6 +20,7 @@ using Lidarr.Api.V3.Profiles.Quality;
|
|||
using Lidarr.Api.V3.RootFolders;
|
||||
using Lidarr.Api.V3.Artist;
|
||||
using Lidarr.Api.V3.Albums;
|
||||
using Lidarr.Api.V3.Tracks;
|
||||
using Lidarr.Api.V3.Tags;
|
||||
using NzbDrone.Common.EnvironmentInfo;
|
||||
using NzbDrone.Common.Serializer;
|
||||
|
@ -94,7 +95,7 @@ namespace NzbDrone.Integration.Test
|
|||
|
||||
protected virtual void InitRestClients()
|
||||
{
|
||||
RestClient = new RestClient(RootUrl + "api/");
|
||||
RestClient = new RestClient(RootUrl + "api/v3/");
|
||||
RestClient.AddDefaultHeader("Authentication", ApiKey);
|
||||
RestClient.AddDefaultHeader("X-Api-Key", ApiKey);
|
||||
|
||||
|
@ -102,6 +103,7 @@ namespace NzbDrone.Integration.Test
|
|||
Commands = new CommandClient(RestClient, ApiKey);
|
||||
DownloadClients = new DownloadClientClient(RestClient, ApiKey);
|
||||
Albums = new AlbumClient(RestClient, ApiKey);
|
||||
Tracks = new TrackClient(RestClient, ApiKey);
|
||||
History = new ClientBase<HistoryResource>(RestClient, ApiKey);
|
||||
HostConfig = new ClientBase<HostConfigResource>(RestClient, ApiKey, "config/host");
|
||||
Indexers = new IndexerClient(RestClient, ApiKey);
|
||||
|
|
Loading…
Reference in New Issue