mirror of https://github.com/lidarr/Lidarr
fixed: return proper error when searching for invalid tvdb id.
This commit is contained in:
parent
46bf80dcd1
commit
d5da0ec4dd
|
@ -44,10 +44,14 @@ namespace NzbDrone.Core.Test.MetadataSourceTests
|
|||
result[0].Title.Should().Be(expected);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void no_search_result()
|
||||
[TestCase("tvdbid:")]
|
||||
[TestCase("tvdbid: 99999999999999999999")]
|
||||
[TestCase("tvdbid: 0")]
|
||||
[TestCase("tvdbid: -12")]
|
||||
[TestCase("adjalkwdjkalwdjklawjdlKAJD;EF")]
|
||||
public void no_search_result(string term)
|
||||
{
|
||||
var result = Subject.SearchForNewSeries(Guid.NewGuid().ToString());
|
||||
var result = Subject.SearchForNewSeries(term);
|
||||
result.Should().BeEmpty();
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Web;
|
||||
using NLog;
|
||||
|
@ -37,12 +38,26 @@ namespace NzbDrone.Core.MetadataSource
|
|||
|
||||
int tvdbId;
|
||||
|
||||
if (slug.IsNullOrWhiteSpace() || slug.Any(char.IsWhiteSpace) || !Int32.TryParse(slug, out tvdbId))
|
||||
if (slug.IsNullOrWhiteSpace() || slug.Any(char.IsWhiteSpace) || !Int32.TryParse(slug, out tvdbId) || tvdbId <= 0)
|
||||
{
|
||||
return Enumerable.Empty<TVDBSharp.Models.Show>();
|
||||
}
|
||||
|
||||
return new[] { _tvdb.GetShow(tvdbId) };
|
||||
try
|
||||
{
|
||||
return new[] { _tvdb.GetShow(tvdbId) };
|
||||
}
|
||||
catch (WebException ex)
|
||||
{
|
||||
var resp = ex.Response as HttpWebResponse;
|
||||
|
||||
if (resp != null && resp.StatusCode == HttpStatusCode.NotFound)
|
||||
{
|
||||
return Enumerable.Empty<TVDBSharp.Models.Show>();
|
||||
}
|
||||
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
return _tvdb.Search(GetSearchTerm(lowerTitle), 10);
|
||||
|
|
Loading…
Reference in New Issue