2011-11-21 00:35:29 +00:00
|
|
|
|
using System;
|
|
|
|
|
using System.Linq;
|
2011-11-14 00:22:18 +00:00
|
|
|
|
using FluentAssertions;
|
2011-11-13 07:27:16 +00:00
|
|
|
|
using Moq;
|
|
|
|
|
using NUnit.Framework;
|
2011-11-13 18:16:31 +00:00
|
|
|
|
using NzbDrone.Test.Common;
|
2011-11-13 07:27:16 +00:00
|
|
|
|
|
2011-11-14 00:22:18 +00:00
|
|
|
|
namespace NzbDrone.Common.Test
|
2011-11-13 07:27:16 +00:00
|
|
|
|
{
|
|
|
|
|
[TestFixture]
|
2011-11-13 18:16:31 +00:00
|
|
|
|
public class PathExtentionFixture : TestBase
|
2011-11-13 07:27:16 +00:00
|
|
|
|
{
|
|
|
|
|
|
2012-03-07 02:59:43 +00:00
|
|
|
|
private EnvironmentProvider GetEnviromentProvider()
|
2011-11-13 07:27:16 +00:00
|
|
|
|
{
|
2012-03-07 02:59:43 +00:00
|
|
|
|
var envMoq = new Mock<EnvironmentProvider>();
|
2011-11-21 00:35:29 +00:00
|
|
|
|
|
2013-03-30 21:29:02 +00:00
|
|
|
|
envMoq.SetupGet(c => c.WorkingDirectory).Returns(@"C:\NzbDrone\");
|
2011-11-13 07:27:16 +00:00
|
|
|
|
|
2011-11-14 01:27:11 +00:00
|
|
|
|
envMoq.SetupGet(c => c.SystemTemp).Returns(@"C:\Temp\");
|
|
|
|
|
|
2011-11-13 07:27:16 +00:00
|
|
|
|
return envMoq.Object;
|
2011-11-14 00:22:18 +00:00
|
|
|
|
}
|
2011-11-13 07:27:16 +00:00
|
|
|
|
|
2011-11-21 00:35:29 +00:00
|
|
|
|
[TestCase(@"c:\test\", @"c:\test")]
|
|
|
|
|
[TestCase(@"c:\\test\\", @"c:\test")]
|
|
|
|
|
[TestCase(@"C:\\Test\\", @"C:\Test")]
|
|
|
|
|
[TestCase(@"C:\\Test\\Test\", @"C:\Test\Test")]
|
|
|
|
|
[TestCase(@"\\Testserver\Test\", @"\\Testserver\Test")]
|
|
|
|
|
public void Normalize_Path(string dirty, string clean)
|
|
|
|
|
{
|
|
|
|
|
var result = dirty.NormalizePath();
|
|
|
|
|
result.Should().Be(clean);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
[ExpectedException(typeof(ArgumentException), ExpectedMessage = "Path can not be null or empty")]
|
|
|
|
|
public void normalize_path_exception_empty()
|
|
|
|
|
{
|
|
|
|
|
"".NormalizePath();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
[ExpectedException(typeof(ArgumentException), ExpectedMessage = "Path can not be null or empty")]
|
|
|
|
|
public void normalize_path_exception_null()
|
|
|
|
|
{
|
|
|
|
|
string nullPath = null;
|
|
|
|
|
nullPath.NormalizePath();
|
|
|
|
|
}
|
|
|
|
|
|
2011-11-13 07:27:16 +00:00
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
public void AppDataDirectory_path_test()
|
|
|
|
|
{
|
|
|
|
|
GetEnviromentProvider().GetAppDataPath().Should().BeEquivalentTo(@"C:\NzbDrone\NzbDrone.Web\App_Data\");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
public void Config_path_test()
|
|
|
|
|
{
|
|
|
|
|
GetEnviromentProvider().GetConfigPath().Should().BeEquivalentTo(@"C:\NzbDrone\Config.xml");
|
|
|
|
|
}
|
|
|
|
|
|
2011-11-14 01:27:11 +00:00
|
|
|
|
[Test]
|
|
|
|
|
public void Sanbox()
|
|
|
|
|
{
|
|
|
|
|
GetEnviromentProvider().GetUpdateSandboxFolder().Should().BeEquivalentTo(@"C:\Temp\Nzbdrone_update\");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
public void GetUpdatePackageFolder()
|
|
|
|
|
{
|
|
|
|
|
GetEnviromentProvider().GetUpdatePackageFolder().Should().BeEquivalentTo(@"C:\Temp\Nzbdrone_update\NzbDrone\");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
public void GetUpdateClientFolder()
|
|
|
|
|
{
|
|
|
|
|
GetEnviromentProvider().GetUpdateClientFolder().Should().BeEquivalentTo(@"C:\Temp\Nzbdrone_update\NzbDrone\NzbDrone.Update\");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
public void GetUpdateClientExePath()
|
|
|
|
|
{
|
2011-11-22 04:02:14 +00:00
|
|
|
|
GetEnviromentProvider().GetUpdateClientExePath().Should().BeEquivalentTo(@"C:\Temp\Nzbdrone_update\NzbDrone.Update.exe");
|
2011-11-14 01:27:11 +00:00
|
|
|
|
}
|
2011-11-21 04:18:40 +00:00
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
public void GetSandboxLogFolder()
|
|
|
|
|
{
|
|
|
|
|
GetEnviromentProvider().GetSandboxLogFolder().Should().BeEquivalentTo(@"C:\Temp\Nzbdrone_update\UpdateLogs\");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
public void GetUpdateLogFolder()
|
|
|
|
|
{
|
|
|
|
|
GetEnviromentProvider().GetUpdateLogFolder().Should().BeEquivalentTo(@"C:\NzbDrone\UpdateLogs\");
|
|
|
|
|
}
|
2011-11-13 07:27:16 +00:00
|
|
|
|
}
|
|
|
|
|
}
|