1
0
mirror of https://github.com/Radarr/Radarr.git synced 2024-10-06 08:07:20 +02:00

Naming config fixed, with integration tests

This commit is contained in:
Mark McDowall 2013-08-27 17:16:24 -07:00
parent b088c2c19d
commit 4989822874
7 changed files with 52 additions and 11 deletions

View File

@ -22,10 +22,9 @@ public NamingModule(INamingConfigService namingConfigService, IBuildFileNames bu
_namingConfigService = namingConfigService; _namingConfigService = namingConfigService;
_buildFileNames = buildFileNames; _buildFileNames = buildFileNames;
GetResourceSingle = GetNamingConfig; GetResourceSingle = GetNamingConfig;
GetResourceById = GetNamingConfig;
UpdateResource = UpdateNamingConfig; UpdateResource = UpdateNamingConfig;
Get["/samples"] = x => GetExamples(this.Bind<NamingConfigResource>()); Get["/samples"] = x => GetExamples(this.Bind<NamingConfigResource>());
SharedValidator.RuleFor(c => c.MultiEpisodeStyle).InclusiveBetween(0, 3); SharedValidator.RuleFor(c => c.MultiEpisodeStyle).InclusiveBetween(0, 3);
@ -35,7 +34,7 @@ public NamingModule(INamingConfigService namingConfigService, IBuildFileNames bu
private void UpdateNamingConfig(NamingConfigResource resource) private void UpdateNamingConfig(NamingConfigResource resource)
{ {
GetNewId<NamingConfig>(_namingConfigService.Save, resource); _namingConfigService.Save(resource.InjectTo<NamingConfig>());
} }
private NamingConfigResource GetNamingConfig() private NamingConfigResource GetNamingConfig()
@ -43,6 +42,11 @@ private NamingConfigResource GetNamingConfig()
return _namingConfigService.GetConfig().InjectTo<NamingConfigResource>(); return _namingConfigService.GetConfig().InjectTo<NamingConfigResource>();
} }
private NamingConfigResource GetNamingConfig(int id)
{
return GetNamingConfig();
}
private JsonResponse<NamingSampleResource> GetExamples(NamingConfigResource config) private JsonResponse<NamingSampleResource> GetExamples(NamingConfigResource config)
{ {
var nameSpec = config.InjectTo<NamingConfig>(); var nameSpec = config.InjectTo<NamingConfig>();

View File

@ -21,7 +21,6 @@ protected NzbDroneRestModule(string resource)
PutValidator.RuleFor(r => r.Id).ValidId(); PutValidator.RuleFor(r => r.Id).ValidId();
} }
protected int GetNewId<TModel>(Func<TModel, TModel> function, TResource resource) where TModel : ModelBase, new() protected int GetNewId<TModel>(Func<TModel, TModel> function, TResource resource) where TModel : ModelBase, new()
{ {
var model = resource.InjectTo<TModel>(); var model = resource.InjectTo<TModel>();
@ -35,7 +34,6 @@ protected NzbDroneRestModule(string resource)
return modelList.InjectTo<List<TResource>>(); return modelList.InjectTo<List<TResource>>();
} }
protected PagingResource<TResource> ApplyToPage<TModel>(Func<PagingSpec<TModel>, PagingSpec<TModel>> function, PagingSpec<TModel> pagingSpec) where TModel : ModelBase, new() protected PagingResource<TResource> ApplyToPage<TModel>(Func<PagingSpec<TModel>, PagingSpec<TModel>> function, PagingSpec<TModel> pagingSpec) where TModel : ModelBase, new()
{ {
pagingSpec = function(pagingSpec); pagingSpec = function(pagingSpec);

View File

@ -55,6 +55,12 @@ public TResource Get(int id, HttpStatusCode statusCode = HttpStatusCode.OK)
return Get<TResource>(request, statusCode); return Get<TResource>(request, statusCode);
} }
public TResource GetSingle(HttpStatusCode statusCode = HttpStatusCode.OK)
{
var request = BuildRequest();
return Get<TResource>(request, statusCode);
}
public void Delete(int id) public void Delete(int id)
{ {
var request = BuildRequest(id.ToString()); var request = BuildRequest(id.ToString());

View File

@ -11,7 +11,5 @@ public void should_be_able_to_run_rss_sync()
{ {
Commands.Post(new CommandResource {Command = "rsssync"}); Commands.Post(new CommandResource {Command = "rsssync"});
} }
} }
} }

