2011-05-22 09:53:21 -07:00
|
|
|
// ReSharper disable RedundantUsingDirective
|
|
|
|
using System;
|
2010-09-27 20:04:39 -07:00
|
|
|
using System.Collections.Generic;
|
2010-10-20 18:49:23 -07:00
|
|
|
using System.IO;
|
2011-04-22 12:16:52 -07:00
|
|
|
using FizzWare.NBuilder;
|
2012-01-24 19:09:49 -08:00
|
|
|
using FluentAssertions;
|
2010-09-27 20:04:39 -07:00
|
|
|
using Moq;
|
2012-01-24 19:09:49 -08:00
|
|
|
using NzbDrone.Common;
|
2011-06-04 23:02:31 -07:00
|
|
|
using NzbDrone.Core.Datastore;
|
2011-04-03 20:50:12 -07:00
|
|
|
using NzbDrone.Core.Providers.Core;
|
2011-04-22 12:16:52 -07:00
|
|
|
using NzbDrone.Core.Repository;
|
2011-04-25 10:48:16 -07:00
|
|
|
using NzbDrone.Core.Repository.Quality;
|
2011-06-14 19:31:41 -07:00
|
|
|
using PetaPoco;
|
2010-09-27 20:04:39 -07:00
|
|
|
|
2011-05-18 20:55:35 -07:00
|
|
|
namespace NzbDrone.Core.Test.Framework
|
2010-09-27 20:04:39 -07:00
|
|
|
{
|
2011-11-22 21:58:26 -08:00
|
|
|
internal static class TestDbHelper
|
2010-09-27 20:04:39 -07:00
|
|
|
{
|
2011-11-22 21:58:26 -08:00
|
|
|
private const string DB_TEMPLATE_NAME = "_dbtemplate.sdf";
|
|
|
|
|
2011-12-14 20:29:21 -08:00
|
|
|
internal static string ConnectionString { get; private set; }
|
2011-04-09 19:44:01 -07:00
|
|
|
|
2012-01-24 19:09:49 -08:00
|
|
|
internal static IDatabase GetEmptyDatabase(string fileName = "")
|
2011-06-14 19:31:41 -07:00
|
|
|
{
|
2011-11-06 22:26:21 -08:00
|
|
|
Console.WriteLine("====================DataBase====================");
|
2011-10-16 19:03:54 -07:00
|
|
|
Console.WriteLine("Cloning database from template.");
|
2011-06-14 19:31:41 -07:00
|
|
|
|
|
|
|
if (String.IsNullOrWhiteSpace(fileName))
|
|
|
|
{
|
2011-06-22 23:56:17 -07:00
|
|
|
fileName = Guid.NewGuid() + ".sdf";
|
2011-06-14 19:31:41 -07:00
|
|
|
}
|
2011-06-17 18:46:22 -07:00
|
|
|
|
2011-11-22 21:58:26 -08:00
|
|
|
File.Copy(DB_TEMPLATE_NAME, fileName);
|
2011-10-16 19:03:54 -07:00
|
|
|
|
2011-11-22 21:58:26 -08:00
|
|
|
ConnectionString = Connection.GetConnectionString(fileName);
|
2011-06-17 18:46:22 -07:00
|
|
|
|
2011-11-22 21:58:26 -08:00
|
|
|
var database = Connection.GetPetaPocoDb(ConnectionString);
|
2011-06-14 19:31:41 -07:00
|
|
|
|
2011-11-06 22:26:21 -08:00
|
|
|
Console.WriteLine("====================DataBase====================");
|
|
|
|
Console.WriteLine();
|
|
|
|
Console.WriteLine();
|
|
|
|
|
2011-06-14 19:31:41 -07:00
|
|
|
return database;
|
|
|
|
}
|
|
|
|
|
2011-12-14 20:29:21 -08:00
|
|
|
internal static void CreateDataBaseTemplate()
|
2011-10-16 19:03:54 -07:00
|
|
|
{
|
|
|
|
Console.WriteLine("Creating an empty PetaPoco database");
|
2011-11-22 21:58:26 -08:00
|
|
|
var connectionString = Connection.GetConnectionString(DB_TEMPLATE_NAME);
|
2011-10-16 19:03:54 -07:00
|
|
|
var database = Connection.GetPetaPocoDb(connectionString);
|
|
|
|
database.Dispose();
|
|
|
|
}
|
2010-09-27 20:04:39 -07:00
|
|
|
}
|
2011-04-09 19:44:01 -07:00
|
|
|
}
|