1
0
mirror of https://github.com/Sonarr/Sonarr.git synced 2024-12-16 11:37:58 +02:00
Sonarr/NzbDrone.Test.Common/TestBase.cs

100 lines
2.4 KiB
C#
Raw Normal View History

2011-12-15 07:15:53 +03:00
using System;
using System.Linq;
2011-11-13 10:27:16 +03:00
using System.IO;
using Moq;
using NUnit.Framework;
using NzbDrone.Common;
using NzbDrone.Test.Common.AutoMoq;
2011-11-13 10:27:16 +03:00
namespace NzbDrone.Test.Common
{
public class TestBase : LoggingTest
{
2011-12-02 04:33:17 +03:00
protected const string INTEGRATION_TEST = "Integration Test";
2011-12-15 07:15:53 +03:00
private AutoMoqer _mocker;
protected AutoMoqer Mocker
{
get
{
if (_mocker == null)
{
_mocker = new AutoMoqer();
}
return _mocker;
}
}
2011-11-13 10:27:16 +03:00
protected Mock<RestProvider> MockedRestProvider { get; private set; }
2011-11-13 10:27:16 +03:00
protected string VirtualPath
{
get
{
var virtualPath = Path.Combine(TempFolder, "VirtualNzbDrone");
if (!Directory.Exists(virtualPath)) Directory.CreateDirectory(virtualPath);
return virtualPath;
}
}
[SetUp]
2011-11-13 22:15:40 +03:00
public void TestBaseSetup()
2011-11-13 10:27:16 +03:00
{
2012-02-15 08:16:37 +03:00
EnviromentProvider.RegisterNewInstall = true;
MockedRestProvider = new Mock<RestProvider>();
ReportingService.RestProvider = MockedRestProvider.Object;
if (Directory.Exists(TempFolder))
2011-11-13 10:27:16 +03:00
{
Directory.Delete(TempFolder, true);
}
Directory.CreateDirectory(TempFolder);
}
2011-11-13 22:15:40 +03:00
[TearDown]
public void TestBaseTearDown()
{
2011-12-15 07:15:53 +03:00
_mocker = null;
2011-11-13 22:15:40 +03:00
}
2011-12-02 04:37:38 +03:00
protected void WithStrictMocker()
2011-11-13 10:27:16 +03:00
{
2011-12-15 07:15:53 +03:00
if (_mocker != null)
throw new InvalidOperationException("Can not switch to a strict container after container has been used. make sure this is the first call in your test.");
_mocker = new AutoMoqer(MockBehavior.Strict);
2011-11-13 10:27:16 +03:00
}
protected void WithTempAsAppPath()
{
Mocker.GetMock<EnviromentProvider>()
.SetupGet(c => c.ApplicationPath)
.Returns(VirtualPath);
}
protected string TempFolder
{
get { return Path.Combine(Directory.GetCurrentDirectory(), "temp"); }
}
protected string GetTestFilePath(string fileName)
{
return Path.Combine(@".\Files\", fileName);
}
protected string ReadTestFile(string fileName)
{
return File.ReadAllText(GetTestFilePath(fileName));
}
}
}