diff --git a/NzbDrone.Common.Test/ServiceProviderTests.cs b/NzbDrone.Common.Test/ServiceProviderTests.cs index 9f3017547..1870852c2 100644 --- a/NzbDrone.Common.Test/ServiceProviderTests.cs +++ b/NzbDrone.Common.Test/ServiceProviderTests.cs @@ -1,6 +1,4 @@ - - -using System.ServiceProcess; +using System.ServiceProcess; using FluentAssertions; using NUnit.Framework; using NzbDrone.Test.Common; @@ -8,66 +6,55 @@ using NzbDrone.Test.Common; namespace NzbDrone.Common.Test { [TestFixture] - public class ServiceProviderTests : TestBase + public class ServiceProviderTests : TestBase { private const string ALWAYS_INSTALLED_SERVICE = "SCardSvr"; //Smart Card private const string TEMP_SERVICE_NAME = "NzbDrone_Nunit"; - private ServiceProvider serviceProvider; [SetUp] public void Setup() { - if(EnvironmentProvider.IsLinux) - { - throw new IgnoreException("Windows services aren't available in none-windows environments."); - } + WindowsOnly(); - serviceProvider = new ServiceProvider(); - if (serviceProvider.ServiceExist(TEMP_SERVICE_NAME)) + if (Subject.ServiceExist(TEMP_SERVICE_NAME)) { - serviceProvider.UnInstall(TEMP_SERVICE_NAME); + Subject.UnInstall(TEMP_SERVICE_NAME); } } [TearDown] public void TearDown() { - if (serviceProvider.ServiceExist(TEMP_SERVICE_NAME)) + if (Subject.ServiceExist(TEMP_SERVICE_NAME)) { - serviceProvider.UnInstall(TEMP_SERVICE_NAME); + Subject.UnInstall(TEMP_SERVICE_NAME); } } [Test] public void Exists_should_find_existing_service() { - - var exists = serviceProvider.ServiceExist(ALWAYS_INSTALLED_SERVICE); - - exists.Should().BeTrue(); + Subject.ServiceExist(ALWAYS_INSTALLED_SERVICE).Should().BeTrue(); } [Test] public void Exists_should_not_find_random_service() { - - var exists = serviceProvider.ServiceExist("random_service_name"); - - exists.Should().BeFalse(); + Subject.ServiceExist("random_service_name").Should().BeFalse(); } [Test] public void Service_should_be_installed_and_then_uninstalled() { - - serviceProvider.ServiceExist(TEMP_SERVICE_NAME).Should().BeFalse("Service already installed"); - serviceProvider.Install(TEMP_SERVICE_NAME); - serviceProvider.ServiceExist(TEMP_SERVICE_NAME).Should().BeTrue(); - serviceProvider.UnInstall(TEMP_SERVICE_NAME); - serviceProvider.ServiceExist(TEMP_SERVICE_NAME).Should().BeFalse(); + + Subject.ServiceExist(TEMP_SERVICE_NAME).Should().BeFalse("Service already installed"); + Subject.Install(TEMP_SERVICE_NAME); + Subject.ServiceExist(TEMP_SERVICE_NAME).Should().BeTrue(); + Subject.UnInstall(TEMP_SERVICE_NAME); + Subject.ServiceExist(TEMP_SERVICE_NAME).Should().BeFalse(); ExceptionVerification.ExpectedWarns(1); } @@ -76,40 +63,38 @@ namespace NzbDrone.Common.Test [Explicit] public void UnInstallService() { - - serviceProvider.UnInstall(ServiceProvider.NZBDRONE_SERVICE_NAME); - serviceProvider.ServiceExist(ServiceProvider.NZBDRONE_SERVICE_NAME).Should().BeFalse(); + Subject.UnInstall(ServiceProvider.NZBDRONE_SERVICE_NAME); + Subject.ServiceExist(ServiceProvider.NZBDRONE_SERVICE_NAME).Should().BeFalse(); } [Test] - //[Timeout(10000)] public void Should_be_able_to_start_and_stop_service() { - serviceProvider.GetService(ALWAYS_INSTALLED_SERVICE).Status + Subject.GetService(ALWAYS_INSTALLED_SERVICE).Status .Should().NotBe(ServiceControllerStatus.Running); - serviceProvider.Start(ALWAYS_INSTALLED_SERVICE); + Subject.Start(ALWAYS_INSTALLED_SERVICE); - serviceProvider.GetService(ALWAYS_INSTALLED_SERVICE).Status + Subject.GetService(ALWAYS_INSTALLED_SERVICE).Status .Should().Be(ServiceControllerStatus.Running); - serviceProvider.Stop(ALWAYS_INSTALLED_SERVICE); + Subject.Stop(ALWAYS_INSTALLED_SERVICE); - serviceProvider.GetService(ALWAYS_INSTALLED_SERVICE).Status + Subject.GetService(ALWAYS_INSTALLED_SERVICE).Status .Should().Be(ServiceControllerStatus.Stopped); } [Test] public void Should_log_warn_if_on_stop_if_service_is_already_stopped() { - serviceProvider.GetService(ALWAYS_INSTALLED_SERVICE).Status + Subject.GetService(ALWAYS_INSTALLED_SERVICE).Status .Should().NotBe(ServiceControllerStatus.Running); - - serviceProvider.Stop(ALWAYS_INSTALLED_SERVICE); - - serviceProvider.GetService(ALWAYS_INSTALLED_SERVICE).Status + Subject.Stop(ALWAYS_INSTALLED_SERVICE); + + + Subject.GetService(ALWAYS_INSTALLED_SERVICE).Status .Should().Be(ServiceControllerStatus.Stopped); ExceptionVerification.ExpectedWarns(1); diff --git a/NzbDrone.Common/PathExtensions.cs b/NzbDrone.Common/PathExtensions.cs index bfdde9b80..65079499c 100644 --- a/NzbDrone.Common/PathExtensions.cs +++ b/NzbDrone.Common/PathExtensions.cs @@ -28,7 +28,7 @@ namespace NzbDrone.Common return info.FullName.TrimEnd('/', '\\', ' '); } - return info.FullName.Trim('/', '\\', ' '); + return info.FullName.TrimEnd('/').Trim('\\', ' '); } static string GetProperDirectoryCapitalization(DirectoryInfo dirInfo)