mirror of
https://github.com/lidarr/lidarr.git
synced 2025-08-21 14:03:29 -07:00
Fixed Environment Variable conflict in IISProvider
This commit is contained in:
parent
fbf7d20c5d
commit
bc5307a4d3
8 changed files with 91 additions and 14 deletions
64
NzbDrone.App.Test/IISProviderFixture.cs
Normal file
64
NzbDrone.App.Test/IISProviderFixture.cs
Normal file
|
@ -0,0 +1,64 @@
|
|||
using System;
|
||||
using System.Diagnostics;
|
||||
using FluentAssertions;
|
||||
using Moq;
|
||||
using NUnit.Framework;
|
||||
using Ninject;
|
||||
using NzbDrone.Common;
|
||||
using NzbDrone.Common.Model;
|
||||
using NzbDrone.Providers;
|
||||
using NzbDrone.Test.Common;
|
||||
using NzbDrone.Test.Dummy;
|
||||
|
||||
namespace NzbDrone.App.Test
|
||||
{
|
||||
[TestFixture]
|
||||
public class IISProviderFixture : TestBase
|
||||
{
|
||||
[Test]
|
||||
public void should_not_set_env_varibles_twice()
|
||||
{
|
||||
WithTempAsAppPath();
|
||||
|
||||
var dummy = StartDummyProcess();
|
||||
|
||||
Environment.SetEnvironmentVariable(EnviromentProvider.NZBDRONE_PID, "Test");
|
||||
Environment.SetEnvironmentVariable(EnviromentProvider.NZBDRONE_PATH, "Test");
|
||||
|
||||
Mocker.GetMock<ProcessProvider>()
|
||||
.Setup(c => c.Start(It.IsAny<ProcessStartInfo>()))
|
||||
.Returns(dummy);
|
||||
|
||||
Mocker.Resolve<IISProvider>().StartServer();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_set_iis_procces_id()
|
||||
{
|
||||
WithTempAsAppPath();
|
||||
var dummy = StartDummyProcess();
|
||||
|
||||
Mocker.GetMock<ProcessProvider>()
|
||||
.Setup(c => c.Start(It.IsAny<ProcessStartInfo>()))
|
||||
.Returns(dummy);
|
||||
|
||||
//act
|
||||
Mocker.Resolve<IISProvider>().StartServer();
|
||||
|
||||
//assert
|
||||
Mocker.Resolve<IISProvider>().IISProcessId.Should().Be(dummy.Id);
|
||||
}
|
||||
|
||||
|
||||
public Process StartDummyProcess()
|
||||
{
|
||||
var startInfo = new ProcessStartInfo(DummyApp.DUMMY_PROCCESS_NAME + ".exe");
|
||||
startInfo.UseShellExecute = false;
|
||||
startInfo.RedirectStandardOutput = true;
|
||||
startInfo.RedirectStandardError = true;
|
||||
startInfo.CreateNoWindow = true;
|
||||
return new ProcessProvider().Start(startInfo);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue