public void EnsureResultSource_WhenNotSortingByRank_ShouldNotApplyARankingModel() { const string ResultSourceName = "Test Result Source"; // Arrange using (var testScope = SiteTestScope.BlankSite()) { var resultSourceInfo = new ResultSourceInfo() { Name = ResultSourceName, Level = SearchObjectLevel.SPSite, Query = "{?{searchTerms} -ContentClass=urn:content-class:SPSPeople}", RankingModelId = BuiltInRankingModels.DefaultSearchModelId, UpdateMode = ResultSourceUpdateBehavior.OverwriteResultSource }; using (var injectionScope = IntegrationTestServiceLocator.BeginLifetimeScope()) { var searchHelper = injectionScope.Resolve <ISearchHelper>(); // Act searchHelper.EnsureResultSource(testScope.SiteCollection, resultSourceInfo); // Assert // Exception should have been thrown already Assert.IsTrue(false); } } }
public void EnsureResultSource_WhenRevertingAppendedQuery_ShouldRevertToPreviousQuery() { const string ResultSourceName = "Test Result Source"; const string Query = "{?{searchTerms} -ContentClass=urn:content-class:SPSPeople}"; const string AppendedQuery = "{?{|owstaxidmetadataalltagsinfo:{User.SPSResponsibility}}}"; using (var testScope = SiteTestScope.BlankSite()) { // Arrange var resultSourceInfo = new ResultSourceInfo() { Name = ResultSourceName, Level = SearchObjectLevel.SPSite, Query = Query, UpdateMode = ResultSourceUpdateBehavior.OverwriteResultSource }; var appendedResultSourceInfo = new ResultSourceInfo() { Name = ResultSourceName, Level = SearchObjectLevel.SPSite, Query = AppendedQuery, UpdateMode = ResultSourceUpdateBehavior.AppendToQuery }; var revertedResultSourceInfo = new ResultSourceInfo() { Name = ResultSourceName, Level = SearchObjectLevel.SPSite, Query = AppendedQuery, UpdateMode = ResultSourceUpdateBehavior.RevertQuery }; using (var injectionScope = IntegrationTestServiceLocator.BeginLifetimeScope()) { var searchHelper = injectionScope.Resolve <ISearchHelper>(); var ssa = searchHelper.GetDefaultSearchServiceApplication(testScope.SiteCollection); var federationManager = new FederationManager(ssa); var searchOwner = new SearchObjectOwner(SearchObjectLevel.SPSite, testScope.SiteCollection.RootWeb); // Act searchHelper.EnsureResultSource(testScope.SiteCollection, resultSourceInfo); searchHelper.EnsureResultSource(testScope.SiteCollection, appendedResultSourceInfo); searchHelper.EnsureResultSource(testScope.SiteCollection, revertedResultSourceInfo); // Assert var source = federationManager.GetSourceByName(ResultSourceName, searchOwner); Assert.IsNotNull(source); Assert.IsNotNull(source.QueryTransform); Assert.AreEqual(ResultSourceName, source.Name); Assert.AreEqual(Query, source.QueryTransform.QueryTemplate); } } }
public void EnsureResultSource_WhenSortingByRank_ShouldApplySpecifiedRankingModel() { const string ResultSourceName = "Test Result Source"; // Arrange using (var testScope = SiteTestScope.BlankSite()) { var resultSourceInfo = new ResultSourceInfo() { Name = ResultSourceName, Level = SearchObjectLevel.SPSite, Query = "{?{searchTerms} -ContentClass=urn:content-class:SPSPeople}", SortSettings = new Dictionary <string, SortDirection>() { { BuiltInManagedProperties.Rank.Name, SortDirection.Descending } }, RankingModelId = BuiltInRankingModels.DefaultSearchModelId, UpdateMode = ResultSourceUpdateBehavior.OverwriteResultSource }; using (var injectionScope = IntegrationTestServiceLocator.BeginLifetimeScope()) { var searchHelper = injectionScope.Resolve <ISearchHelper>(); var ssa = searchHelper.GetDefaultSearchServiceApplication(testScope.SiteCollection); var federationManager = new FederationManager(ssa); var searchOwner = new SearchObjectOwner(SearchObjectLevel.SPSite, testScope.SiteCollection.RootWeb); // Act searchHelper.EnsureResultSource(testScope.SiteCollection, resultSourceInfo); // Assert var source = federationManager.GetSourceByName(ResultSourceName, searchOwner); Assert.IsNotNull(source); Assert.AreEqual(ResultSourceName, source.Name); Assert.AreEqual(BuiltInRankingModels.DefaultSearchModelId.ToString(), source.QueryTransform.OverrideProperties["RankingModelId"]); } } }