mirror of
https://github.com/Sonarr/Sonarr.git
synced 2024-12-12 11:15:43 +02:00
Added service integration tests.
This commit is contained in:
parent
2fc561f195
commit
02a3b38210
@ -0,0 +1,56 @@
|
|||||||
|
using System.Linq;
|
||||||
|
using FluentAssertions;
|
||||||
|
using NUnit.Framework;
|
||||||
|
using Ninject;
|
||||||
|
using NzbDrone.Core.Providers;
|
||||||
|
using NzbDrone.Core.Providers.Core;
|
||||||
|
using NzbDrone.Core.Repository;
|
||||||
|
using NzbDrone.Core.Test.Framework;
|
||||||
|
using PetaPoco;
|
||||||
|
|
||||||
|
namespace NzbDrone.Core.Test.Integeration
|
||||||
|
{
|
||||||
|
[TestFixture(Category = "ServiceIngeneration")]
|
||||||
|
[Explicit]
|
||||||
|
public class ServiceIntegerationFixture : CoreTest
|
||||||
|
{
|
||||||
|
private KernelBase _kernel;
|
||||||
|
|
||||||
|
[SetUp]
|
||||||
|
public void Setup()
|
||||||
|
{
|
||||||
|
WithRealDb();
|
||||||
|
_kernel = new StandardKernel();
|
||||||
|
_kernel.Bind<IDatabase>().ToConstant(Db);
|
||||||
|
|
||||||
|
Mocker.GetMock<ConfigProvider>().SetupGet(s => s.ServiceRootUrl)
|
||||||
|
.Returns("http://stage.services.nzbdrone.com");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void should_be_able_to_update_scene_mapping()
|
||||||
|
{
|
||||||
|
_kernel.Get<SceneMappingProvider>().UpdateMappings();
|
||||||
|
var mappings = Db.Fetch<SceneMapping>();
|
||||||
|
|
||||||
|
mappings.Should().NotBeEmpty();
|
||||||
|
|
||||||
|
mappings.Should().OnlyContain(c => !string.IsNullOrWhiteSpace(c.CleanTitle));
|
||||||
|
mappings.Should().OnlyContain(c => !string.IsNullOrWhiteSpace(c.SceneName));
|
||||||
|
mappings.Should().OnlyContain(c => c.SeriesId > 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void should_be_able_to_get_daily_series_ids()
|
||||||
|
{
|
||||||
|
var dailySeries = _kernel.Get<ReferenceDataProvider>().GetDailySeriesIds();
|
||||||
|
|
||||||
|
dailySeries.Should().NotBeEmpty();
|
||||||
|
dailySeries.Should().OnlyContain(c => c > 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -104,6 +104,7 @@
|
|||||||
</Reference>
|
</Reference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Compile Include="Integeration\ServiceIntegerationFixture.cs" />
|
||||||
<Compile Include="JobTests\BacklogSearchJobTest.cs" />
|
<Compile Include="JobTests\BacklogSearchJobTest.cs" />
|
||||||
<Compile Include="JobTests\BannerDownloadJobTest.cs" />
|
<Compile Include="JobTests\BannerDownloadJobTest.cs" />
|
||||||
<Compile Include="JobTests\RecentBacklogSearchJobTest.cs" />
|
<Compile Include="JobTests\RecentBacklogSearchJobTest.cs" />
|
||||||
|
@ -3,16 +3,12 @@
|
|||||||
|
|
||||||
using FizzWare.NBuilder;
|
using FizzWare.NBuilder;
|
||||||
using FluentAssertions;
|
using FluentAssertions;
|
||||||
using Moq;
|
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
using NzbDrone.Core.Providers;
|
using NzbDrone.Core.Providers;
|
||||||
using NzbDrone.Core.Providers.Core;
|
using NzbDrone.Core.Providers.Core;
|
||||||
using NzbDrone.Core.Repository;
|
using NzbDrone.Core.Repository;
|
||||||
using NzbDrone.Core.Repository.Quality;
|
|
||||||
using NzbDrone.Core.Test.Framework;
|
using NzbDrone.Core.Test.Framework;
|
||||||
using NzbDrone.Test.Common;
|
using NzbDrone.Test.Common;
|
||||||
using NzbDrone.Test.Common.AutoMoq;
|
|
||||||
using PetaPoco;
|
|
||||||
|
|
||||||
namespace NzbDrone.Core.Test.ProviderTests
|
namespace NzbDrone.Core.Test.ProviderTests
|
||||||
{
|
{
|
||||||
@ -25,6 +21,14 @@ public class ReferenceDataProviderTest : CoreTest
|
|||||||
|
|
||||||
private const string url = "http://services.nzbdrone.com/DailySeries/AllIds";
|
private const string url = "http://services.nzbdrone.com/DailySeries/AllIds";
|
||||||
|
|
||||||
|
[SetUp]
|
||||||
|
public void Setup()
|
||||||
|
{
|
||||||
|
Mocker.GetMock<ConfigProvider>().SetupGet(s => s.ServiceRootUrl)
|
||||||
|
.Returns("http://services.nzbdrone.com");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void GetDailySeriesIds_should_return_list_of_int_when_all_are_valid()
|
public void GetDailySeriesIds_should_return_list_of_int_when_all_are_valid()
|
||||||
{
|
{
|
||||||
|
@ -19,6 +19,13 @@ public class SceneMappingProviderTest : CoreTest
|
|||||||
{
|
{
|
||||||
private const string SceneMappingUrl = "http://services.nzbdrone.com/SceneMapping/Active";
|
private const string SceneMappingUrl = "http://services.nzbdrone.com/SceneMapping/Active";
|
||||||
|
|
||||||
|
[SetUp]
|
||||||
|
public void Setup()
|
||||||
|
{
|
||||||
|
Mocker.GetMock<ConfigProvider>().SetupGet(s => s.ServiceRootUrl)
|
||||||
|
.Returns("http://services.nzbdrone.com");
|
||||||
|
}
|
||||||
|
|
||||||
private void WithValidJson()
|
private void WithValidJson()
|
||||||
{
|
{
|
||||||
Mocker.GetMock<HttpProvider>()
|
Mocker.GetMock<HttpProvider>()
|
||||||
|
@ -422,6 +422,11 @@ public virtual string BlackholeDirectory
|
|||||||
set { SetValue("BlackholeDirectory", value); }
|
set { SetValue("BlackholeDirectory", value); }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public virtual string ServiceRootUrl
|
||||||
|
{
|
||||||
|
get { return "http://services.nzbdrone.com"; }
|
||||||
|
}
|
||||||
|
|
||||||
public string UGuid
|
public string UGuid
|
||||||
{
|
{
|
||||||
get { return GetValue("UGuid", Guid.NewGuid().ToString(), persist: true); }
|
get { return GetValue("UGuid", Guid.NewGuid().ToString(), persist: true); }
|
||||||
|
@ -15,13 +15,15 @@ public class ReferenceDataProvider
|
|||||||
{
|
{
|
||||||
private readonly IDatabase _database;
|
private readonly IDatabase _database;
|
||||||
private readonly HttpProvider _httpProvider;
|
private readonly HttpProvider _httpProvider;
|
||||||
|
private readonly ConfigProvider _configProvider;
|
||||||
|
|
||||||
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
|
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
|
||||||
|
|
||||||
public ReferenceDataProvider(IDatabase database, HttpProvider httpProvider)
|
public ReferenceDataProvider(IDatabase database, HttpProvider httpProvider, ConfigProvider configProvider)
|
||||||
{
|
{
|
||||||
_database = database;
|
_database = database;
|
||||||
_httpProvider = httpProvider;
|
_httpProvider = httpProvider;
|
||||||
|
_configProvider = configProvider;
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void UpdateDailySeries()
|
public virtual void UpdateDailySeries()
|
||||||
@ -46,18 +48,18 @@ public List<int> GetDailySeriesIds()
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var dailySeriesIds = _httpProvider.DownloadString("http://services.nzbdrone.com/DailySeries/AllIds");
|
var dailySeriesIds = _httpProvider.DownloadString(_configProvider.ServiceRootUrl + "/DailySeries/AllIds");
|
||||||
|
|
||||||
var seriesIds = JsonConvert.DeserializeObject<List<int>>(dailySeriesIds);
|
var seriesIds = JsonConvert.DeserializeObject<List<int>>(dailySeriesIds);
|
||||||
|
|
||||||
return seriesIds;
|
return seriesIds;
|
||||||
}
|
}
|
||||||
catch(Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Logger.WarnException("Failed to get Daily Series", ex);
|
Logger.WarnException("Failed to get Daily Series", ex);
|
||||||
return new List<int>();
|
return new List<int>();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -14,11 +14,13 @@ public class SceneMappingProvider
|
|||||||
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
|
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
|
||||||
private readonly IDatabase _database;
|
private readonly IDatabase _database;
|
||||||
private readonly HttpProvider _httpProvider;
|
private readonly HttpProvider _httpProvider;
|
||||||
|
private readonly ConfigProvider _configProvider;
|
||||||
|
|
||||||
public SceneMappingProvider(IDatabase database, HttpProvider httpProvider)
|
public SceneMappingProvider(IDatabase database, HttpProvider httpProvider, ConfigProvider configProvider)
|
||||||
{
|
{
|
||||||
_database = database;
|
_database = database;
|
||||||
_httpProvider = httpProvider;
|
_httpProvider = httpProvider;
|
||||||
|
_configProvider = configProvider;
|
||||||
}
|
}
|
||||||
|
|
||||||
public SceneMappingProvider()
|
public SceneMappingProvider()
|
||||||
@ -30,9 +32,7 @@ public virtual bool UpdateMappings()
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
const string url = "http://services.nzbdrone.com/SceneMapping/Active";
|
var mappingsJson = _httpProvider.DownloadString(_configProvider.ServiceRootUrl + "/SceneMapping/Active");
|
||||||
|
|
||||||
var mappingsJson = _httpProvider.DownloadString(url);
|
|
||||||
var mappings = JsonConvert.DeserializeObject<List<SceneMapping>>(mappingsJson);
|
var mappings = JsonConvert.DeserializeObject<List<SceneMapping>>(mappingsJson);
|
||||||
|
|
||||||
Logger.Debug("Deleting all existing Scene Mappings.");
|
Logger.Debug("Deleting all existing Scene Mappings.");
|
||||||
|
Loading…
Reference in New Issue
Block a user