diff --git a/NzbDrone.Core.Test/Framework/ObjectDbTest.cs b/NzbDrone.Core.Test/Framework/ObjectDbTest.cs index a4787696d..9fa6347c8 100644 --- a/NzbDrone.Core.Test/Framework/ObjectDbTest.cs +++ b/NzbDrone.Core.Test/Framework/ObjectDbTest.cs @@ -50,14 +50,14 @@ namespace NzbDrone.Core.Test.Framework protected void WithObjectDb(bool memory = true) { - if (memory) - { - _db = new SiaqoDbFactory(new DiskProvider(),new EnvironmentProvider()).CreateMemoryDb(); - } - else - { + //if (memory) + //{ + // _db = new SiaqoDbFactory(new DiskProvider(),new EnvironmentProvider()).CreateMemoryDb(); + //} + //else + //{ _db = new SiaqoDbFactory(new DiskProvider(),new EnvironmentProvider()).Create(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, Guid.NewGuid().ToString())); - } + //} Mocker.SetConstant(Db); } diff --git a/NzbDrone.Core.Test/RootFolderTests/FreeSpaceOnDrivesFixture.cs b/NzbDrone.Core.Test/RootFolderTests/FreeSpaceOnDrivesFixture.cs index 2b1530524..beffa0c23 100644 --- a/NzbDrone.Core.Test/RootFolderTests/FreeSpaceOnDrivesFixture.cs +++ b/NzbDrone.Core.Test/RootFolderTests/FreeSpaceOnDrivesFixture.cs @@ -8,6 +8,7 @@ using FluentAssertions; using Moq; using NUnit.Framework; using NzbDrone.Common; +using NzbDrone.Core.Datastore; using NzbDrone.Core.RootFolders; using NzbDrone.Core.Test.Framework; using NzbDrone.Test.Common; @@ -21,7 +22,7 @@ namespace NzbDrone.Core.Test.RootFolderTests [Test] public void should_return_one_drive_when_only_one_root_dir_exists() { - Mocker.GetMock() + Mocker.GetMock>() .Setup(s => s.All()) .Returns(new List { new RootFolder { OID = 1, Path = @"C:\Test\TV" } }); @@ -41,7 +42,7 @@ namespace NzbDrone.Core.Test.RootFolderTests [Test] public void should_return_one_drive_when_two_rootDirs_on_the_same_drive_exist() { - Mocker.GetMock() + Mocker.GetMock>() .Setup(s => s.All()) .Returns(new List { new RootFolder { OID = 1, Path = @"C:\Test\TV" }, new RootFolder { OID = 2, Path = @"C:\Test\TV2" }}); @@ -62,7 +63,7 @@ namespace NzbDrone.Core.Test.RootFolderTests [Test] public void should_return_two_drives_when_two_rootDirs_on_the_different_drive_exist() { - Mocker.GetMock() + Mocker.GetMock>() .Setup(s => s.All()) .Returns(new List { new RootFolder { OID = 1, Path = @"C:\Test\TV" }, new RootFolder { OID = 2, Path = @"D:\Test\TV" }}); @@ -87,7 +88,7 @@ namespace NzbDrone.Core.Test.RootFolderTests [Test] public void should_skip_rootDir_if_not_found_on_disk() { - Mocker.GetMock() + Mocker.GetMock>() .Setup(s => s.All()) .Returns(new List { new RootFolder { OID = 1, Path = @"C:\Test\TV" } }); diff --git a/NzbDrone.Core.Test/RootFolderTests/RootFolderServiceFixture.cs b/NzbDrone.Core.Test/RootFolderTests/RootFolderServiceFixture.cs index 9af970013..157f8f0bb 100644 --- a/NzbDrone.Core.Test/RootFolderTests/RootFolderServiceFixture.cs +++ b/NzbDrone.Core.Test/RootFolderTests/RootFolderServiceFixture.cs @@ -8,6 +8,7 @@ using FluentAssertions; using Moq; using NUnit.Framework; using NzbDrone.Common; +using NzbDrone.Core.Datastore; using NzbDrone.Core.RootFolders; using NzbDrone.Core.Test.Framework; @@ -24,7 +25,7 @@ namespace NzbDrone.Core.Test.RootFolderTests .Setup(m => m.FolderExists(It.IsAny())) .Returns(true); - Mocker.GetMock() + Mocker.GetMock>() .Setup(s => s.All()) .Returns(new List()); } @@ -44,7 +45,7 @@ namespace NzbDrone.Core.Test.RootFolderTests Subject.Add(root); - Mocker.GetMock().Verify(c => c.Add(root), Times.Once()); + Mocker.GetMock>().Verify(c => c.Add(root), Times.Once()); } [Test] @@ -59,14 +60,14 @@ namespace NzbDrone.Core.Test.RootFolderTests public void should_be_able_to_remove_root_dir() { Subject.Remove(1); - Mocker.GetMock().Verify(c => c.Delete(1), Times.Once()); + Mocker.GetMock>().Verify(c => c.Delete(1), Times.Once()); } public void None_existing_folder_returns_empty_list() { WithNoneExistingFolder(); - Mocker.GetMock().Setup(c => c.All()).Returns(new List()); + Mocker.GetMock>().Setup(c => c.All()).Returns(new List()); const string path = "d:\\bad folder"; @@ -96,7 +97,7 @@ namespace NzbDrone.Core.Test.RootFolderTests [Test] public void adding_duplicated_root_folder_should_throw() { - Mocker.GetMock().Setup(c => c.All()).Returns(new List { new RootFolder { Path = "C:\\TV" } }); + Mocker.GetMock>().Setup(c => c.All()).Returns(new List { new RootFolder { Path = "C:\\TV" } }); Assert.Throws(() => Subject.Add(new RootFolder { Path = @"C:\TV" })); } diff --git a/NzbDrone.Core/ContainerExtentions.cs b/NzbDrone.Core/ContainerExtentions.cs index 02bf57731..e04950fe4 100644 --- a/NzbDrone.Core/ContainerExtentions.cs +++ b/NzbDrone.Core/ContainerExtentions.cs @@ -85,6 +85,8 @@ namespace NzbDrone.Core return c.Resolve().Create(); }).As().SingleInstance(); + container.RegisterGeneric(typeof(BasicRepository<>)).As(typeof(IBasicRepository<>)); + container.RegisterType().WithParameter(ResolvedParameter.ForNamed("DatabaseTarget")); container.RegisterType().WithParameter(ResolvedParameter.ForNamed("LogProvider")); } diff --git a/NzbDrone.Core/Datastore/BasicRepository.cs b/NzbDrone.Core/Datastore/BasicRepository.cs index 9648514a7..8fdaef477 100644 --- a/NzbDrone.Core/Datastore/BasicRepository.cs +++ b/NzbDrone.Core/Datastore/BasicRepository.cs @@ -20,14 +20,16 @@ namespace NzbDrone.Core.Datastore protected IObjectDatabase ObjectDatabase { get; private set; } + protected IEnumerable Queryable { get { return ObjectDatabase.AsQueryable(); } } + public List All() { - return ObjectDatabase.AsQueryable().ToList(); + return Queryable.ToList(); } public TModel Get(int id) { - return ObjectDatabase.AsQueryable().Single(c => c.OID == id); + return Queryable.Single(c => c.OID == id); } public TModel Add(TModel model) diff --git a/NzbDrone.Core/Datastore/Migrations/Migration20130203.cs b/NzbDrone.Core/Datastore/Migrations/Migration20130203.cs index 9ba4e2471..29b15c425 100644 --- a/NzbDrone.Core/Datastore/Migrations/Migration20130203.cs +++ b/NzbDrone.Core/Datastore/Migrations/Migration20130203.cs @@ -12,10 +12,6 @@ namespace NzbDrone.Core.Datastore.Migrations { var objectDb = GetObjectDb(); - - var rootFolderRepo = new RootFolderRepository(objectDb); - - using (var dataReader = Database.ExecuteQuery("SELECT * from RootDirs")) { var dirs = new List(); @@ -26,6 +22,7 @@ namespace NzbDrone.Core.Datastore.Migrations } objectDb.InsertMany(dirs); } + //Database.RemoveTable("RootDirs"); } diff --git a/NzbDrone.Core/NzbDrone.Core.csproj b/NzbDrone.Core/NzbDrone.Core.csproj index 533784647..cb425b3bc 100644 --- a/NzbDrone.Core/NzbDrone.Core.csproj +++ b/NzbDrone.Core/NzbDrone.Core.csproj @@ -620,7 +620,6 @@ - diff --git a/NzbDrone.Core/RootFolders/RootFolderRepository.cs b/NzbDrone.Core/RootFolders/RootFolderRepository.cs deleted file mode 100644 index 964e91f30..000000000 --- a/NzbDrone.Core/RootFolders/RootFolderRepository.cs +++ /dev/null @@ -1,19 +0,0 @@ -using NzbDrone.Core.Datastore; -using System.Linq; - -namespace NzbDrone.Core.RootFolders -{ - public interface IRootFolderRepository : IBasicRepository - { - - } - - public class RootFolderRepository : BasicRepository, IRootFolderRepository - { - public RootFolderRepository(IObjectDatabase objectDatabase) - : base(objectDatabase) - { - - } - } -} diff --git a/NzbDrone.Core/RootFolders/RootFolderService.cs b/NzbDrone.Core/RootFolders/RootFolderService.cs index 7544cd27e..e7fd3a6ab 100644 --- a/NzbDrone.Core/RootFolders/RootFolderService.cs +++ b/NzbDrone.Core/RootFolders/RootFolderService.cs @@ -4,8 +4,8 @@ using System.Collections.Generic; using System.IO; using NLog; using NzbDrone.Common; +using NzbDrone.Core.Datastore; using NzbDrone.Core.Providers; -using NzbDrone.Core.Repository; namespace NzbDrone.Core.RootFolders { @@ -21,11 +21,11 @@ namespace NzbDrone.Core.RootFolders public class RootFolderService : IRootFolderService { private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); - private readonly IRootFolderRepository _rootFolderRepository; + private readonly IBasicRepository _rootFolderRepository; private readonly DiskProvider _diskProvider; private readonly SeriesProvider _seriesProvider; - public RootFolderService(IRootFolderRepository rootFolderRepository, SeriesProvider seriesProvider, DiskProvider diskProvider) + public RootFolderService(IBasicRepository rootFolderRepository, SeriesProvider seriesProvider, DiskProvider diskProvider) { _rootFolderRepository = rootFolderRepository; _diskProvider = diskProvider;