59 lines
1.8 KiB
C#
59 lines
1.8 KiB
C#
// ReSharper disable RedundantUsingDirective
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using FizzWare.NBuilder;
|
|
using FluentAssertions;
|
|
using Moq;
|
|
using NzbDrone.Common;
|
|
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 static readonly string dbTemplateName;
|
|
|
|
static TestDbHelper()
|
|
{
|
|
dbTemplateName = Path.Combine(Path.GetTempPath(), Path.GetTempFileName()) + ".sdf";
|
|
}
|
|
|
|
internal static string ConnectionString { get; private set; }
|
|
|
|
internal static IDatabase GetEmptyDatabase(string fileName = "")
|
|
{
|
|
Console.WriteLine("====================DataBase====================");
|
|
Console.WriteLine("Cloning database from template.");
|
|
|
|
if (String.IsNullOrWhiteSpace(fileName))
|
|
{
|
|
fileName = Guid.NewGuid() + ".sdf";
|
|
}
|
|
|
|
File.Copy(dbTemplateName, fileName);
|
|
|
|
ConnectionString = ConnectionFactory.GetConnectionString(fileName);
|
|
|
|
var database = ConnectionFactory.GetPetaPocoDb(ConnectionString);
|
|
|
|
Console.WriteLine("====================DataBase====================");
|
|
Console.WriteLine();
|
|
Console.WriteLine();
|
|
|
|
return database;
|
|
}
|
|
|
|
internal static void CreateDataBaseTemplate()
|
|
{
|
|
Console.WriteLine("Creating an empty PetaPoco database");
|
|
var connectionString = ConnectionFactory.GetConnectionString(dbTemplateName);
|
|
var database = ConnectionFactory.GetPetaPocoDb(connectionString);
|
|
database.Dispose();
|
|
}
|
|
}
|
|
} |