using System; using FizzWare.NBuilder; using Moq; using NUnit.Framework; using NzbDrone.Common; using NzbDrone.Common.Model; using NzbDrone.Host; using NzbDrone.Test.Common; namespace NzbDrone.App.Test { [TestFixture] public class MonitoringProviderTest : TestBase<PriorityMonitor> { [Test] public void Ensure_priority_doesnt_fail_on_invalid_process_id() { Mocker.GetMock<IProcessProvider>().Setup(c => c.GetCurrentProcess()) .Returns(Builder<ProcessInfo>.CreateNew().Build()); Mocker.GetMock<IProcessProvider>().Setup(c => c.GetProcessById(It.IsAny<int>())).Returns((ProcessInfo)null); Subject.EnsurePriority(null); } [Test] public void Ensure_should_log_warn_exception_rather_than_throw() { Mocker.GetMock<IProcessProvider>().Setup(c => c.GetCurrentProcess()).Throws<InvalidOperationException>(); Subject.EnsurePriority(null); ExceptionVerification.ExpectedWarns(1); } } }