Sonarr/NzbDrone.Core.Test/Framework/TestDbHelper.cs

52 lines
1.6 KiB
C#

// ReSharper disable RedundantUsingDirective
using System;
using System.Collections.Generic;
using System.IO;
using FizzWare.NBuilder;
using Moq;
using NzbDrone.Core.Datastore;
using NzbDrone.Core.Providers.Core;
using NzbDrone.Core.Repository;
using NzbDrone.Core.Repository.Quality;
using PetaPoco;
namespace NzbDrone.Core.Test.Framework
{
internal static class TestDbHelper
{
private const string DB_TEMPLATE_NAME = "_dbtemplate.sdf";
internal static string ConnectionString { get; private set; }
internal static IDatabase GetEmptyDatabase(bool enableLogging = false, string fileName = "")
{
Console.WriteLine("====================DataBase====================");
Console.WriteLine("Cloning database from template.");
if (String.IsNullOrWhiteSpace(fileName))
{
fileName = Guid.NewGuid() + ".sdf";
}
File.Copy(DB_TEMPLATE_NAME, fileName);
ConnectionString = Connection.GetConnectionString(fileName);
var database = Connection.GetPetaPocoDb(ConnectionString);
Console.WriteLine("====================DataBase====================");
Console.WriteLine();
Console.WriteLine();
return database;
}
internal static void CreateDataBaseTemplate()
{
Console.WriteLine("Creating an empty PetaPoco database");
var connectionString = Connection.GetConnectionString(DB_TEMPLATE_NAME);
var database = Connection.GetPetaPocoDb(connectionString);
database.Dispose();
}
}
}