mirror of
https://github.com/Readarr/Readarr.git
synced 2026-04-18 21:34:28 -04:00
fixed more tests.
This commit is contained in:
@@ -3,24 +3,28 @@ using System.ServiceProcess;
|
||||
using NLog;
|
||||
using NzbDrone.Common;
|
||||
|
||||
|
||||
namespace NzbDrone
|
||||
{
|
||||
public class ApplicationServer : ServiceBase
|
||||
public interface INzbDroneServiceFactory
|
||||
{
|
||||
private static readonly Logger logger = LogManager.GetCurrentClassLogger();
|
||||
ServiceBase Build();
|
||||
void Start();
|
||||
}
|
||||
|
||||
public class NzbDroneServiceFactory : ServiceBase, INzbDroneServiceFactory
|
||||
{
|
||||
private readonly ConfigFileProvider _configFileProvider;
|
||||
private readonly EnvironmentProvider _environmentProvider;
|
||||
private readonly IHostController _hostController;
|
||||
private readonly ProcessProvider _processProvider;
|
||||
private readonly PriorityMonitor _priorityMonitor;
|
||||
private readonly SecurityProvider _securityProvider;
|
||||
private readonly Logger _logger;
|
||||
|
||||
public ApplicationServer(ConfigFileProvider configFileProvider, IHostController hostController,
|
||||
public NzbDroneServiceFactory(ConfigFileProvider configFileProvider, IHostController hostController,
|
||||
EnvironmentProvider environmentProvider,
|
||||
ProcessProvider processProvider, PriorityMonitor priorityMonitor,
|
||||
SecurityProvider securityProvider)
|
||||
SecurityProvider securityProvider, Logger logger)
|
||||
{
|
||||
_configFileProvider = configFileProvider;
|
||||
_hostController = hostController;
|
||||
@@ -28,6 +32,7 @@ namespace NzbDrone
|
||||
_processProvider = processProvider;
|
||||
_priorityMonitor = priorityMonitor;
|
||||
_securityProvider = securityProvider;
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
protected override void OnStart(string[] args)
|
||||
@@ -35,7 +40,7 @@ namespace NzbDrone
|
||||
Start();
|
||||
}
|
||||
|
||||
public virtual void Start()
|
||||
public void Start()
|
||||
{
|
||||
_securityProvider.MakeAccessible();
|
||||
|
||||
@@ -45,12 +50,12 @@ namespace NzbDrone
|
||||
{
|
||||
try
|
||||
{
|
||||
logger.Info("Starting default browser. {0}", _hostController.AppUrl);
|
||||
_logger.Info("Starting default browser. {0}", _hostController.AppUrl);
|
||||
_processProvider.Start(_hostController.AppUrl);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
logger.ErrorException("Failed to open URL in default browser.", e);
|
||||
_logger.ErrorException("Failed to open URL in default browser.", e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,9 +64,15 @@ namespace NzbDrone
|
||||
|
||||
protected override void OnStop()
|
||||
{
|
||||
logger.Info("Attempting to stop application.");
|
||||
_logger.Info("Attempting to stop application.");
|
||||
_hostController.StopServer();
|
||||
logger.Info("Application has finished stop routine.");
|
||||
_logger.Info("Application has finished stop routine.");
|
||||
}
|
||||
|
||||
public ServiceBase Build()
|
||||
{
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
+15
-14
@@ -9,19 +9,19 @@ namespace NzbDrone
|
||||
{
|
||||
public class Router
|
||||
{
|
||||
private readonly ApplicationServer _applicationServer;
|
||||
private readonly INzbDroneServiceFactory _nzbDroneServiceFactory;
|
||||
private readonly ServiceProvider _serviceProvider;
|
||||
private readonly ConsoleProvider _consoleProvider;
|
||||
private readonly IConsoleService _consoleService;
|
||||
private readonly EnvironmentProvider _environmentProvider;
|
||||
private readonly SysTrayProvider _sysTrayProvider;
|
||||
private readonly Logger _logger;
|
||||
|
||||
public Router(ApplicationServer applicationServer, ServiceProvider serviceProvider,
|
||||
ConsoleProvider consoleProvider, EnvironmentProvider environmentProvider, SysTrayProvider sysTrayProvider, Logger logger)
|
||||
public Router(INzbDroneServiceFactory nzbDroneServiceFactory, ServiceProvider serviceProvider,
|
||||
IConsoleService consoleService, EnvironmentProvider environmentProvider, SysTrayProvider sysTrayProvider, Logger logger)
|
||||
{
|
||||
_applicationServer = applicationServer;
|
||||
_nzbDroneServiceFactory = nzbDroneServiceFactory;
|
||||
_serviceProvider = serviceProvider;
|
||||
_consoleProvider = consoleProvider;
|
||||
_consoleService = consoleService;
|
||||
_environmentProvider = environmentProvider;
|
||||
_sysTrayProvider = sysTrayProvider;
|
||||
_logger = logger;
|
||||
@@ -46,17 +46,18 @@ namespace NzbDrone
|
||||
case ApplicationModes.Service:
|
||||
{
|
||||
_logger.Trace("Service selected");
|
||||
_serviceProvider.Run(_applicationServer);
|
||||
_serviceProvider.Run(_nzbDroneServiceFactory.Build());
|
||||
break;
|
||||
}
|
||||
|
||||
case ApplicationModes.Console:
|
||||
{
|
||||
_logger.Trace("Console selected");
|
||||
_applicationServer.Start();
|
||||
if (ConsoleProvider.IsConsoleApplication)
|
||||
_consoleProvider.WaitForClose();
|
||||
|
||||
_nzbDroneServiceFactory.Start();
|
||||
if (_consoleService.IsConsoleApplication)
|
||||
{
|
||||
_consoleService.WaitForClose();
|
||||
}
|
||||
else
|
||||
{
|
||||
_sysTrayProvider.Start();
|
||||
@@ -69,7 +70,7 @@ namespace NzbDrone
|
||||
_logger.Trace("Install Service selected");
|
||||
if (_serviceProvider.ServiceExist(ServiceProvider.NZBDRONE_SERVICE_NAME))
|
||||
{
|
||||
_consoleProvider.PrintServiceAlreadyExist();
|
||||
_consoleService.PrintServiceAlreadyExist();
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -83,7 +84,7 @@ namespace NzbDrone
|
||||
_logger.Trace("Uninstall Service selected");
|
||||
if (!_serviceProvider.ServiceExist(ServiceProvider.NZBDRONE_SERVICE_NAME))
|
||||
{
|
||||
_consoleProvider.PrintServiceDoestExist();
|
||||
_consoleService.PrintServiceDoestExist();
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -94,7 +95,7 @@ namespace NzbDrone
|
||||
}
|
||||
default:
|
||||
{
|
||||
_consoleProvider.PrintHelp();
|
||||
_consoleService.PrintHelp();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,10 +6,6 @@
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<probing privatePath="libs" />
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Autofac" publicKeyToken="17863af14b0044da" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.5.0.0" newVersion="4.5.0.0" />
|
||||
|
||||
Reference in New Issue
Block a user