Lidarr/src/NzbDrone.Update.Test/ProgramFixture.cs
Joseph Milazzo ef4da4ac9f Track Parsing Code (#10)
* We now have the ability to import local tracks into Lidarr. Switching to IDv3 tag reading over custom parsing for local tracks.

* Stable code for track refresh.

* RefreshArtist and RescanArtist events are working correctly. Need to add potential rejection decisions in future.

* Implemented code comments

* PR comments and fixing some odd db bugs.

* Fix some conflicts after Unit Test PR Merge

Fix some conflicts after Unit Test PR Merge

* Track/Album Add and Update Fixes

Track/Album Add and Update Fixes

* Fixed an issue with trackimport looking up trackId instead of artistId

* Add Handle to TrackService for TrackAddedEvent

Add Handle to TrackService for TrackAddedEvent

* Update Quality Regex, Store BitRateMode in TrackFile

Update Quality Regex, Store BitRateMode in TrackFile
2017-07-03 13:39:06 -05:00

51 lines
1.3 KiB
C#

using System;
using Moq;
using NUnit.Framework;
using NzbDrone.Common.Model;
using NzbDrone.Common.Processes;
using NzbDrone.Test.Common;
using NzbDrone.Update.UpdateEngine;
namespace NzbDrone.Update.Test
{
[TestFixture]
public class ProgramFixture : TestBase<UpdateApp>
{
[Test]
public void should_throw_if_null_passed_in()
{
Assert.Throws<ArgumentOutOfRangeException>(() => Subject.Start(null));
}
[TestCase("d", "")]
[TestCase("", "")]
[TestCase("0", "")]
[TestCase("-1", "")]
[TestCase(" ", "")]
[TestCase(".", "")]
public void should_throw_if_first_arg_isnt_an_int(string arg1, string arg2)
{
Assert.Throws<ArgumentOutOfRangeException>(() => Subject.Start(new[] { arg1, arg2 }));
}
[Test]
public void should_call_update_with_correct_path()
{
var ProcessPath = @"C:\NzbDrone\lidarr.exe".AsOsAgnostic();
Mocker.GetMock<IProcessProvider>().Setup(c => c.GetProcessById(12))
.Returns(new ProcessInfo() { StartPath = ProcessPath });
Subject.Start(new[] { "12", "", ProcessPath });
Mocker.GetMock<IInstallUpdateService>().Verify(c => c.Start(@"C:\NzbDrone".AsOsAgnostic(), 12), Times.Once());
}
}
}