public void FindAndRegisterValidExtensionPoints_RemovesInvalidCustomQueryRewriterConfiguration() { CreateExtensionPointsConfiguration(addInvalidQueryRewriterConfiguration: true); ExtensionPointsConfigurationAnalyzer.FindAndRegisterValidExtensionPoints(extensionPointsConfiguration, logger); IQueryRewriter queryRewriter = ExtensionPointsRepository.Instance.GetQueryRewriterImplementation(); Assert.IsNotNull(queryRewriter, "Default query rewriter should be used!"); Assert.AreEqual(queryRewriter.GetType().FullName, "Sando.Indexer.Searching.DefaultQueryRewriter", "Invalid query rewriter returned!"); string logFileContent = File.ReadAllText(logFilePath); Assert.IsTrue(logFileContent.Contains("Invalid query rewriter configuration found - it will be omitted during registration process."), "Log file should contain information about removed invalid query rewriter configuration!"); }
public void FindAndRegisterValidExtensionPoints_RegistersUsableCustomQueryRewriter() { CreateExtensionPointsConfiguration(addValidQueryRewriterConfiguration: true); ExtensionPointsConfigurationAnalyzer.FindAndRegisterValidExtensionPoints(extensionPointsConfiguration, logger); IQueryRewriter queryRewriter = ExtensionPointsRepository.Instance.GetQueryRewriterImplementation(); Assert.IsNotNull(queryRewriter, "Query rewriter should be registered!"); Assert.AreEqual(queryRewriter.GetType().FullName, "Sando.TestExtensionPoints.TestQueryRewriter", "Invalid query rewriter returned!"); string query = null; Assert.DoesNotThrow(() => query = queryRewriter.RewriteQuery("Two Keywords")); Assert.IsFalse(String.IsNullOrWhiteSpace(query), "Invalid results from RewriteQuery method!"); Assert.AreEqual(query, "two keywords", "Query is invalid!"); }