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

59 lines
1.8 KiB
C#
Raw Normal View History

2011-05-22 16:53:21 +00:00
// ReSharper disable RedundantUsingDirective
using System;
using System.Collections.Generic;
using System.IO;
2011-04-22 19:16:52 +00:00
using FizzWare.NBuilder;
2012-01-25 03:09:49 +00:00
using FluentAssertions;
using Moq;
2012-01-25 03:09:49 +00:00
using NzbDrone.Common;
2011-06-05 06:02:31 +00:00
using NzbDrone.Core.Datastore;
2011-04-04 03:50:12 +00:00
using NzbDrone.Core.Providers.Core;
2011-04-22 19:16:52 +00:00
using NzbDrone.Core.Repository;
using NzbDrone.Core.Repository.Quality;
2011-06-15 02:31:41 +00:00
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";
}
2011-12-15 04:29:21 +00:00
internal static string ConnectionString { get; private set; }
2011-04-10 02:44:01 +00:00
2012-01-25 03:09:49 +00:00
internal static IDatabase GetEmptyDatabase(string fileName = "")
2011-06-15 02:31:41 +00:00
{
Console.WriteLine("====================DataBase====================");
Console.WriteLine("Cloning database from template.");
2011-06-15 02:31:41 +00:00
if (String.IsNullOrWhiteSpace(fileName))
{
2011-06-23 06:56:17 +00:00
fileName = Guid.NewGuid() + ".sdf";
2011-06-15 02:31:41 +00:00
}
2011-06-18 01:46:22 +00:00
File.Copy(dbTemplateName, fileName);
2013-01-19 19:42:06 +00:00
ConnectionString = ConnectionFactory.GetConnectionString(fileName);
2011-06-18 01:46:22 +00:00
2013-01-19 19:42:06 +00:00
var database = ConnectionFactory.GetPetaPocoDb(ConnectionString);
2011-06-15 02:31:41 +00:00
Console.WriteLine("====================DataBase====================");
Console.WriteLine();
Console.WriteLine();
2011-06-15 02:31:41 +00:00
return database;
}
2011-12-15 04:29:21 +00:00
internal static void CreateDataBaseTemplate()
{
Console.WriteLine("Creating an empty PetaPoco database");
var connectionString = ConnectionFactory.GetConnectionString(dbTemplateName);
2013-01-19 19:42:06 +00:00
var database = ConnectionFactory.GetPetaPocoDb(connectionString);
database.Dispose();
}
}
2011-04-10 02:44:01 +00:00
}