mirror of https://github.com/Radarr/Radarr
Migration is no longer executed per test, its ran once and the db is cloned after that, (faster tests, cleaner logs ;)
This commit is contained in:
parent
f1248d12c6
commit
c55ca42c21
|
@ -21,8 +21,7 @@ namespace NzbDrone.Core.Test
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
LogManager.Configuration =
|
LogManager.Configuration = new XmlLoggingConfiguration(Path.Combine(CentralDispatch.AppPath, "log.config"), false);
|
||||||
new XmlLoggingConfiguration(Path.Combine(CentralDispatch.AppPath, "log.config"), false);
|
|
||||||
LogManager.ThrowExceptions = true;
|
LogManager.ThrowExceptions = true;
|
||||||
|
|
||||||
var exceptionVerification = new ExceptionVerification();
|
var exceptionVerification = new ExceptionVerification();
|
||||||
|
@ -35,7 +34,6 @@ namespace NzbDrone.Core.Test
|
||||||
Console.WriteLine("Unable to configure logging. " + e);
|
Console.WriteLine("Unable to configure logging. " + e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
var filesToDelete = Directory.GetFiles(Directory.GetCurrentDirectory(), "*.sdf", SearchOption.AllDirectories);
|
var filesToDelete = Directory.GetFiles(Directory.GetCurrentDirectory(), "*.sdf", SearchOption.AllDirectories);
|
||||||
foreach (var file in filesToDelete)
|
foreach (var file in filesToDelete)
|
||||||
{
|
{
|
||||||
|
@ -45,6 +43,8 @@ namespace NzbDrone.Core.Test
|
||||||
}
|
}
|
||||||
catch { }
|
catch { }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MockLib.CreateDataBaseTemplate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -17,20 +17,19 @@ namespace NzbDrone.Core.Test.Framework
|
||||||
/// </summary>
|
/// </summary>
|
||||||
internal static class MockLib
|
internal static class MockLib
|
||||||
{
|
{
|
||||||
public static string[] StandardSeries
|
private const string DbTemplateName = "_dbtemplate.sdf";
|
||||||
{
|
|
||||||
get { return new[] { "c:\\tv\\the simpsons", "c:\\tv\\family guy", "c:\\tv\\southpark", "c:\\tv\\24" }; }
|
|
||||||
}
|
|
||||||
|
|
||||||
public static IDatabase GetEmptyDatabase(bool enableLogging = false, string fileName = "")
|
public static IDatabase GetEmptyDatabase(bool enableLogging = false, string fileName = "")
|
||||||
{
|
{
|
||||||
Console.WriteLine("Creating an empty PetaPoco database");
|
Console.WriteLine("Cloning database from template.");
|
||||||
|
|
||||||
if (String.IsNullOrWhiteSpace(fileName))
|
if (String.IsNullOrWhiteSpace(fileName))
|
||||||
{
|
{
|
||||||
fileName = Guid.NewGuid() + ".sdf";
|
fileName = Guid.NewGuid() + ".sdf";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
File.Copy(DbTemplateName, fileName);
|
||||||
|
|
||||||
var connectionString = Connection.GetConnectionString(fileName);
|
var connectionString = Connection.GetConnectionString(fileName);
|
||||||
|
|
||||||
var database = Connection.GetPetaPocoDb(connectionString);
|
var database = Connection.GetPetaPocoDb(connectionString);
|
||||||
|
@ -38,6 +37,14 @@ namespace NzbDrone.Core.Test.Framework
|
||||||
return database;
|
return database;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void CreateDataBaseTemplate()
|
||||||
|
{
|
||||||
|
Console.WriteLine("Creating an empty PetaPoco database");
|
||||||
|
var connectionString = Connection.GetConnectionString(DbTemplateName);
|
||||||
|
var database = Connection.GetPetaPocoDb(connectionString);
|
||||||
|
database.Dispose();
|
||||||
|
}
|
||||||
|
|
||||||
public static Series GetFakeSeries(int id, string title)
|
public static Series GetFakeSeries(int id, string title)
|
||||||
{
|
{
|
||||||
return Builder<Series>.CreateNew()
|
return Builder<Series>.CreateNew()
|
||||||
|
|
|
@ -15,6 +15,7 @@ using PetaPoco;
|
||||||
namespace NzbDrone.Core.Test
|
namespace NzbDrone.Core.Test
|
||||||
{
|
{
|
||||||
[TestFixture]
|
[TestFixture]
|
||||||
|
[Category("Benchmark")]
|
||||||
// ReSharper disable InconsistentNaming
|
// ReSharper disable InconsistentNaming
|
||||||
public class DbBenchmark : TestBase
|
public class DbBenchmark : TestBase
|
||||||
{
|
{
|
||||||
|
|
|
@ -20,7 +20,7 @@ namespace NzbDrone.Core.Datastore
|
||||||
|
|
||||||
EnsureDatabase(connetionString);
|
EnsureDatabase(connetionString);
|
||||||
|
|
||||||
Logger.Info("Preparing to run database migration");
|
Logger.Trace("Preparing to run database migration");
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue