From 54d95e2e204a8df8d6863330adda628645fd9c57 Mon Sep 17 00:00:00 2001 From: Keivan Beigi Date: Fri, 3 May 2013 19:42:11 -0700 Subject: [PATCH] added slug integration tests --- NzbDrone.Integration.Test/Client/ClientBase.cs | 7 +++++++ .../{SeriesClient - Copy.cs => ReleaseClient.cs} | 0 NzbDrone.Integration.Test/Client/SeriesClient.cs | 8 ++++++++ .../NzbDrone.Integration.Test.csproj | 2 +- NzbDrone.Integration.Test/SeriesIntegrationTest.cs | 11 +++++++++++ 5 files changed, 27 insertions(+), 1 deletion(-) rename NzbDrone.Integration.Test/Client/{SeriesClient - Copy.cs => ReleaseClient.cs} (100%) diff --git a/NzbDrone.Integration.Test/Client/ClientBase.cs b/NzbDrone.Integration.Test/Client/ClientBase.cs index c6a4a5710..06193542c 100644 --- a/NzbDrone.Integration.Test/Client/ClientBase.cs +++ b/NzbDrone.Integration.Test/Client/ClientBase.cs @@ -46,6 +46,13 @@ namespace NzbDrone.Integration.Test.Client return Post(request); } + public TResource Get(int id, HttpStatusCode statusCode = HttpStatusCode.OK) + { + var request = BuildRequest(id.ToString()); + return Get(request, statusCode); + } + + public void Delete(int id) { var request = BuildRequest(id.ToString()); diff --git a/NzbDrone.Integration.Test/Client/SeriesClient - Copy.cs b/NzbDrone.Integration.Test/Client/ReleaseClient.cs similarity index 100% rename from NzbDrone.Integration.Test/Client/SeriesClient - Copy.cs rename to NzbDrone.Integration.Test/Client/ReleaseClient.cs diff --git a/NzbDrone.Integration.Test/Client/SeriesClient.cs b/NzbDrone.Integration.Test/Client/SeriesClient.cs index 8b417aa15..d39cb3276 100644 --- a/NzbDrone.Integration.Test/Client/SeriesClient.cs +++ b/NzbDrone.Integration.Test/Client/SeriesClient.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using System.Net; using NzbDrone.Api.Series; using RestSharp; @@ -18,5 +19,12 @@ namespace NzbDrone.Integration.Test.Client return Get>(request); } + + public SeriesResource Get(string slug, HttpStatusCode statusCode = HttpStatusCode.OK) + { + var request = BuildRequest(slug); + return Get(request, statusCode); + } + } } diff --git a/NzbDrone.Integration.Test/NzbDrone.Integration.Test.csproj b/NzbDrone.Integration.Test/NzbDrone.Integration.Test.csproj index dffa6e04e..4fdb2c884 100644 --- a/NzbDrone.Integration.Test/NzbDrone.Integration.Test.csproj +++ b/NzbDrone.Integration.Test/NzbDrone.Integration.Test.csproj @@ -69,7 +69,7 @@ - + diff --git a/NzbDrone.Integration.Test/SeriesIntegrationTest.cs b/NzbDrone.Integration.Test/SeriesIntegrationTest.cs index 0606ed11d..46e72edbb 100644 --- a/NzbDrone.Integration.Test/SeriesIntegrationTest.cs +++ b/NzbDrone.Integration.Test/SeriesIntegrationTest.cs @@ -47,9 +47,20 @@ namespace NzbDrone.Integration.Test Series.All().Should().HaveCount(1); + + Series.Get(series.Id).Should().NotBeNull(); + Series.Get(series.TitleSlug).Should().NotBeNull(); + Series.Delete(series.Id); Series.All().Should().BeEmpty(); } + + [Test] + public void wrong_slug_should_return_404() + { + Series.Get("non-existing-slug", HttpStatusCode.NotFound); + } + } } \ No newline at end of file