From bd0a7a58ddf49aa7e4b94a081166d225ad9efe5c Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Fri, 8 Apr 2011 16:48:47 -0700 Subject: [PATCH 1/7] Removed INotificationProvider --- NzbDrone.Core/CentralDispatch.cs | 2 +- NzbDrone.Core/NzbDrone.Core.csproj | 1 - .../Fakes/FakeNotificationProvider.cs | 2 +- .../Providers/INotificationProvider.cs | 22 ------------------- .../Providers/NotificationProvider.cs | 2 +- NzbDrone.Core/Providers/SyncProvider.cs | 4 ++-- .../Controllers/NotificationController.cs | 4 ++-- 7 files changed, 7 insertions(+), 30 deletions(-) delete mode 100644 NzbDrone.Core/Providers/INotificationProvider.cs diff --git a/NzbDrone.Core/CentralDispatch.cs b/NzbDrone.Core/CentralDispatch.cs index 37661a956..94208603f 100644 --- a/NzbDrone.Core/CentralDispatch.cs +++ b/NzbDrone.Core/CentralDispatch.cs @@ -76,7 +76,7 @@ namespace NzbDrone.Core _kernel.Bind().To().InSingletonScope(); _kernel.Bind().To().InSingletonScope(); _kernel.Bind().To().InSingletonScope(); - _kernel.Bind().To().InSingletonScope(); + _kernel.Bind().To().InSingletonScope(); _kernel.Bind().To().InSingletonScope(); _kernel.Bind().To().InSingletonScope(); _kernel.Bind().To().InSingletonScope(); diff --git a/NzbDrone.Core/NzbDrone.Core.csproj b/NzbDrone.Core/NzbDrone.Core.csproj index 061f1b71b..1d4895b00 100644 --- a/NzbDrone.Core/NzbDrone.Core.csproj +++ b/NzbDrone.Core/NzbDrone.Core.csproj @@ -203,7 +203,6 @@ - diff --git a/NzbDrone.Core/Providers/Fakes/FakeNotificationProvider.cs b/NzbDrone.Core/Providers/Fakes/FakeNotificationProvider.cs index f51e7d6fd..3165e7de1 100644 --- a/NzbDrone.Core/Providers/Fakes/FakeNotificationProvider.cs +++ b/NzbDrone.Core/Providers/Fakes/FakeNotificationProvider.cs @@ -4,7 +4,7 @@ using NzbDrone.Core.Model.Notification; namespace NzbDrone.Core.Providers.Fakes { - class FakeNotificationProvider : INotificationProvider + class FakeNotificationProvider { private readonly Dictionary _basicNotifications = new Dictionary(); private readonly Dictionary _progressNotification = new Dictionary(); diff --git a/NzbDrone.Core/Providers/INotificationProvider.cs b/NzbDrone.Core/Providers/INotificationProvider.cs deleted file mode 100644 index d4b4c8c12..000000000 --- a/NzbDrone.Core/Providers/INotificationProvider.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System; -using System.Collections.Generic; -using NzbDrone.Core.Model.Notification; - -namespace NzbDrone.Core.Providers -{ - public interface INotificationProvider - { - void Register(ProgressNotification notification); - void Register(BasicNotification notification); - - List BasicNotifications { get; } - List GetProgressNotifications { get; } - - /// - /// Dismisses a notification based on its ID. - /// - /// notification id. - void Dismiss(Guid notificationId); - - } -} diff --git a/NzbDrone.Core/Providers/NotificationProvider.cs b/NzbDrone.Core/Providers/NotificationProvider.cs index 97b23c8a5..f2759e3a6 100644 --- a/NzbDrone.Core/Providers/NotificationProvider.cs +++ b/NzbDrone.Core/Providers/NotificationProvider.cs @@ -5,7 +5,7 @@ using NzbDrone.Core.Model.Notification; namespace NzbDrone.Core.Providers { - class NotificationProvider : INotificationProvider + public class NotificationProvider { private readonly Dictionary _basicNotifications = new Dictionary(); private Dictionary _progressNotification = new Dictionary(); diff --git a/NzbDrone.Core/Providers/SyncProvider.cs b/NzbDrone.Core/Providers/SyncProvider.cs index fa8bf8a18..9f0ffb1a5 100644 --- a/NzbDrone.Core/Providers/SyncProvider.cs +++ b/NzbDrone.Core/Providers/SyncProvider.cs @@ -16,7 +16,7 @@ namespace NzbDrone.Core.Providers private readonly ISeriesProvider _seriesProvider; private readonly IEpisodeProvider _episodeProvider; private readonly IMediaFileProvider _mediaFileProvider; - private readonly INotificationProvider _notificationProvider; + private readonly NotificationProvider _notificationProvider; private readonly IDiskProvider _diskProvider; private ProgressNotification _seriesSyncNotification; @@ -25,7 +25,7 @@ namespace NzbDrone.Core.Providers private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); public SyncProvider(ISeriesProvider seriesProvider, IEpisodeProvider episodeProvider, - IMediaFileProvider mediaFileProvider, INotificationProvider notificationProvider, + IMediaFileProvider mediaFileProvider, NotificationProvider notificationProvider, IDiskProvider diskProvider) { _seriesProvider = seriesProvider; diff --git a/NzbDrone.Web/Controllers/NotificationController.cs b/NzbDrone.Web/Controllers/NotificationController.cs index 693c2dd6a..12118727f 100644 --- a/NzbDrone.Web/Controllers/NotificationController.cs +++ b/NzbDrone.Web/Controllers/NotificationController.cs @@ -9,11 +9,11 @@ namespace NzbDrone.Web.Controllers { public class NotificationController : Controller { - private readonly INotificationProvider _notifications; + private readonly NotificationProvider _notifications; // // GET: /Notification/ - public NotificationController(INotificationProvider notificationProvider) + public NotificationController(NotificationProvider notificationProvider) { _notifications = notificationProvider; } From c25af5978d377b4738c45b84410aa91625430c0e Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Fri, 8 Apr 2011 16:55:23 -0700 Subject: [PATCH 2/7] Removed ISeriesProvider --- NzbDrone.Core.Test/EpisodeProviderTest.cs | 2 +- NzbDrone.Core.Test/RssProviderTest.cs | 2 +- NzbDrone.Core/CentralDispatch.cs | 14 ++++----- NzbDrone.Core/NzbDrone.Core.csproj | 1 - NzbDrone.Core/Providers/EpisodeProvider.cs | 4 +-- .../Providers/Feed/FeedProviderBase.cs | 4 +-- .../Providers/Feed/NzbsOrgFeedProvider.cs | 2 +- NzbDrone.Core/Providers/ISeriesProvider.cs | 30 ------------------- .../Providers/NotificationProvider.cs | 10 +++---- .../Providers/PostProcessingProvider.cs | 4 +-- NzbDrone.Core/Providers/RenameProvider.cs | 4 +-- NzbDrone.Core/Providers/SeasonProvider.cs | 4 +-- NzbDrone.Core/Providers/SeriesProvider.cs | 4 +-- NzbDrone.Core/Providers/SyncProvider.cs | 4 +-- NzbDrone.Core/Providers/TimerProvider.cs | 4 +-- .../Controllers/AddSeriesController.cs | 4 +-- NzbDrone.Web/Controllers/SeriesController.cs | 4 +-- 17 files changed, 35 insertions(+), 66 deletions(-) delete mode 100644 NzbDrone.Core/Providers/ISeriesProvider.cs diff --git a/NzbDrone.Core.Test/EpisodeProviderTest.cs b/NzbDrone.Core.Test/EpisodeProviderTest.cs index 4828141c3..036c3dd76 100644 --- a/NzbDrone.Core.Test/EpisodeProviderTest.cs +++ b/NzbDrone.Core.Test/EpisodeProviderTest.cs @@ -66,7 +66,7 @@ namespace NzbDrone.Core.Test { //Setup var season = new Mock(); - var series = new Mock(); + var series = new Mock(); //var history = new Mock(); //var quality = new Mock(); var repo = new Mock(); diff --git a/NzbDrone.Core.Test/RssProviderTest.cs b/NzbDrone.Core.Test/RssProviderTest.cs index 217fd81a1..9dc68ecbb 100644 --- a/NzbDrone.Core.Test/RssProviderTest.cs +++ b/NzbDrone.Core.Test/RssProviderTest.cs @@ -43,7 +43,7 @@ namespace NzbDrone.Core.Test public class MockFeedProvider : FeedProviderBase { - public MockFeedProvider(ISeriesProvider seriesProvider, ISeasonProvider seasonProvider, IEpisodeProvider episodeProvider, IConfigProvider configProvider, HttpProvider httpProvider) + public MockFeedProvider(SeriesProvider seriesProvider, ISeasonProvider seasonProvider, IEpisodeProvider episodeProvider, IConfigProvider configProvider, HttpProvider httpProvider) : base(seriesProvider, seasonProvider, episodeProvider, configProvider, httpProvider) { } diff --git a/NzbDrone.Core/CentralDispatch.cs b/NzbDrone.Core/CentralDispatch.cs index 94208603f..3c49072db 100644 --- a/NzbDrone.Core/CentralDispatch.cs +++ b/NzbDrone.Core/CentralDispatch.cs @@ -60,23 +60,23 @@ namespace NzbDrone.Core _kernel.Bind().ToSelf(); _kernel.Bind().ToSelf(); _kernel.Bind().ToSelf(); - _kernel.Bind().To().InSingletonScope(); + _kernel.Bind().ToSelf().InSingletonScope(); _kernel.Bind().To().InSingletonScope(); _kernel.Bind().To(); _kernel.Bind().To(); _kernel.Bind().To(); _kernel.Bind().To(); - _kernel.Bind().To(); + _kernel.Bind().ToSelf(); _kernel.Bind().To(); - _kernel.Bind().To(); - _kernel.Bind().To(); - _kernel.Bind().To(); - _kernel.Bind().To(); + _kernel.Bind().ToSelf(); + _kernel.Bind().ToSelf(); + _kernel.Bind().ToSelf(); + _kernel.Bind().ToSelf(); _kernel.Bind().To().InSingletonScope(); _kernel.Bind().To().InSingletonScope(); _kernel.Bind().To().InSingletonScope(); _kernel.Bind().To().InSingletonScope(); - _kernel.Bind().To().InSingletonScope(); + _kernel.Bind().ToSelf().InSingletonScope(); _kernel.Bind().To().InSingletonScope(); _kernel.Bind().To().InSingletonScope(); _kernel.Bind().To().InSingletonScope(); diff --git a/NzbDrone.Core/NzbDrone.Core.csproj b/NzbDrone.Core/NzbDrone.Core.csproj index 1d4895b00..1fda7cced 100644 --- a/NzbDrone.Core/NzbDrone.Core.csproj +++ b/NzbDrone.Core/NzbDrone.Core.csproj @@ -213,7 +213,6 @@ - diff --git a/NzbDrone.Core/Providers/EpisodeProvider.cs b/NzbDrone.Core/Providers/EpisodeProvider.cs index a5bd0660e..0942f1282 100644 --- a/NzbDrone.Core/Providers/EpisodeProvider.cs +++ b/NzbDrone.Core/Providers/EpisodeProvider.cs @@ -14,14 +14,14 @@ namespace NzbDrone.Core.Providers //TODO: Remove parsing of the series name, it should be done in series provider private readonly IRepository _sonicRepo; - private readonly ISeriesProvider _series; + private readonly SeriesProvider _series; private readonly ISeasonProvider _seasons; private readonly TvDbProvider _tvDb; private readonly IHistoryProvider _history; private readonly QualityProvider _quality; private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); - public EpisodeProvider(IRepository sonicRepo, ISeriesProvider seriesProvider, + public EpisodeProvider(IRepository sonicRepo, SeriesProvider seriesProvider, ISeasonProvider seasonProvider, TvDbProvider tvDbProvider, IHistoryProvider history, QualityProvider quality) { diff --git a/NzbDrone.Core/Providers/Feed/FeedProviderBase.cs b/NzbDrone.Core/Providers/Feed/FeedProviderBase.cs index 790d286d9..2e6f4cc21 100644 --- a/NzbDrone.Core/Providers/Feed/FeedProviderBase.cs +++ b/NzbDrone.Core/Providers/Feed/FeedProviderBase.cs @@ -8,14 +8,14 @@ namespace NzbDrone.Core.Providers.Feed { public abstract class FeedProviderBase { - protected readonly ISeriesProvider _seriesProvider; + protected readonly SeriesProvider _seriesProvider; protected readonly ISeasonProvider _seasonProvider; protected readonly IEpisodeProvider _episodeProvider; protected readonly IConfigProvider _configProvider; private readonly HttpProvider _httpProvider; protected static readonly Logger Logger = LogManager.GetCurrentClassLogger(); - public FeedProviderBase(ISeriesProvider seriesProvider, ISeasonProvider seasonProvider, + public FeedProviderBase(SeriesProvider seriesProvider, ISeasonProvider seasonProvider, IEpisodeProvider episodeProvider, IConfigProvider configProvider, HttpProvider httpProvider) { _seriesProvider = seriesProvider; diff --git a/NzbDrone.Core/Providers/Feed/NzbsOrgFeedProvider.cs b/NzbDrone.Core/Providers/Feed/NzbsOrgFeedProvider.cs index 27a996be1..f23f53d32 100644 --- a/NzbDrone.Core/Providers/Feed/NzbsOrgFeedProvider.cs +++ b/NzbDrone.Core/Providers/Feed/NzbsOrgFeedProvider.cs @@ -9,7 +9,7 @@ namespace NzbDrone.Core.Providers.Feed { class NzbsOrgFeedProvider : FeedProviderBase { - public NzbsOrgFeedProvider(ISeriesProvider seriesProvider, ISeasonProvider seasonProvider, IEpisodeProvider episodeProvider, IConfigProvider configProvider, HttpProvider httpProvider) + public NzbsOrgFeedProvider(SeriesProvider seriesProvider, ISeasonProvider seasonProvider, IEpisodeProvider episodeProvider, IConfigProvider configProvider, HttpProvider httpProvider) : base(seriesProvider, seasonProvider, episodeProvider, configProvider, httpProvider) { } diff --git a/NzbDrone.Core/Providers/ISeriesProvider.cs b/NzbDrone.Core/Providers/ISeriesProvider.cs deleted file mode 100644 index 1d09f77f2..000000000 --- a/NzbDrone.Core/Providers/ISeriesProvider.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using NzbDrone.Core.Repository; -using NzbDrone.Core.Repository.Quality; -using TvdbLib.Data; - -namespace NzbDrone.Core.Providers -{ - public interface ISeriesProvider - { - IQueryable GetAllSeries(); - Series GetSeries(int seriesId); - - /// - /// Determines if a series is being actively watched. - /// - /// The TVDB ID of the series - /// Whether or not the show is monitored - bool IsMonitored(long id); - TvdbSeries MapPathToSeries(string path); - void AddSeries(string path, int tvDbSeriesId, int qualityProfileId); - Series FindSeries(string cleanTitle); - bool QualityWanted(int seriesId, QualityTypes quality); - void UpdateSeries(Series series); - void DeleteSeries(int seriesId); - bool SeriesPathExists(string cleanPath); - Series UpdateSeriesInfo(int seriesId); - } -} \ No newline at end of file diff --git a/NzbDrone.Core/Providers/NotificationProvider.cs b/NzbDrone.Core/Providers/NotificationProvider.cs index f2759e3a6..72a23fb36 100644 --- a/NzbDrone.Core/Providers/NotificationProvider.cs +++ b/NzbDrone.Core/Providers/NotificationProvider.cs @@ -11,22 +11,22 @@ namespace NzbDrone.Core.Providers private Dictionary _progressNotification = new Dictionary(); private readonly Object _lock = new object(); - public void Register(ProgressNotification notification) + public virtual void Register(ProgressNotification notification) { _progressNotification.Add(notification.Id, notification); } - public void Register(BasicNotification notification) + public virtual void Register(BasicNotification notification) { _basicNotifications.Add(notification.Id, notification); } - public List BasicNotifications + public virtual List BasicNotifications { get { return new List(_basicNotifications.Values); } } - public List GetProgressNotifications + public virtual List GetProgressNotifications { get { @@ -34,7 +34,7 @@ namespace NzbDrone.Core.Providers } } - public void Dismiss(Guid notificationId) + public virtual void Dismiss(Guid notificationId) { lock (_lock) { diff --git a/NzbDrone.Core/Providers/PostProcessingProvider.cs b/NzbDrone.Core/Providers/PostProcessingProvider.cs index 63ff28361..9177b2280 100644 --- a/NzbDrone.Core/Providers/PostProcessingProvider.cs +++ b/NzbDrone.Core/Providers/PostProcessingProvider.cs @@ -11,11 +11,11 @@ namespace NzbDrone.Core.Providers { public class PostProcessingProvider { - private readonly ISeriesProvider _seriesProvider; + private readonly SeriesProvider _seriesProvider; private readonly IMediaFileProvider _mediaFileProvider; private readonly IRenameProvider _renameProvider; - public PostProcessingProvider(ISeriesProvider seriesProvider, + public PostProcessingProvider(SeriesProvider seriesProvider, IMediaFileProvider mediaFileProvider, IRenameProvider renameProvider) { _seriesProvider = seriesProvider; diff --git a/NzbDrone.Core/Providers/RenameProvider.cs b/NzbDrone.Core/Providers/RenameProvider.cs index 90dcd2775..686d612be 100644 --- a/NzbDrone.Core/Providers/RenameProvider.cs +++ b/NzbDrone.Core/Providers/RenameProvider.cs @@ -14,7 +14,7 @@ namespace NzbDrone.Core.Providers { public class RenameProvider : IRenameProvider { - private readonly ISeriesProvider _seriesProvider; + private readonly SeriesProvider _seriesProvider; private readonly ISeasonProvider _seasonProvider; private readonly IEpisodeProvider _episodeProvider; private readonly IMediaFileProvider _mediaFileProvider; @@ -27,7 +27,7 @@ namespace NzbDrone.Core.Providers private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); - public RenameProvider(ISeriesProvider seriesProvider, ISeasonProvider seasonProvider, + public RenameProvider(SeriesProvider seriesProvider, ISeasonProvider seasonProvider, IEpisodeProvider episodeProvider, IMediaFileProvider mediaFileProvider, IDiskProvider diskProvider, IConfigProvider configProvider, ExternalNotificationProvider extenalNotificationProvider) diff --git a/NzbDrone.Core/Providers/SeasonProvider.cs b/NzbDrone.Core/Providers/SeasonProvider.cs index fae1d4777..dbd72ddbb 100644 --- a/NzbDrone.Core/Providers/SeasonProvider.cs +++ b/NzbDrone.Core/Providers/SeasonProvider.cs @@ -11,11 +11,11 @@ namespace NzbDrone.Core.Providers public class SeasonProvider : ISeasonProvider { private readonly IRepository _sonicRepo; - private readonly ISeriesProvider _seriesProvider; + private readonly SeriesProvider _seriesProvider; private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); - public SeasonProvider(IRepository dataRepository, ISeriesProvider seriesProvider) + public SeasonProvider(IRepository dataRepository, SeriesProvider seriesProvider) { _sonicRepo = dataRepository; _seriesProvider = seriesProvider; diff --git a/NzbDrone.Core/Providers/SeriesProvider.cs b/NzbDrone.Core/Providers/SeriesProvider.cs index 4e5c67cb1..e50a10b03 100644 --- a/NzbDrone.Core/Providers/SeriesProvider.cs +++ b/NzbDrone.Core/Providers/SeriesProvider.cs @@ -13,7 +13,7 @@ using TvdbLib.Data; namespace NzbDrone.Core.Providers { - public class SeriesProvider : ISeriesProvider + public class SeriesProvider { //TODO: Remove parsing of rest of tv show info we just need the show name @@ -34,7 +34,7 @@ namespace NzbDrone.Core.Providers _quality = quality; } - #region ISeriesProvider Members + #region SeriesProvider Members public virtual IQueryable GetAllSeries() { diff --git a/NzbDrone.Core/Providers/SyncProvider.cs b/NzbDrone.Core/Providers/SyncProvider.cs index 9f0ffb1a5..9808b88cb 100644 --- a/NzbDrone.Core/Providers/SyncProvider.cs +++ b/NzbDrone.Core/Providers/SyncProvider.cs @@ -13,7 +13,7 @@ namespace NzbDrone.Core.Providers { public class SyncProvider : ISyncProvider { - private readonly ISeriesProvider _seriesProvider; + private readonly SeriesProvider _seriesProvider; private readonly IEpisodeProvider _episodeProvider; private readonly IMediaFileProvider _mediaFileProvider; private readonly NotificationProvider _notificationProvider; @@ -24,7 +24,7 @@ namespace NzbDrone.Core.Providers private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); - public SyncProvider(ISeriesProvider seriesProvider, IEpisodeProvider episodeProvider, + public SyncProvider(SeriesProvider seriesProvider, IEpisodeProvider episodeProvider, IMediaFileProvider mediaFileProvider, NotificationProvider notificationProvider, IDiskProvider diskProvider) { diff --git a/NzbDrone.Core/Providers/TimerProvider.cs b/NzbDrone.Core/Providers/TimerProvider.cs index e9b8d6f58..10f5840a5 100644 --- a/NzbDrone.Core/Providers/TimerProvider.cs +++ b/NzbDrone.Core/Providers/TimerProvider.cs @@ -11,7 +11,7 @@ namespace NzbDrone.Core.Providers public class TimerProvider { private readonly IRssSyncProvider _rssSyncProvider; - private readonly ISeriesProvider _seriesProvider; + private readonly SeriesProvider _seriesProvider; private readonly ISeasonProvider _seasonProvider; private readonly IEpisodeProvider _episodeProvider; private readonly IMediaFileProvider _mediaFileProvider; @@ -21,7 +21,7 @@ namespace NzbDrone.Core.Providers private DateTime _rssSyncNextInterval; private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); - public TimerProvider(IRssSyncProvider rssSyncProvider, ISeriesProvider seriesProvider, ISeasonProvider seasonProvider, IEpisodeProvider episodeProvider, IMediaFileProvider mediaFileProvider) + public TimerProvider(IRssSyncProvider rssSyncProvider, SeriesProvider seriesProvider, ISeasonProvider seasonProvider, IEpisodeProvider episodeProvider, IMediaFileProvider mediaFileProvider) { _rssSyncProvider = rssSyncProvider; _seriesProvider = seriesProvider; diff --git a/NzbDrone.Web/Controllers/AddSeriesController.cs b/NzbDrone.Web/Controllers/AddSeriesController.cs index bedf5b62e..985b257f8 100644 --- a/NzbDrone.Web/Controllers/AddSeriesController.cs +++ b/NzbDrone.Web/Controllers/AddSeriesController.cs @@ -18,10 +18,10 @@ namespace NzbDrone.Web.Controllers private readonly IConfigProvider _configProvider; private readonly QualityProvider _qualityProvider; private readonly TvDbProvider _tvDbProvider; - private readonly ISeriesProvider _seriesProvider; + private readonly SeriesProvider _seriesProvider; public AddSeriesController(ISyncProvider syncProvider, RootDirProvider rootFolderProvider, IConfigProvider configProvider, - QualityProvider qualityProvider, TvDbProvider tvDbProvider, ISeriesProvider seriesProvider) + QualityProvider qualityProvider, TvDbProvider tvDbProvider, SeriesProvider seriesProvider) { ConfigProvider = configProvider; _syncProvider = syncProvider; diff --git a/NzbDrone.Web/Controllers/SeriesController.cs b/NzbDrone.Web/Controllers/SeriesController.cs index db837e854..8f1dea8fe 100644 --- a/NzbDrone.Web/Controllers/SeriesController.cs +++ b/NzbDrone.Web/Controllers/SeriesController.cs @@ -21,7 +21,7 @@ namespace NzbDrone.Web.Controllers [HandleError] public class SeriesController : Controller { - private readonly ISeriesProvider _seriesProvider; + private readonly SeriesProvider _seriesProvider; private readonly IEpisodeProvider _episodeProvider; private readonly ISyncProvider _syncProvider; private readonly IRssSyncProvider _rssSyncProvider; @@ -33,7 +33,7 @@ namespace NzbDrone.Web.Controllers // // GET: /Series/ - public SeriesController(ISyncProvider syncProvider, ISeriesProvider seriesProvider, + public SeriesController(ISyncProvider syncProvider, SeriesProvider seriesProvider, IEpisodeProvider episodeProvider, IRssSyncProvider rssSyncProvider, QualityProvider qualityProvider, IMediaFileProvider mediaFileProvider, IRenameProvider renameProvider, RootDirProvider rootDirProvider, From 0d95302aeedcd265023d546b522ef3e90d8f0b2f Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Fri, 8 Apr 2011 16:58:46 -0700 Subject: [PATCH 3/7] Removed IHistoryProvider. --- NzbDrone.Core/CentralDispatch.cs | 2 +- NzbDrone.Core/NzbDrone.Core.csproj | 1 - NzbDrone.Core/Providers/EpisodeProvider.cs | 4 ++-- NzbDrone.Core/Providers/HistoryProvider.cs | 22 +++++++++---------- NzbDrone.Core/Providers/IHistoryProvider.cs | 19 ---------------- NzbDrone.Web/Controllers/HistoryController.cs | 4 ++-- 6 files changed, 16 insertions(+), 36 deletions(-) delete mode 100644 NzbDrone.Core/Providers/IHistoryProvider.cs diff --git a/NzbDrone.Core/CentralDispatch.cs b/NzbDrone.Core/CentralDispatch.cs index 3c49072db..010006b64 100644 --- a/NzbDrone.Core/CentralDispatch.cs +++ b/NzbDrone.Core/CentralDispatch.cs @@ -67,7 +67,7 @@ namespace NzbDrone.Core _kernel.Bind().To(); _kernel.Bind().To(); _kernel.Bind().ToSelf(); - _kernel.Bind().To(); + _kernel.Bind().ToSelf(); _kernel.Bind().ToSelf(); _kernel.Bind().ToSelf(); _kernel.Bind().ToSelf(); diff --git a/NzbDrone.Core/NzbDrone.Core.csproj b/NzbDrone.Core/NzbDrone.Core.csproj index 1fda7cced..fe7c61bed 100644 --- a/NzbDrone.Core/NzbDrone.Core.csproj +++ b/NzbDrone.Core/NzbDrone.Core.csproj @@ -183,7 +183,6 @@ - diff --git a/NzbDrone.Core/Providers/EpisodeProvider.cs b/NzbDrone.Core/Providers/EpisodeProvider.cs index 0942f1282..fc183f7ce 100644 --- a/NzbDrone.Core/Providers/EpisodeProvider.cs +++ b/NzbDrone.Core/Providers/EpisodeProvider.cs @@ -17,13 +17,13 @@ namespace NzbDrone.Core.Providers private readonly SeriesProvider _series; private readonly ISeasonProvider _seasons; private readonly TvDbProvider _tvDb; - private readonly IHistoryProvider _history; + private readonly HistoryProvider _history; private readonly QualityProvider _quality; private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); public EpisodeProvider(IRepository sonicRepo, SeriesProvider seriesProvider, ISeasonProvider seasonProvider, TvDbProvider tvDbProvider, - IHistoryProvider history, QualityProvider quality) + HistoryProvider history, QualityProvider quality) { _sonicRepo = sonicRepo; _series = seriesProvider; diff --git a/NzbDrone.Core/Providers/HistoryProvider.cs b/NzbDrone.Core/Providers/HistoryProvider.cs index fd09a0520..5db117432 100644 --- a/NzbDrone.Core/Providers/HistoryProvider.cs +++ b/NzbDrone.Core/Providers/HistoryProvider.cs @@ -9,7 +9,7 @@ using SubSonic.Repository; namespace NzbDrone.Core.Providers { - public class HistoryProvider : IHistoryProvider + public class HistoryProvider { private readonly IRepository _sonicRepo; @@ -20,34 +20,34 @@ namespace NzbDrone.Core.Providers _sonicRepo = sonicRepo; } - #region IHistoryProvider Members + #region HistoryProvider Members - public List AllItems() + public virtual List AllItems() { return _sonicRepo.All().ToList(); } - - public void Purge() + + public virtual void Purge() { var all = _sonicRepo.All(); _sonicRepo.DeleteMany(all); Logger.Info("History has been Purged"); } - - public void Trim() + + public virtual void Trim() { var old = _sonicRepo.All().Where(h => h.Date < DateTime.Now.AddDays(-30)); _sonicRepo.DeleteMany(old); Logger.Info("History has been trimmed, items older than 30 days have been removed"); } - - public void Insert(History item) + + public virtual void Insert(History item) { _sonicRepo.Add(item); //Logger.Info("Item added to history: {0} - {1}x{2:00}", item.Episode.Series.Title, item.Episode.SeasonNumber, item.Episode.EpisodeNumber); } - - public bool Exists(int episodeId, QualityTypes quality, bool proper) + + public virtual bool Exists(int episodeId, QualityTypes quality, bool proper) { //Looks for the existance of this episode in History if (_sonicRepo.Exists(h => h.EpisodeId == episodeId && (QualityTypes)h.Quality == quality && h.IsProper == proper)) diff --git a/NzbDrone.Core/Providers/IHistoryProvider.cs b/NzbDrone.Core/Providers/IHistoryProvider.cs deleted file mode 100644 index 6eb9aed3d..000000000 --- a/NzbDrone.Core/Providers/IHistoryProvider.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using NzbDrone.Core.Model; -using NzbDrone.Core.Repository; -using NzbDrone.Core.Repository.Quality; - -namespace NzbDrone.Core.Providers -{ - public interface IHistoryProvider - { - List AllItems(); - void Purge(); - void Trim(); - void Insert(History item); - bool Exists(int episodeId, QualityTypes quality, bool proper); - } -} diff --git a/NzbDrone.Web/Controllers/HistoryController.cs b/NzbDrone.Web/Controllers/HistoryController.cs index add1a68d5..3465f000c 100644 --- a/NzbDrone.Web/Controllers/HistoryController.cs +++ b/NzbDrone.Web/Controllers/HistoryController.cs @@ -12,9 +12,9 @@ namespace NzbDrone.Web.Controllers { public class HistoryController : Controller { - private IHistoryProvider _historyProvider; + private HistoryProvider _historyProvider; - public HistoryController(IHistoryProvider historyProvider) + public HistoryController(HistoryProvider historyProvider) { _historyProvider = historyProvider; } From 29690d9b6fea610d00ed219d3cee799272eadf44 Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Fri, 8 Apr 2011 17:04:50 -0700 Subject: [PATCH 4/7] Removed IRssSyncProvider & IBacklogProvider --- NzbDrone.Core/CentralDispatch.cs | 2 +- NzbDrone.Core/Providers/BacklogProvider.cs | 21 +++++++++++++++++++ NzbDrone.Core/Providers/IBacklogProvider.cs | 15 ------------- ...IRssSyncProvider.cs => RssSyncProvider.cs} | 9 ++------ 4 files changed, 24 insertions(+), 23 deletions(-) create mode 100644 NzbDrone.Core/Providers/BacklogProvider.cs delete mode 100644 NzbDrone.Core/Providers/IBacklogProvider.cs rename NzbDrone.Core/Providers/{IRssSyncProvider.cs => RssSyncProvider.cs} (53%) diff --git a/NzbDrone.Core/CentralDispatch.cs b/NzbDrone.Core/CentralDispatch.cs index 010006b64..f0128c587 100644 --- a/NzbDrone.Core/CentralDispatch.cs +++ b/NzbDrone.Core/CentralDispatch.cs @@ -79,7 +79,7 @@ namespace NzbDrone.Core _kernel.Bind().ToSelf().InSingletonScope(); _kernel.Bind().To().InSingletonScope(); _kernel.Bind().To().InSingletonScope(); - _kernel.Bind().To().InSingletonScope(); + _kernel.Bind().ToSelf().InSingletonScope(); _kernel.Bind().ToMethod(c => new SimpleRepository(dbProvider, SimpleRepositoryOptions.RunMigrations)).InSingletonScope(); _kernel.Bind().ToConstant(logRepository).WhenInjectedInto().InSingletonScope(); diff --git a/NzbDrone.Core/Providers/BacklogProvider.cs b/NzbDrone.Core/Providers/BacklogProvider.cs new file mode 100644 index 000000000..3c36c82e4 --- /dev/null +++ b/NzbDrone.Core/Providers/BacklogProvider.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace NzbDrone.Core.Providers +{ + public class BacklogProvider + { + //Will provide Backlog Search functionality + + public virtual bool StartSearch() + { + throw new NotImplementedException(); + } + public virtual bool StartSearch(int seriesId) + { + throw new NotImplementedException(); + } + } +} \ No newline at end of file diff --git a/NzbDrone.Core/Providers/IBacklogProvider.cs b/NzbDrone.Core/Providers/IBacklogProvider.cs deleted file mode 100644 index 4b1e3cd71..000000000 --- a/NzbDrone.Core/Providers/IBacklogProvider.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -namespace NzbDrone.Core.Providers -{ - public interface IBacklogProvider - { - //Will provide Backlog Search functionality - - bool StartSearch(); - bool StartSearch(int seriesId); - } -} \ No newline at end of file diff --git a/NzbDrone.Core/Providers/IRssSyncProvider.cs b/NzbDrone.Core/Providers/RssSyncProvider.cs similarity index 53% rename from NzbDrone.Core/Providers/IRssSyncProvider.cs rename to NzbDrone.Core/Providers/RssSyncProvider.cs index 61a46e343..d8cd33398 100644 --- a/NzbDrone.Core/Providers/IRssSyncProvider.cs +++ b/NzbDrone.Core/Providers/RssSyncProvider.cs @@ -5,14 +5,9 @@ using System.Text; namespace NzbDrone.Core.Providers { - public interface IRssSyncProvider + public class RssSyncProvider { - void Begin(); - } - - public class RssSyncProvider : IRssSyncProvider - { - public void Begin() + public virtual void Begin() { } From e5413d67d685c21d025033c67c2d3fbf4a1fadbc Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Fri, 8 Apr 2011 17:08:03 -0700 Subject: [PATCH 5/7] Removed IRenameProvider. --- NzbDrone.Core/CentralDispatch.cs | 4 ++-- NzbDrone.Core/NzbDrone.Core.csproj | 5 ++--- NzbDrone.Core/Providers/IRenameProvider.cs | 16 -------------- .../Providers/PostProcessingProvider.cs | 4 ++-- NzbDrone.Core/Providers/RenameProvider.cs | 22 +++++++++---------- NzbDrone.Core/Providers/TimerProvider.cs | 4 ++-- NzbDrone.Web/Controllers/SeriesController.cs | 8 +++---- 7 files changed, 23 insertions(+), 40 deletions(-) delete mode 100644 NzbDrone.Core/Providers/IRenameProvider.cs diff --git a/NzbDrone.Core/CentralDispatch.cs b/NzbDrone.Core/CentralDispatch.cs index f0128c587..272ce1ab5 100644 --- a/NzbDrone.Core/CentralDispatch.cs +++ b/NzbDrone.Core/CentralDispatch.cs @@ -61,7 +61,7 @@ namespace NzbDrone.Core _kernel.Bind().ToSelf(); _kernel.Bind().ToSelf(); _kernel.Bind().ToSelf().InSingletonScope(); - _kernel.Bind().To().InSingletonScope(); + _kernel.Bind().ToSelf().InSingletonScope(); _kernel.Bind().To(); _kernel.Bind().To(); _kernel.Bind().To(); @@ -75,7 +75,7 @@ namespace NzbDrone.Core _kernel.Bind().To().InSingletonScope(); _kernel.Bind().To().InSingletonScope(); _kernel.Bind().To().InSingletonScope(); - _kernel.Bind().To().InSingletonScope(); + _kernel.Bind().ToSelf().InSingletonScope(); _kernel.Bind().ToSelf().InSingletonScope(); _kernel.Bind().To().InSingletonScope(); _kernel.Bind().To().InSingletonScope(); diff --git a/NzbDrone.Core/NzbDrone.Core.csproj b/NzbDrone.Core/NzbDrone.Core.csproj index fe7c61bed..b96de97d7 100644 --- a/NzbDrone.Core/NzbDrone.Core.csproj +++ b/NzbDrone.Core/NzbDrone.Core.csproj @@ -182,11 +182,10 @@ - + - - + diff --git a/NzbDrone.Core/Providers/IRenameProvider.cs b/NzbDrone.Core/Providers/IRenameProvider.cs deleted file mode 100644 index 764608d0e..000000000 --- a/NzbDrone.Core/Providers/IRenameProvider.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -namespace NzbDrone.Core.Providers -{ - public interface IRenameProvider - { - void RenameAll(); - void RenameSeries(int seriesId); - void RenameSeason(int seasonId); - void RenameEpisode(int episodeId); - void RenameEpisodeFile(int episodeFileId, bool newDownload); - } -} diff --git a/NzbDrone.Core/Providers/PostProcessingProvider.cs b/NzbDrone.Core/Providers/PostProcessingProvider.cs index 9177b2280..b24d66fbf 100644 --- a/NzbDrone.Core/Providers/PostProcessingProvider.cs +++ b/NzbDrone.Core/Providers/PostProcessingProvider.cs @@ -13,10 +13,10 @@ namespace NzbDrone.Core.Providers { private readonly SeriesProvider _seriesProvider; private readonly IMediaFileProvider _mediaFileProvider; - private readonly IRenameProvider _renameProvider; + private readonly RenameProvider _renameProvider; public PostProcessingProvider(SeriesProvider seriesProvider, - IMediaFileProvider mediaFileProvider, IRenameProvider renameProvider) + IMediaFileProvider mediaFileProvider, RenameProvider renameProvider) { _seriesProvider = seriesProvider; _mediaFileProvider = mediaFileProvider; diff --git a/NzbDrone.Core/Providers/RenameProvider.cs b/NzbDrone.Core/Providers/RenameProvider.cs index 686d612be..5ac36124c 100644 --- a/NzbDrone.Core/Providers/RenameProvider.cs +++ b/NzbDrone.Core/Providers/RenameProvider.cs @@ -12,7 +12,7 @@ using NzbDrone.Core.Repository; namespace NzbDrone.Core.Providers { - public class RenameProvider : IRenameProvider + public class RenameProvider { private readonly SeriesProvider _seriesProvider; private readonly ISeasonProvider _seasonProvider; @@ -41,8 +41,8 @@ namespace NzbDrone.Core.Providers _externalNotificationProvider = extenalNotificationProvider; } - #region IRenameProvider Members - public void RenameAll() + #region RenameProvider Members + public virtual void RenameAll() { //Get a list of all episode files/episodes and rename them @@ -61,8 +61,8 @@ namespace NzbDrone.Core.Providers StartRename(); } } - - public void RenameSeries(int seriesId) + + public virtual void RenameSeries(int seriesId) { //Get a list of all applicable episode files/episodes and rename them @@ -83,8 +83,8 @@ namespace NzbDrone.Core.Providers StartRename(); } } - - public void RenameSeason(int seasonId) + + public virtual void RenameSeason(int seasonId) { //Get a list of all applicable episode files/episodes and rename them var season = _seasonProvider.GetSeason(seasonId); @@ -105,8 +105,8 @@ namespace NzbDrone.Core.Providers StartRename(); } } - - public void RenameEpisode(int episodeId) + + public virtual void RenameEpisode(int episodeId) { //This will properly rename multi-episode files if asked to rename either of the episode var episode = _episodeProvider.GetEpisode(episodeId); @@ -126,8 +126,8 @@ namespace NzbDrone.Core.Providers _epsToRename.Add(erm); StartRename(); } - - public void RenameEpisodeFile(int episodeFileId, bool newDownload) + + public virtual void RenameEpisodeFile(int episodeFileId, bool newDownload) { //This will properly rename multi-episode files if asked to rename either of the episode var episodeFile = _mediaFileProvider.GetEpisodeFile(episodeFileId); diff --git a/NzbDrone.Core/Providers/TimerProvider.cs b/NzbDrone.Core/Providers/TimerProvider.cs index 10f5840a5..814f8a214 100644 --- a/NzbDrone.Core/Providers/TimerProvider.cs +++ b/NzbDrone.Core/Providers/TimerProvider.cs @@ -10,7 +10,7 @@ namespace NzbDrone.Core.Providers { public class TimerProvider { - private readonly IRssSyncProvider _rssSyncProvider; + private readonly RssSyncProvider _rssSyncProvider; private readonly SeriesProvider _seriesProvider; private readonly ISeasonProvider _seasonProvider; private readonly IEpisodeProvider _episodeProvider; @@ -21,7 +21,7 @@ namespace NzbDrone.Core.Providers private DateTime _rssSyncNextInterval; private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); - public TimerProvider(IRssSyncProvider rssSyncProvider, SeriesProvider seriesProvider, ISeasonProvider seasonProvider, IEpisodeProvider episodeProvider, IMediaFileProvider mediaFileProvider) + public TimerProvider(RssSyncProvider rssSyncProvider, SeriesProvider seriesProvider, ISeasonProvider seasonProvider, IEpisodeProvider episodeProvider, IMediaFileProvider mediaFileProvider) { _rssSyncProvider = rssSyncProvider; _seriesProvider = seriesProvider; diff --git a/NzbDrone.Web/Controllers/SeriesController.cs b/NzbDrone.Web/Controllers/SeriesController.cs index 8f1dea8fe..44d8fa497 100644 --- a/NzbDrone.Web/Controllers/SeriesController.cs +++ b/NzbDrone.Web/Controllers/SeriesController.cs @@ -24,19 +24,19 @@ namespace NzbDrone.Web.Controllers private readonly SeriesProvider _seriesProvider; private readonly IEpisodeProvider _episodeProvider; private readonly ISyncProvider _syncProvider; - private readonly IRssSyncProvider _rssSyncProvider; + private readonly RssSyncProvider _rssSyncProvider; private readonly QualityProvider _qualityProvider; private readonly IMediaFileProvider _mediaFileProvider; - private readonly IRenameProvider _renameProvider; + private readonly RenameProvider _renameProvider; private readonly RootDirProvider _rootDirProvider; private readonly TvDbProvider _tvDbProvider; // // GET: /Series/ public SeriesController(ISyncProvider syncProvider, SeriesProvider seriesProvider, - IEpisodeProvider episodeProvider, IRssSyncProvider rssSyncProvider, + IEpisodeProvider episodeProvider, RssSyncProvider rssSyncProvider, QualityProvider qualityProvider, IMediaFileProvider mediaFileProvider, - IRenameProvider renameProvider, RootDirProvider rootDirProvider, + RenameProvider renameProvider, RootDirProvider rootDirProvider, TvDbProvider tvDbProvider) { _seriesProvider = seriesProvider; From 1a9948de2f99f615deb30ce35f0cb881a91f4f6c Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Fri, 8 Apr 2011 17:21:57 -0700 Subject: [PATCH 6/7] Removed IDiskProvider. Removed IIndexerProvider. --- NzbDrone.Core.Test/MediaFileProviderTests.cs | 12 ++++++------ NzbDrone.Core.Test/MockLib.cs | 4 ++-- NzbDrone.Core/CentralDispatch.cs | 6 +++--- NzbDrone.Core/NzbDrone.Core.csproj | 2 -- NzbDrone.Core/Providers/Core/DiskProvider.cs | 18 +++++++++--------- NzbDrone.Core/Providers/Core/IDiskProvider.cs | 17 ----------------- NzbDrone.Core/Providers/IIndexerProvider.cs | 17 ----------------- NzbDrone.Core/Providers/IndexerProvider.cs | 12 ++++++------ NzbDrone.Core/Providers/MediaFileProvider.cs | 4 ++-- NzbDrone.Core/Providers/RenameProvider.cs | 4 ++-- NzbDrone.Core/Providers/SyncProvider.cs | 4 ++-- NzbDrone.Web/Controllers/SettingsController.cs | 4 ++-- 12 files changed, 34 insertions(+), 70 deletions(-) delete mode 100644 NzbDrone.Core/Providers/Core/IDiskProvider.cs delete mode 100644 NzbDrone.Core/Providers/IIndexerProvider.cs diff --git a/NzbDrone.Core.Test/MediaFileProviderTests.cs b/NzbDrone.Core.Test/MediaFileProviderTests.cs index 2efe88388..c63cedf78 100644 --- a/NzbDrone.Core.Test/MediaFileProviderTests.cs +++ b/NzbDrone.Core.Test/MediaFileProviderTests.cs @@ -48,14 +48,14 @@ namespace NzbDrone.Core.Test var episodeProvider = new Mock(); episodeProvider.Setup(e => e.GetEpisode(fakeSeries.SeriesId, seasonNumber, episodeNumner)).Returns(fakeEpisode).Verifiable(); - var diskProvider = new Mock(); + var diskProvider = new Mock(); diskProvider.Setup(e => e.GetSize(fileName)).Returns(12345).Verifiable(); var kernel = new MockingKernel(); kernel.Bind().ToConstant(repository.Object); kernel.Bind().ToConstant(episodeProvider.Object); - kernel.Bind().ToConstant(diskProvider.Object); + kernel.Bind().ToConstant(diskProvider.Object); kernel.Bind().To(); //Act @@ -100,13 +100,13 @@ namespace NzbDrone.Core.Test repository.Setup(r => r.Exists(It.IsAny>>())).Returns(true).Verifiable(); var episodeProvider = new Mock(MockBehavior.Strict); - var diskProvider = new Mock(MockBehavior.Strict); + var diskProvider = new Mock(MockBehavior.Strict); var kernel = new MockingKernel(); kernel.Bind().ToConstant(repository.Object); kernel.Bind().ToConstant(episodeProvider.Object); - kernel.Bind().ToConstant(diskProvider.Object); + kernel.Bind().ToConstant(diskProvider.Object); kernel.Bind().To(); //Act @@ -142,13 +142,13 @@ namespace NzbDrone.Core.Test var episodeProvider = new Mock(MockBehavior.Strict); episodeProvider.Setup(e => e.GetEpisode(fakeSeries.SeriesId, seasonNumber, episodeNumner)).Returns(null).Verifiable(); - var diskProvider = new Mock(MockBehavior.Strict); + var diskProvider = new Mock(MockBehavior.Strict); var kernel = new MockingKernel(); kernel.Bind().ToConstant(repository.Object); kernel.Bind().ToConstant(episodeProvider.Object); - kernel.Bind().ToConstant(diskProvider.Object); + kernel.Bind().ToConstant(diskProvider.Object); kernel.Bind().To(); //Act diff --git a/NzbDrone.Core.Test/MockLib.cs b/NzbDrone.Core.Test/MockLib.cs index 4713adb3a..cbd711fcb 100644 --- a/NzbDrone.Core.Test/MockLib.cs +++ b/NzbDrone.Core.Test/MockLib.cs @@ -52,9 +52,9 @@ namespace NzbDrone.Core.Test } } - public static IDiskProvider GetStandardDisk(int seasons, int episodes) + public static DiskProvider GetStandardDisk(int seasons, int episodes) { - var mock = new Mock(); + var mock = new Mock(); mock.Setup(c => c.GetDirectories(It.IsAny())).Returns(StandardSeries); mock.Setup(c => c.FolderExists(It.Is(d => StandardSeries.Contains(d)))).Returns(true); diff --git a/NzbDrone.Core/CentralDispatch.cs b/NzbDrone.Core/CentralDispatch.cs index 272ce1ab5..ab2adae1f 100644 --- a/NzbDrone.Core/CentralDispatch.cs +++ b/NzbDrone.Core/CentralDispatch.cs @@ -64,8 +64,8 @@ namespace NzbDrone.Core _kernel.Bind().ToSelf().InSingletonScope(); _kernel.Bind().To(); _kernel.Bind().To(); - _kernel.Bind().To(); - _kernel.Bind().To(); + _kernel.Bind().ToSelf(); + _kernel.Bind().ToSelf(); _kernel.Bind().ToSelf(); _kernel.Bind().ToSelf(); _kernel.Bind().ToSelf(); @@ -74,7 +74,7 @@ namespace NzbDrone.Core _kernel.Bind().ToSelf(); _kernel.Bind().To().InSingletonScope(); _kernel.Bind().To().InSingletonScope(); - _kernel.Bind().To().InSingletonScope(); + _kernel.Bind().ToSelf().InSingletonScope(); _kernel.Bind().ToSelf().InSingletonScope(); _kernel.Bind().ToSelf().InSingletonScope(); _kernel.Bind().To().InSingletonScope(); diff --git a/NzbDrone.Core/NzbDrone.Core.csproj b/NzbDrone.Core/NzbDrone.Core.csproj index b96de97d7..be0c778c6 100644 --- a/NzbDrone.Core/NzbDrone.Core.csproj +++ b/NzbDrone.Core/NzbDrone.Core.csproj @@ -183,7 +183,6 @@ - @@ -227,7 +226,6 @@ - diff --git a/NzbDrone.Core/Providers/Core/DiskProvider.cs b/NzbDrone.Core/Providers/Core/DiskProvider.cs index 4921ec98e..feb1daa71 100644 --- a/NzbDrone.Core/Providers/Core/DiskProvider.cs +++ b/NzbDrone.Core/Providers/Core/DiskProvider.cs @@ -3,48 +3,48 @@ using System.IO; namespace NzbDrone.Core.Providers.Core { - public class DiskProvider : IDiskProvider + public class DiskProvider { #region IDiskProvider Members - public bool FolderExists(string path) + public virtual bool FolderExists(string path) { return Directory.Exists(path); } - public bool FileExists(string path) + public virtual bool FileExists(string path) { return File.Exists(path); } - public string[] GetDirectories(string path) + public virtual string[] GetDirectories(string path) { return Directory.GetDirectories(path); } - public string[] GetFiles(string path, string pattern, SearchOption searchOption) + public virtual string[] GetFiles(string path, string pattern, SearchOption searchOption) { return Directory.GetFiles(path, pattern, searchOption); } - public long GetSize(string path) + public virtual long GetSize(string path) { var fi = new FileInfo(path); return fi.Length; //return new FileInfo(path).Length; } - public String CreateDirectory(string path) + public virtual String CreateDirectory(string path) { return Directory.CreateDirectory(path).FullName; } - public void DeleteFile(string path) + public virtual void DeleteFile(string path) { File.Delete(path); } - public void RenameFile(string sourcePath, string destinationPath) + public virtual void RenameFile(string sourcePath, string destinationPath) { File.Move(sourcePath, destinationPath); } diff --git a/NzbDrone.Core/Providers/Core/IDiskProvider.cs b/NzbDrone.Core/Providers/Core/IDiskProvider.cs deleted file mode 100644 index e0d115bc8..000000000 --- a/NzbDrone.Core/Providers/Core/IDiskProvider.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using System.IO; - -namespace NzbDrone.Core.Providers.Core -{ - public interface IDiskProvider - { - bool FolderExists(string path); - string[] GetDirectories(string path); - String CreateDirectory(string path); - string[] GetFiles(string path, string pattern, SearchOption searchOption); - bool FileExists(string path); - long GetSize(string path); - void DeleteFile(string path); - void RenameFile(string sourcePath, string destinationPath); - } -} \ No newline at end of file diff --git a/NzbDrone.Core/Providers/IIndexerProvider.cs b/NzbDrone.Core/Providers/IIndexerProvider.cs deleted file mode 100644 index a13f8e4a5..000000000 --- a/NzbDrone.Core/Providers/IIndexerProvider.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using NzbDrone.Core.Model; -using NzbDrone.Core.Repository; - -namespace NzbDrone.Core.Providers -{ - public interface IIndexerProvider - { - List AllIndexers(); - List EnabledIndexers(); - void Update(Indexer indexer); - Indexer Single(int indexerId); - } -} diff --git a/NzbDrone.Core/Providers/IndexerProvider.cs b/NzbDrone.Core/Providers/IndexerProvider.cs index 4c1c036d8..d890e2ca3 100644 --- a/NzbDrone.Core/Providers/IndexerProvider.cs +++ b/NzbDrone.Core/Providers/IndexerProvider.cs @@ -11,7 +11,7 @@ using NzbDrone.Core.Repository; namespace NzbDrone.Core.Providers { - public class IndexerProvider : IIndexerProvider + public class IndexerProvider { private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); private readonly IRepository _sonicRepo; @@ -23,24 +23,24 @@ namespace NzbDrone.Core.Providers _configProvider = configProvider; } - #region IIndexerProvider Members + #region IndexerProvider Members - public List AllIndexers() + public virtual List AllIndexers() { return _sonicRepo.All().OrderBy(i => i.Order).ToList(); } - public List EnabledIndexers() + public virtual List EnabledIndexers() { return _sonicRepo.All().Where(i => i.Enabled).OrderBy(i => i.Order).ToList(); } - public void Update(Indexer indexer) + public virtual void Update(Indexer indexer) { _sonicRepo.Update(indexer); } - public Indexer Single(int indexerId) + public virtual Indexer Single(int indexerId) { return _sonicRepo.Single(indexerId); } diff --git a/NzbDrone.Core/Providers/MediaFileProvider.cs b/NzbDrone.Core/Providers/MediaFileProvider.cs index 61659ea46..d6ee61e56 100644 --- a/NzbDrone.Core/Providers/MediaFileProvider.cs +++ b/NzbDrone.Core/Providers/MediaFileProvider.cs @@ -16,13 +16,13 @@ namespace NzbDrone.Core.Providers { private readonly IRepository _repository; private readonly IConfigProvider _configProvider; - private readonly IDiskProvider _diskProvider; + private readonly DiskProvider _diskProvider; private readonly IEpisodeProvider _episodeProvider; private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); private static readonly string[] MediaExtentions = new[] { "*.mkv", "*.avi", "*.wmv" }; - public MediaFileProvider(IRepository repository, IConfigProvider configProvider, IDiskProvider diskProvider, IEpisodeProvider episodeProvider) + public MediaFileProvider(IRepository repository, IConfigProvider configProvider, DiskProvider diskProvider, IEpisodeProvider episodeProvider) { _repository = repository; _configProvider = configProvider; diff --git a/NzbDrone.Core/Providers/RenameProvider.cs b/NzbDrone.Core/Providers/RenameProvider.cs index 5ac36124c..95d7a8740 100644 --- a/NzbDrone.Core/Providers/RenameProvider.cs +++ b/NzbDrone.Core/Providers/RenameProvider.cs @@ -18,7 +18,7 @@ namespace NzbDrone.Core.Providers private readonly ISeasonProvider _seasonProvider; private readonly IEpisodeProvider _episodeProvider; private readonly IMediaFileProvider _mediaFileProvider; - private readonly IDiskProvider _diskProvider; + private readonly DiskProvider _diskProvider; private readonly IConfigProvider _configProvider; private readonly ExternalNotificationProvider _externalNotificationProvider; @@ -29,7 +29,7 @@ namespace NzbDrone.Core.Providers public RenameProvider(SeriesProvider seriesProvider, ISeasonProvider seasonProvider, IEpisodeProvider episodeProvider, IMediaFileProvider mediaFileProvider, - IDiskProvider diskProvider, IConfigProvider configProvider, + DiskProvider diskProvider, IConfigProvider configProvider, ExternalNotificationProvider extenalNotificationProvider) { _seriesProvider = seriesProvider; diff --git a/NzbDrone.Core/Providers/SyncProvider.cs b/NzbDrone.Core/Providers/SyncProvider.cs index 9808b88cb..0649e537e 100644 --- a/NzbDrone.Core/Providers/SyncProvider.cs +++ b/NzbDrone.Core/Providers/SyncProvider.cs @@ -17,7 +17,7 @@ namespace NzbDrone.Core.Providers private readonly IEpisodeProvider _episodeProvider; private readonly IMediaFileProvider _mediaFileProvider; private readonly NotificationProvider _notificationProvider; - private readonly IDiskProvider _diskProvider; + private readonly DiskProvider _diskProvider; private ProgressNotification _seriesSyncNotification; private Thread _seriesSyncThread; @@ -26,7 +26,7 @@ namespace NzbDrone.Core.Providers public SyncProvider(SeriesProvider seriesProvider, IEpisodeProvider episodeProvider, IMediaFileProvider mediaFileProvider, NotificationProvider notificationProvider, - IDiskProvider diskProvider) + DiskProvider diskProvider) { _seriesProvider = seriesProvider; _episodeProvider = episodeProvider; diff --git a/NzbDrone.Web/Controllers/SettingsController.cs b/NzbDrone.Web/Controllers/SettingsController.cs index edbdecc8a..1c74ee26b 100644 --- a/NzbDrone.Web/Controllers/SettingsController.cs +++ b/NzbDrone.Web/Controllers/SettingsController.cs @@ -20,7 +20,7 @@ namespace NzbDrone.Web.Controllers public class SettingsController : Controller { private IConfigProvider _configProvider; - private IIndexerProvider _indexerProvider; + private IndexerProvider _indexerProvider; private QualityProvider _qualityProvider; private RootDirProvider _rootDirProvider; @@ -28,7 +28,7 @@ namespace NzbDrone.Web.Controllers private const string SETTINGS_SAVED = "Settings Saved."; private const string SETTINGS_FAILED = "Error Saving Settings, please fix any errors"; - public SettingsController(IConfigProvider configProvider, IIndexerProvider indexerProvider, + public SettingsController(IConfigProvider configProvider, IndexerProvider indexerProvider, QualityProvider qualityProvider, RootDirProvider rootDirProvider) { _configProvider = configProvider; From 0a7f7fc1fc4495922dd22a69530998d92883e61a Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Sat, 9 Apr 2011 14:35:13 -0700 Subject: [PATCH 7/7] Added tests for RootDirProvider. --- NzbDrone.Core.Test/NzbDrone.Core.Test.csproj | 1 + NzbDrone.Core.Test/RootDirProviderTest.cs | 121 +++++++++++++++++++ 2 files changed, 122 insertions(+) create mode 100644 NzbDrone.Core.Test/RootDirProviderTest.cs diff --git a/NzbDrone.Core.Test/NzbDrone.Core.Test.csproj b/NzbDrone.Core.Test/NzbDrone.Core.Test.csproj index 26c8918d0..64087ede8 100644 --- a/NzbDrone.Core.Test/NzbDrone.Core.Test.csproj +++ b/NzbDrone.Core.Test/NzbDrone.Core.Test.csproj @@ -93,6 +93,7 @@ Code + diff --git a/NzbDrone.Core.Test/RootDirProviderTest.cs b/NzbDrone.Core.Test/RootDirProviderTest.cs new file mode 100644 index 000000000..20f656847 --- /dev/null +++ b/NzbDrone.Core.Test/RootDirProviderTest.cs @@ -0,0 +1,121 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using AutoMoq; +using Gallio.Framework; +using MbUnit.Framework; +using MbUnit.Framework.ContractVerifiers; +using Moq; +using NzbDrone.Core.Providers; +using NzbDrone.Core.Repository; +using SubSonic.Repository; + +namespace NzbDrone.Core.Test +{ + [TestFixture] + public class RootDirProviderTest + { + [Test] + public void GetRootDirs() + { + //Setup + var sonicRepo = MockLib.GetEmptyRepository(); + sonicRepo.Add(new RootDir { Path = @"C:\TV" }); + sonicRepo.Add(new RootDir { Path = @"C:\TV2" }); + + var mocker = new AutoMoqer(); + + mocker.GetMock() + .Setup(f => f.All()) + .Returns(sonicRepo.All); + + //Act + var result = mocker.Resolve().GetAll(); + + //Assert + Assert.AreEqual(result.Count, 2); + } + + [Test] + public void AddRootDir() + { + //Setup + var mocker = new AutoMoqer(); + mocker.SetConstant(MockLib.GetEmptyRepository()); + + string path = @"C:\TV\"; + + //Act + var rootDirProvider = mocker.Resolve(); + rootDirProvider.Add(new RootDir{ Path = path }); + + + //Assert + var rootDirs = rootDirProvider.GetAll(); + Assert.IsNotEmpty(rootDirs); + Assert.Count(1, rootDirs); + Assert.AreEqual(path, rootDirs.First().Path); + } + + [Test] + public void UpdateRootDir() + { + //Setup + var mocker = new AutoMoqer(); + mocker.SetConstant(MockLib.GetEmptyRepository()); + + string path = @"C:\TV2"; + + //Act + var rootDirProvider = mocker.Resolve(); + rootDirProvider.Add(new RootDir { Path = @"C:\TV" }); + rootDirProvider.Update(new RootDir { Id = 1, Path = path }); + + //Assert + var rootDirs = rootDirProvider.GetAll(); + Assert.IsNotEmpty(rootDirs); + Assert.Count(1, rootDirs); + Assert.AreEqual(path, rootDirs.First().Path); + } + + [Test] + public void RemoveRootDir() + { + //Setup + var mocker = new AutoMoqer(); + mocker.SetConstant(MockLib.GetEmptyRepository()); + + string path = @"C:\TV2"; + + //Act + var rootDirProvider = mocker.Resolve(); + rootDirProvider.Add(new RootDir { Path = @"C:\TV" }); + rootDirProvider.Remove(1); + + //Assert + var rootDirs = rootDirProvider.GetAll(); + Assert.Count(0, rootDirs); + } + + [Test] + public void GetRootDir() + { + //Setup + var mocker = new AutoMoqer(); + mocker.SetConstant(MockLib.GetEmptyRepository()); + + int id = 1; + string path = @"C:\TV"; + + //Act + var rootDirProvider = mocker.Resolve(); + rootDirProvider.Add(new RootDir { Id = id, Path = path }); + + //Assert + var rootDir = rootDirProvider.GetRootDir(id); + Assert.AreEqual(1, rootDir.Id); + Assert.AreEqual(path, rootDir.Path); + } + } +}