Fixed tests

This commit is contained in:
Taloth Saldono 2019-08-31 12:25:13 +02:00
parent adbd519061
commit b764c44318
3 changed files with 17 additions and 11 deletions

View File

@ -281,6 +281,11 @@ namespace NzbDrone.Common.Test.Http
Subject.DownloadFile(url, file);
File.Exists(file).Should().BeTrue();
File.Exists(file + ".part").Should().BeFalse();
var fileInfo = new FileInfo(file);
fileInfo.Length.Should().Be(307054);
}
[Test]
@ -288,9 +293,10 @@ namespace NzbDrone.Common.Test.Http
{
var file = GetTempFilePath();
Assert.Throws<WebException>(() => Subject.DownloadFile("http://download.sonarr.tv/wrongpath", file));
Assert.Throws<HttpException>(() => Subject.DownloadFile("http://download.sonarr.tv/wrongpath", file));
File.Exists(file).Should().BeFalse();
File.Exists(file + ".part").Should().BeFalse();
ExceptionVerification.ExpectedWarns(1);
}

View File

@ -229,6 +229,8 @@ namespace NzbDrone.Common.Http
public void DownloadFile(string url, string fileName)
{
var fileNamePart = fileName + ".part";
try
{
var fileInfo = new FileInfo(fileName);
@ -240,24 +242,22 @@ namespace NzbDrone.Common.Http
_logger.Debug("Downloading [{0}] to [{1}]", url, fileName);
var stopWatch = Stopwatch.StartNew();
using (var fileStream = new FileStream(fileName, FileMode.Create, FileAccess.ReadWrite))
using (var fileStream = new FileStream(fileNamePart, FileMode.Create, FileAccess.ReadWrite))
{
var request = new HttpRequest(url);
request.ResponseStream = fileStream;
var response = Get(request);
}
stopWatch.Stop();
File.Move(fileNamePart, fileName);
_logger.Debug("Downloading Completed. took {0:0}s", stopWatch.Elapsed.Seconds);
}
catch (WebException e)
finally
{
_logger.Warn("Failed to get response from: {0} {1}", url, e.Message);
throw;
}
catch (Exception e)
{
_logger.Warn(e, "Failed to get response from: " + url);
throw;
if (File.Exists(fileNamePart))
{
File.Delete(fileNamePart);
}
}
}

View File

@ -28,7 +28,7 @@ namespace NzbDrone.Common.Http
public override string ToString()
{
if (Response != null)
if (Response != null && Response.ResponseData != null)
{
return base.ToString() + Environment.NewLine + Response.Content;
}