View File

@ -3,7 +3,7 @@
using NLog.Targets; using NLog.Targets;
using NUnit.Framework; using NUnit.Framework;
using NzbDrone.Api.Commands; using NzbDrone.Api.Commands;
using NzbDrone.Api.Episodes; using NzbDrone.Api.Config;
using NzbDrone.Api.RootFolders; using NzbDrone.Api.RootFolders;
using NzbDrone.Common.EnvironmentInfo; using NzbDrone.Common.EnvironmentInfo;
using NzbDrone.Integration.Test.Client; using NzbDrone.Integration.Test.Client;
@ -25,10 +25,10 @@ public abstract class IntegrationTest
protected IndexerClient Indexers; protected IndexerClient Indexers;
protected EpisodeClient Episodes; protected EpisodeClient Episodes;
protected SeasonClient Seasons; protected SeasonClient Seasons;
protected ClientBase<NamingConfigResource> NamingConfig;
private NzbDroneRunner _runner; private NzbDroneRunner _runner;
public IntegrationTest() public IntegrationTest()
{ {
new StartupArguments(); new StartupArguments();
@ -42,7 +42,6 @@ public IntegrationTest()
[SetUp] [SetUp]
public void SmokeTestSetup() public void SmokeTestSetup()
{ {
_runner = new NzbDroneRunner(); _runner = new NzbDroneRunner();
_runner.KillAll(); _runner.KillAll();
@ -51,7 +50,6 @@ public void SmokeTestSetup()
_runner.Start(); _runner.Start();
} }
private void InitRestClients() private void InitRestClients()
{ {
RestClient = new RestClient("http://localhost:8989/api"); RestClient = new RestClient("http://localhost:8989/api");
@ -62,6 +60,7 @@ private void InitRestClients()
Indexers = new IndexerClient(RestClient); Indexers = new IndexerClient(RestClient);
Episodes = new EpisodeClient(RestClient); Episodes = new EpisodeClient(RestClient);
Seasons = new SeasonClient(RestClient); Seasons = new SeasonClient(RestClient);
NamingConfig = new ClientBase<NamingConfigResource>(RestClient, "config/naming");
} }
[TearDown] [TearDown]

View File

@ -0,0 +1,35 @@
using System;
using System.IO;
using FluentAssertions;
using NUnit.Framework;
namespace NzbDrone.Integration.Test
{
[TestFixture]
public class NamingConfigTests : IntegrationTest
{
[Test]
public void should_be_able_to_get()
{
NamingConfig.GetSingle().Should().NotBeNull();
}
[Test]
public void should_be_able_to_get_by_id()
{
var config = NamingConfig.GetSingle();
NamingConfig.Get(config.Id).Should().NotBeNull();
NamingConfig.Get(config.Id).Id.Should().Be(config.Id);
}
[Test]
public void should_be_able_to_update()
{
var config = NamingConfig.GetSingle();
config.RenameEpisodes = false;
NamingConfig.Put(config).RenameEpisodes.Should().BeFalse();
}
}
}

View File

@ -99,6 +99,7 @@
<Compile Include="Client\ReleaseClient.cs" /> <Compile Include="Client\ReleaseClient.cs" />
<Compile Include="Client\SeriesClient.cs" /> <Compile Include="Client\SeriesClient.cs" />
<Compile Include="CommandIntegerationTests.cs" /> <Compile Include="CommandIntegerationTests.cs" />
<Compile Include="NamingConfigTests.cs" />
<Compile Include="SeasonIntegrationTests.cs" /> <Compile Include="SeasonIntegrationTests.cs" />
<Compile Include="EpisodeIntegrationTests.cs" /> <Compile Include="EpisodeIntegrationTests.cs" />
<Compile Include="IndexerIntegrationFixture.cs" /> <Compile Include="IndexerIntegrationFixture.cs" />