Fixed: Transmission proxy should no longer produce paths with double slashes.

This commit is contained in:
Taloth Saldono 2015-01-30 20:29:38 +01:00
parent 0ee5261a2a
commit cd79826aad
2 changed files with 25 additions and 6 deletions

View File

@ -19,6 +19,7 @@ namespace NzbDrone.Core.Test.Download.DownloadClientTests.TransmissionTests
protected TransmissionTorrent _downloading;
protected TransmissionTorrent _failed;
protected TransmissionTorrent _completed;
protected Dictionary<string, object> _transmissionConfigItems;
[SetUp]
public void Setup()
@ -87,15 +88,15 @@ namespace NzbDrone.Core.Test.Download.DownloadClientTests.TransmissionTests
.Setup(s => s.Get(It.IsAny<HttpRequest>()))
.Returns<HttpRequest>(r => new HttpResponse(r, new HttpHeader(), new Byte[0]));
var configItems = new Dictionary<String, Object>();
_transmissionConfigItems = new Dictionary<String, Object>();
configItems.Add("download-dir", @"C:/Downloads/Finished/transmission");
configItems.Add("incomplete-dir", null);
configItems.Add("incomplete-dir-enabled", false);
_transmissionConfigItems.Add("download-dir", @"C:/Downloads/Finished/transmission");
_transmissionConfigItems.Add("incomplete-dir", null);
_transmissionConfigItems.Add("incomplete-dir-enabled", false);
Mocker.GetMock<ITransmissionProxy>()
.Setup(v => v.GetConfig(It.IsAny<TransmissionSettings>()))
.Returns(configItems);
.Returns(_transmissionConfigItems);
}
@ -230,6 +231,24 @@ namespace NzbDrone.Core.Test.Download.DownloadClientTests.TransmissionTests
.Verify(v => v.AddTorrentFromData(It.IsAny<Byte[]>(), @"C:/Downloads/Finished/transmission/.nzbdrone", It.IsAny<TransmissionSettings>()), Times.Once());
}
[Test]
public void Download_with_category_should_not_have_double_slashes()
{
GivenTvCategory();
GivenSuccessfulDownload();
_transmissionConfigItems["download-dir"] += "/";
var remoteEpisode = CreateRemoteEpisode();
var id = Subject.Download(remoteEpisode);
id.Should().NotBeNullOrEmpty();
Mocker.GetMock<ITransmissionProxy>()
.Verify(v => v.AddTorrentFromData(It.IsAny<Byte[]>(), @"C:/Downloads/Finished/transmission/.nzbdrone", It.IsAny<TransmissionSettings>()), Times.Once());
}
[TestCase("magnet:?xt=urn:btih:ZPBPA2P6ROZPKRHK44D5OW6NHXU5Z6KR&tr=udp", "CBC2F069FE8BB2F544EAE707D75BCD3DE9DCF951")]
public void Download_should_get_hash_from_magnet_url(String magnetUrl, String expectedHash)
{

View File

@ -71,7 +71,7 @@ namespace NzbDrone.Core.Download.Clients.Transmission
var config = _proxy.GetConfig(Settings);
var destDir = (String)config.GetValueOrDefault("download-dir");
return String.Format("{0}/.{1}", destDir, Settings.TvCategory);
return string.Format("{0}/.{1}", destDir.TrimEnd('/'), Settings.TvCategory);
}
public override IEnumerable<DownloadClientItem> GetItems()