You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Readarr/src/NzbDrone.Integration.Test/IntegrationTest.cs

61 lines
1.8 KiB

using System.Threading;
using NLog;
using NUnit.Framework;
using NzbDrone.Core.Indexers.Newznab;
using NzbDrone.Test.Common;
using Readarr.Http.ClientSchema;
namespace NzbDrone.Integration.Test
{
[Parallelizable(ParallelScope.Fixtures)]
public abstract class IntegrationTest : IntegrationTestBase
{
protected static int StaticPort = 8787;
protected NzbDroneRunner _runner;
public override string AuthorRootFolder => GetTempDirectory("AuthorRootFolder");
protected int Port { get; private set; }
protected override string RootUrl => $"http://localhost:{Port}/";
protected override string ApiKey => _runner.ApiKey;
protected override void StartTestTarget()
{
Port = Interlocked.Increment(ref StaticPort);
_runner = new NzbDroneRunner(LogManager.GetCurrentClassLogger(), Port);
_runner.Kill();
_runner.Start();
}
protected override void InitializeTestTarget()
{
Indexers.Post(new Readarr.Api.V1.Indexers.IndexerResource
{
EnableRss = false,
EnableInteractiveSearch = false,
EnableAutomaticSearch = false,
ConfigContract = nameof(NewznabSettings),
Implementation = nameof(Newznab),
Name = "NewznabTest",
Protocol = Core.Indexers.DownloadProtocol.Usenet,
Fields = SchemaBuilder.ToSchema(new NewznabSettings())
});
// Change Console Log Level to Debug so we get more details.
var config = HostConfig.Get(1);
config.ConsoleLogLevel = "Debug";
HostConfig.Put(config);
}
protected override void StopTestTarget()
{
_runner.Kill();
}
}
}