mirror of
https://github.com/lidarr/lidarr.git
synced 2025-07-14 00:53:57 -07:00
Updated restmodule, moved series, root folder to the new restmodule.
This commit is contained in:
parent
4878556e14
commit
a2e84a8f83
16 changed files with 321 additions and 219 deletions
99
NzbDrone.Integration.Test/IntegrationTest.cs
Normal file
99
NzbDrone.Integration.Test/IntegrationTest.cs
Normal file
|
@ -0,0 +1,99 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
using NLog;
|
||||
using NLog.Config;
|
||||
using NLog.Targets;
|
||||
using NUnit.Framework;
|
||||
using Nancy.Hosting.Self;
|
||||
using NzbDrone.Api;
|
||||
using NzbDrone.Api.RootFolders;
|
||||
using NzbDrone.Common;
|
||||
using NzbDrone.Core.Datastore;
|
||||
using NzbDrone.Integration.Test.Client;
|
||||
using RestSharp;
|
||||
using TinyIoC;
|
||||
|
||||
namespace NzbDrone.Integration.Test
|
||||
{
|
||||
[TestFixture]
|
||||
public abstract class IntegrationTest
|
||||
{
|
||||
private NancyBootstrapper _bootstrapper;
|
||||
private NancyHost _host;
|
||||
protected RestClient RestClient { get; private set; }
|
||||
|
||||
private static readonly Logger Logger = LogManager.GetLogger("TEST");
|
||||
|
||||
protected TinyIoCContainer Container { get; private set; }
|
||||
|
||||
|
||||
protected SeriesClient Series;
|
||||
protected ClientBase<RootFolderResource> RootFolders;
|
||||
|
||||
static IntegrationTest()
|
||||
{
|
||||
if (LogManager.Configuration == null || LogManager.Configuration is XmlLoggingConfiguration)
|
||||
{
|
||||
LogManager.Configuration = new LoggingConfiguration();
|
||||
var consoleTarget = new ConsoleTarget { Layout = "${logger} - ${message} ${exception}" };
|
||||
LogManager.Configuration.AddTarget(consoleTarget.GetType().Name, consoleTarget);
|
||||
LogManager.Configuration.LoggingRules.Add(new LoggingRule("*", LogLevel.Info, consoleTarget));
|
||||
}
|
||||
|
||||
|
||||
LogManager.ReconfigExistingLoggers();
|
||||
}
|
||||
|
||||
private void InitDatabase()
|
||||
{
|
||||
Logger.Info("Registering Database...");
|
||||
|
||||
//TODO: move this to factory
|
||||
var environmentProvider = new EnvironmentProvider();
|
||||
var appDataPath = environmentProvider.GetAppDataPath();
|
||||
|
||||
if (!Directory.Exists(appDataPath))
|
||||
{
|
||||
Directory.CreateDirectory(appDataPath);
|
||||
}
|
||||
|
||||
var dbPath = Path.Combine(environmentProvider.WorkingDirectory, DateTime.Now.Ticks + ".db");
|
||||
|
||||
|
||||
Logger.Info("Working Folder: {0}", environmentProvider.WorkingDirectory);
|
||||
Logger.Info("Data Folder: {0}", environmentProvider.GetAppDataPath());
|
||||
Logger.Info("DB Na: {0}", dbPath);
|
||||
|
||||
|
||||
Container.Register((c, p) => c.Resolve<IDbFactory>().Create(dbPath));
|
||||
}
|
||||
|
||||
[SetUp]
|
||||
public void SmokeTestSetup()
|
||||
{
|
||||
Container = MainAppContainerBuilder.BuildContainer();
|
||||
|
||||
InitDatabase();
|
||||
|
||||
_bootstrapper = new NancyBootstrapper(Container);
|
||||
|
||||
const string url = "http://localhost:1313";
|
||||
|
||||
_host = new NancyHost(new Uri(url), _bootstrapper);
|
||||
|
||||
RestClient = new RestClient(url + "/api/");
|
||||
Series = new SeriesClient(RestClient);
|
||||
RootFolders = new ClientBase<RootFolderResource>(RestClient);
|
||||
|
||||
_host.Start();
|
||||
}
|
||||
|
||||
[TearDown]
|
||||
public void SmokeTestTearDown()
|
||||
{
|
||||
_host.Stop();
|
||||
|
||||
_bootstrapper.Shutdown();
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue