From c66365e11aba76bb352b5175987d5fc02c30111f Mon Sep 17 00:00:00 2001 From: Shannon Date: Tue, 27 Mar 2018 18:35:16 +1100 Subject: [PATCH] gets some tests working --- .../PublishedContent/PublishedMediaTests.cs | 28 +++++++++---------- src/Umbraco.Tests/Umbraco.Tests.csproj | 1 + .../UmbracoExamine/EventsTest.cs | 4 +-- .../UmbracoExamine/IndexInitializer.cs | 12 ++------ src/Umbraco.Tests/UmbracoExamine/IndexTest.cs | 25 ++++++++--------- .../UmbracoExamine/RandomIdRamDirectory.cs | 17 +++++++++++ .../UmbracoExamine/SearchTests.cs | 6 ++-- 7 files changed, 52 insertions(+), 41 deletions(-) create mode 100644 src/Umbraco.Tests/UmbracoExamine/RandomIdRamDirectory.cs diff --git a/src/Umbraco.Tests/PublishedContent/PublishedMediaTests.cs b/src/Umbraco.Tests/PublishedContent/PublishedMediaTests.cs index 21c656b2fb..1e3303fa3e 100644 --- a/src/Umbraco.Tests/PublishedContent/PublishedMediaTests.cs +++ b/src/Umbraco.Tests/PublishedContent/PublishedMediaTests.cs @@ -109,8 +109,8 @@ namespace Umbraco.Tests.PublishedContent [Test] public void Ensure_Children_Sorted_With_Examine() { - using (var luceneDir = new RAMDirectory()) - using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, luceneDir, options: new UmbracoContentIndexerOptions(true, false, null))) + using (var luceneDir = new RandomIdRamDirectory()) + using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, luceneDir, ScopeProvider.SqlContext, options: new UmbracoContentIndexerOptions(true, false, null))) { indexer.RebuildIndex(); @@ -135,8 +135,8 @@ namespace Umbraco.Tests.PublishedContent [Test] public void Do_Not_Find_In_Recycle_Bin() { - using (var luceneDir = new RAMDirectory()) - using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, luceneDir, options: new UmbracoContentIndexerOptions(true, false, null))) + using (var luceneDir = new RandomIdRamDirectory()) + using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, luceneDir, ScopeProvider.SqlContext, options: new UmbracoContentIndexerOptions(true, false, null))) using (indexer.ProcessNonAsync()) { indexer.RebuildIndex(); @@ -179,8 +179,8 @@ namespace Umbraco.Tests.PublishedContent [Test] public void Children_With_Examine() { - using (var luceneDir = new RAMDirectory()) - using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, luceneDir, options: new UmbracoContentIndexerOptions(true, false, null))) + using (var luceneDir = new RandomIdRamDirectory()) + using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, luceneDir, ScopeProvider.SqlContext, options: new UmbracoContentIndexerOptions(true, false, null))) using (indexer.ProcessNonAsync()) { indexer.RebuildIndex(); @@ -204,8 +204,8 @@ namespace Umbraco.Tests.PublishedContent [Test] public void Descendants_With_Examine() { - using (var luceneDir = new RAMDirectory()) - using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, luceneDir, options: new UmbracoContentIndexerOptions(true, false, null))) + using (var luceneDir = new RandomIdRamDirectory()) + using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, luceneDir, ScopeProvider.SqlContext, options: new UmbracoContentIndexerOptions(true, false, null))) using (indexer.ProcessNonAsync()) { indexer.RebuildIndex(); @@ -229,8 +229,8 @@ namespace Umbraco.Tests.PublishedContent [Test] public void DescendantsOrSelf_With_Examine() { - using (var luceneDir = new RAMDirectory()) - using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, luceneDir, options: new UmbracoContentIndexerOptions(true, false, null))) + using (var luceneDir = new RandomIdRamDirectory()) + using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, luceneDir, ScopeProvider.SqlContext, options: new UmbracoContentIndexerOptions(true, false, null))) using (indexer.ProcessNonAsync()) { indexer.RebuildIndex(); @@ -254,8 +254,8 @@ namespace Umbraco.Tests.PublishedContent [Test] public void Ancestors_With_Examine() { - using (var luceneDir = new RAMDirectory()) - using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, luceneDir, options: new UmbracoContentIndexerOptions(true, false, null))) + using (var luceneDir = new RandomIdRamDirectory()) + using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, luceneDir, ScopeProvider.SqlContext, options: new UmbracoContentIndexerOptions(true, false, null))) using (indexer.ProcessNonAsync()) { indexer.RebuildIndex(); @@ -276,8 +276,8 @@ namespace Umbraco.Tests.PublishedContent [Test] public void AncestorsOrSelf_With_Examine() { - using (var luceneDir = new RAMDirectory()) - using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, luceneDir, options: new UmbracoContentIndexerOptions(true, false, null))) + using (var luceneDir = new RandomIdRamDirectory()) + using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, luceneDir, ScopeProvider.SqlContext, options: new UmbracoContentIndexerOptions(true, false, null))) using (indexer.ProcessNonAsync()) { indexer.RebuildIndex(); diff --git a/src/Umbraco.Tests/Umbraco.Tests.csproj b/src/Umbraco.Tests/Umbraco.Tests.csproj index aa8182f15c..56bbbe0097 100644 --- a/src/Umbraco.Tests/Umbraco.Tests.csproj +++ b/src/Umbraco.Tests/Umbraco.Tests.csproj @@ -291,6 +291,7 @@ + diff --git a/src/Umbraco.Tests/UmbracoExamine/EventsTest.cs b/src/Umbraco.Tests/UmbracoExamine/EventsTest.cs index 95e338f66f..4acfadbf87 100644 --- a/src/Umbraco.Tests/UmbracoExamine/EventsTest.cs +++ b/src/Umbraco.Tests/UmbracoExamine/EventsTest.cs @@ -15,8 +15,8 @@ namespace Umbraco.Tests.UmbracoExamine [Test] public void Events_Ignoring_Node() { - using (var luceneDir = new RAMDirectory()) - using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, luceneDir, + using (var luceneDir = new RandomIdRamDirectory()) + using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, luceneDir, ScopeProvider.SqlContext, //make parent id 999 so all are ignored options: new UmbracoContentIndexerOptions(false, false, 999))) using (indexer.ProcessNonAsync()) diff --git a/src/Umbraco.Tests/UmbracoExamine/IndexInitializer.cs b/src/Umbraco.Tests/UmbracoExamine/IndexInitializer.cs index 5ba2f2cdba..61f3758656 100644 --- a/src/Umbraco.Tests/UmbracoExamine/IndexInitializer.cs +++ b/src/Umbraco.Tests/UmbracoExamine/IndexInitializer.cs @@ -31,6 +31,7 @@ namespace Umbraco.Tests.UmbracoExamine public static UmbracoContentIndexer GetUmbracoIndexer( ProfilingLogger profilingLogger, Directory luceneDir, + ISqlContext sqlContext, Analyzer analyzer = null, IContentService contentService = null, IMediaService mediaService = null, @@ -38,7 +39,6 @@ namespace Umbraco.Tests.UmbracoExamine IUserService userService = null, IContentTypeService contentTypeService = null, IMediaTypeService mediaTypeService = null, - ISqlContext sqlContext = null, UmbracoContentIndexerOptions options = null) { if (contentService == null) @@ -83,12 +83,6 @@ namespace Umbraco.Tests.UmbracoExamine userService = Mock.Of(x => x.GetProfileById(It.IsAny()) == Mock.Of(p => p.Id == 0 && p.Name == "admin")); } - if (sqlContext == null) - { - //TODO: What do we need here? - sqlContext = Mock.Of(); - } - if (mediaService == null) { long totalRecs; @@ -178,13 +172,13 @@ namespace Umbraco.Tests.UmbracoExamine //query // .Setup(x => x.GetWhereClauses()) // .Returns(new List> { new Tuple($"{Constants.DatabaseSchema.Tables.Document}.published", new object[] { 1 }) }); - var scopeProvider = new Mock(); + //scopeProvider // .Setup(x => x.Query()) // .Returns(query.Object); var i = new UmbracoContentIndexer( - new[] { new FieldDefinition("", FieldDefinitionTypes.FullText) }, + Enumerable.Empty(), luceneDir, analyzer, profilingLogger, diff --git a/src/Umbraco.Tests/UmbracoExamine/IndexTest.cs b/src/Umbraco.Tests/UmbracoExamine/IndexTest.cs index 7757d4182d..3d82aa6839 100644 --- a/src/Umbraco.Tests/UmbracoExamine/IndexTest.cs +++ b/src/Umbraco.Tests/UmbracoExamine/IndexTest.cs @@ -10,7 +10,6 @@ using Umbraco.Examine; namespace Umbraco.Tests.UmbracoExamine { - /// /// Tests the standard indexing capabilities /// @@ -23,8 +22,8 @@ namespace Umbraco.Tests.UmbracoExamine public void Rebuild_Index() { - using (var luceneDir = new RAMDirectory()) - using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, luceneDir, options: new UmbracoContentIndexerOptions(true, false, null))) + using (var luceneDir = new RandomIdRamDirectory()) + using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, luceneDir, ScopeProvider.SqlContext, options: new UmbracoContentIndexerOptions(true, false, null))) using (indexer.ProcessNonAsync()) { var searcher = indexer.GetSearcher(); @@ -46,8 +45,8 @@ namespace Umbraco.Tests.UmbracoExamine public void Index_Protected_Content_Not_Indexed() { - using (var luceneDir = new RAMDirectory()) - using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, luceneDir)) + using (var luceneDir = new RandomIdRamDirectory()) + using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, luceneDir, ScopeProvider.SqlContext)) using (indexer.ProcessNonAsync()) using (var searcher = ((LuceneSearcher)indexer.GetSearcher()).GetLuceneSearcher()) { @@ -77,8 +76,8 @@ namespace Umbraco.Tests.UmbracoExamine [Test] public void Index_Move_Media_From_Non_Indexable_To_Indexable_ParentID() { - using (var luceneDir = new RAMDirectory()) - using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, luceneDir, + using (var luceneDir = new RandomIdRamDirectory()) + using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, luceneDir, ScopeProvider.SqlContext, //make parent id 1116 options: new UmbracoContentIndexerOptions(false, false, 1116))) using (indexer.ProcessNonAsync()) @@ -119,8 +118,8 @@ namespace Umbraco.Tests.UmbracoExamine [Test] public void Index_Move_Media_To_Non_Indexable_ParentID() { - using (var luceneDir = new RAMDirectory()) - using (var indexer1 = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, luceneDir, + using (var luceneDir = new RandomIdRamDirectory()) + using (var indexer1 = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, luceneDir, ScopeProvider.SqlContext, //make parent id 2222 options: new UmbracoContentIndexerOptions(false, false, 2222))) using (indexer1.ProcessNonAsync()) @@ -169,8 +168,8 @@ namespace Umbraco.Tests.UmbracoExamine [Test] public void Index_Reindex_Content() { - using (var luceneDir = new RAMDirectory()) - using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, luceneDir, options: new UmbracoContentIndexerOptions(true, false, null))) + using (var luceneDir = new RandomIdRamDirectory()) + using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, luceneDir, ScopeProvider.SqlContext, options: new UmbracoContentIndexerOptions(true, false, null))) using (indexer.ProcessNonAsync()) { var searcher = indexer.GetSearcher(); @@ -212,8 +211,8 @@ namespace Umbraco.Tests.UmbracoExamine [Test] public void Index_Delete_Index_Item_Ensure_Heirarchy_Removed() { - using (var luceneDir = new RAMDirectory()) - using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, luceneDir)) + using (var luceneDir = new RandomIdRamDirectory()) + using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, luceneDir, ScopeProvider.SqlContext)) using (indexer.ProcessNonAsync()) { var searcher = indexer.GetSearcher(); diff --git a/src/Umbraco.Tests/UmbracoExamine/RandomIdRamDirectory.cs b/src/Umbraco.Tests/UmbracoExamine/RandomIdRamDirectory.cs new file mode 100644 index 0000000000..95df0dfc3d --- /dev/null +++ b/src/Umbraco.Tests/UmbracoExamine/RandomIdRamDirectory.cs @@ -0,0 +1,17 @@ +using System; +using Lucene.Net.Store; + +namespace Umbraco.Tests.UmbracoExamine +{ + /// + /// This is needed for all tests, else the lockid collides with directories during testing + /// + public class RandomIdRamDirectory : RAMDirectory + { + private readonly string _lockId = Guid.NewGuid().ToString(); + public override string GetLockId() + { + return _lockId; + } + } +} \ No newline at end of file diff --git a/src/Umbraco.Tests/UmbracoExamine/SearchTests.cs b/src/Umbraco.Tests/UmbracoExamine/SearchTests.cs index de135c55bf..c71dc6f242 100644 --- a/src/Umbraco.Tests/UmbracoExamine/SearchTests.cs +++ b/src/Umbraco.Tests/UmbracoExamine/SearchTests.cs @@ -53,8 +53,8 @@ namespace Umbraco.Tests.UmbracoExamine == allRecs); - using (var luceneDir = new RAMDirectory()) - using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, luceneDir, contentService: contentService)) + using (var luceneDir = new RandomIdRamDirectory()) + using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, luceneDir, ScopeProvider.SqlContext, contentService: contentService)) using (indexer.ProcessNonAsync()) { indexer.RebuildIndex(); @@ -98,7 +98,7 @@ namespace Umbraco.Tests.UmbracoExamine //[Test] //public void Test_Index_Type_With_German_Analyzer() //{ - // using (var luceneDir = new RAMDirectory()) + // using (var luceneDir = new RandomIdRamDirectory()) // { // var indexer = IndexInitializer.GetUmbracoIndexer(luceneDir, // new GermanAnalyzer());