Lidarr/NzbDrone.Core.Test/Framework/CoreTest.cs

64 lines
1.6 KiB
C#
Raw Normal View History

2011-11-26 02:06:40 +00:00
using System;
using System.IO;
using NzbDrone.Common;
2011-11-18 04:36:37 +00:00
using NzbDrone.Core.Model.Notification;
2011-11-13 07:27:16 +00:00
using NzbDrone.Test.Common;
using PetaPoco;
namespace NzbDrone.Core.Test.Framework
{
public class CoreTest : TestBase
{
static CoreTest()
{
//Delete old db files
2011-11-13 07:27:16 +00:00
var oldDbFiles = Directory.GetFiles(Directory.GetCurrentDirectory(), "*.sdf", SearchOption.AllDirectories);
foreach (var file in oldDbFiles)
{
try
{
File.Delete(file);
}
catch { }
}
//Delete App_data folder
var appData = new EnviromentProvider().GetAppDataPath();
if (Directory.Exists(appData))
{
Directory.Delete(appData, true);
}
TestDbHelper.CreateDataBaseTemplate();
2011-11-13 07:27:16 +00:00
}
2011-11-26 02:06:40 +00:00
private IDatabase _db;
protected IDatabase Db
2011-11-13 07:27:16 +00:00
{
2011-11-26 02:06:40 +00:00
get
2011-11-13 07:27:16 +00:00
{
2011-11-26 02:06:40 +00:00
if (_db == null)
throw new InvalidOperationException("Test db doesn't exists. Make sure you call WithRealDb() if you intend to use an actual database.");
return _db;
2011-11-13 07:27:16 +00:00
}
}
protected void WithRealDb()
{
2011-12-02 01:33:17 +00:00
_db = TestDbHelper.GetEmptyDatabase();
2011-11-13 07:27:16 +00:00
Mocker.SetConstant(Db);
}
2011-11-18 04:36:37 +00:00
2011-12-02 01:33:17 +00:00
protected static ProgressNotification MockNotification
2011-11-18 04:36:37 +00:00
{
get
{
return new ProgressNotification("Mock notification");
}
}
2011-11-13 07:27:16 +00:00
}
}