private static void CheckQuery(string text, int count, string security = null) { var broker = SearchBrokerManager.GetBroker <PersonneDocument>(); var result = broker.Query(text, security); Assert.IsNotNull(result); Assert.AreEqual(count, result.Count()); }
public void Check_Group() { var facetQueryDefinition = new FacetQueryDefinition(); facetQueryDefinition.Facets.Add(new BooleanFacet { Name = GenreFacet, FieldName = GenreField }); var input = new AdvancedQueryInput { ApiInput = new QueryInput { Criteria = new Criteria(), Skip = 0, Top = 10, Group = GenreFacet }, FacetQueryDefinition = facetQueryDefinition }; var broker = SearchBrokerManager.GetBroker <PersonneDocument>(); var output = broker.AdvancedQuery(input); /* Total. */ Assert.AreEqual(6, output.TotalCount, "Nombre total de résultats attendu incorrect."); /* Groupes */ var groups = output.Groups; Assert.IsNotNull(groups); Assert.AreEqual(3, groups.Count, "Nombre de groupes attendu incorrect."); foreach (var group in groups) { var bucket = group.Value; switch (group.Key) { case "M": Assert.AreEqual(3, bucket.Count); break; case "F": Assert.AreEqual(2, bucket.Count); break; case FacetConst.NullValue: Assert.AreEqual(1, bucket.Count); break; default: Assert.Fail("Clée inattendue : " + group.Key); break; } } }
private static QueryOutput <PersonneDocument> CheckFacets(FacetListInput facetsInput, string query = null) { var facetQueryDefinition = new FacetQueryDefinition(new BooleanFacet { Name = GenreFacet, FieldName = GenreField }); var input = new AdvancedQueryInput { ApiInput = new QueryInput { Criteria = new Criteria { Query = query }, Skip = 0, Top = 10, Facets = facetsInput, }, FacetQueryDefinition = facetQueryDefinition }; var broker = SearchBrokerManager.GetBroker <PersonneDocument>(); return(broker.AdvancedQuery(input)); }
private static void CheckFacets(long expected, FacetListInput facetsInput, string query = null) { var facetQueryDefinition = new FacetQueryDefinition(new BooleanFacet { Code = GenreFacet, FieldName = GenreField }); var input = new AdvancedQueryInput { ApiInput = new QueryInput { Criteria = new Criteria { Query = query }, Skip = 0, Top = 10, Facets = facetsInput, }, FacetQueryDefinition = facetQueryDefinition }; var broker = SearchBrokerManager.GetBroker <PersonneDocument>(); var actual = broker.AdvancedCount(input); Assert.AreEqual(expected, actual, "Le compte n'est pas bon."); }
private static QueryOutput <PersonneDocument> CheckFacets(FacetListInput facetsInput, string query = null, string security = null, string portfolio = null) { var facetQueryDefinition = new FacetQueryDefinition(new PortfolioFacet { Code = DepartementFacet, FieldName = DepartementField }); var input = new AdvancedQueryInput { ApiInput = new QueryInput { Criteria = new Criteria { Query = query }, Skip = 0, Top = 10, Facets = facetsInput, }, FacetQueryDefinition = facetQueryDefinition, Security = security, Portfolio = portfolio }; var broker = SearchBrokerManager.GetBroker <PersonneDocument>(); return(broker.AdvancedQuery(input)); }
private static void Check_Sort(bool sortDescending, IEnumerable <string> expectedNomList) { var input = new AdvancedQueryInput { ApiInput = new QueryInput { Criteria = new Criteria(), Skip = 0, Top = 10, SortFieldName = "NomSort", SortDescending = sortDescending } }; var broker = SearchBrokerManager.GetBroker <PersonneDocument>(); var output = broker.AdvancedQuery(input); /* Total. */ Assert.AreEqual(6, output.List.Count, "Nombre de résultats attendu incorrect."); Assert.AreEqual(6, output.TotalCount, "Nombre total de résultats attendu incorrect."); var nomList = output.List.Select(x => x.Nom); Assert.IsTrue( Enumerable.SequenceEqual(expectedNomList, nomList), "Tri attendu : " + string.Join(",", expectedNomList) + Environment.NewLine + " | Tri constaté : " + string.Join(",", nomList)); }
public static void Init(TestContext context) { /* Initialise le store Elastic. */ SearchBrokerManager.RegisterDefaultDataSource(DataSourceName); SearchBrokerManager.Instance.RegisterStore(DataSourceName, typeof(ElasticStore <>)); ElasticManager.Instance.RegisterSearchSettings(new SearchSettings { Name = DataSourceName, NodeUri = NodeUri, IndexName = IndexName }); /* Créé l'index. */ if (ElasticManager.Instance.ExistIndex(DataSourceName)) { ElasticManager.Instance.DeleteIndex(DataSourceName); } ElasticManager.Instance.InitIndex(DataSourceName, new IndexConfigurator()); /* Créé le type de document. */ var broker = SearchBrokerManager.GetBroker <PersonneDocument>(); broker.CreateDocumentType(); /* Ajoute des documents. */ var doc1 = new PersonneDocument { Id = 7, Nom = "TOUTLEMONDE", NomSort = "TOUTLEMONDE", Prenom = "Robert", Text = "Robert TOUTLEMONDE", DepartementList = "92 75", Genre = "M" }; var doc2 = new PersonneDocument { Id = 8, Nom = "MARCHAND", NomSort = "MARCHAND", Prenom = "Camille", Text = "Camille MARCHAND", DepartementList = "01 02", Genre = "F" }; var doc3 = new PersonneDocument { Id = 9, Nom = "RODRIGEZ", NomSort = "RODRIGEZ", Prenom = "Clémentine", Text = "Clémentine RODRIGEZ", DepartementList = "03 04", Genre = "F" }; var doc4 = new PersonneDocument { Id = 10, Nom = "BUCHE", NomSort = "BUCHE", Prenom = "Géraldine", Text = "Géraldine BUCHE", DepartementList = "99 98", Genre = null }; var doc5 = new PersonneDocument { Id = 11, Nom = "RAY", NomSort = "RAY", Prenom = "Jean-Baptiste", Text = "Jean-Baptiste RAY", DepartementList = "92 75", Genre = "M" }; var doc6 = new PersonneDocument { Id = 12, Nom = "D'ALEMBERT", NomSort = "D'ALEMBERT", Prenom = "Roger", Text = "Roger D'ALEMBERT", DepartementList = "92 75", Genre = "M" }; broker.Put(doc1); broker.Put(doc2); broker.Put(doc3); broker.Put(doc4); broker.Put(doc5); broker.Put(doc6); /* Attends que les documents soit disponibles. */ Thread.Sleep(1000); }