private static string VisitQuery(QueryStringClause queryStringClause)
        {
            var visitor = new ElasticSearchDSLVisitor(SchemaRetrieverMock.CreateMockSchemaRetriever());

            visitor.Visit(queryStringClause);
            return(queryStringClause.KustoQL);
        }
Ejemplo n.º 2
0
        public string Visit_WithValidTermPhraseQuery_ReturnsValidReponse()
        {
            var query = new Lucene.Net.Search.PhraseQuery();

            query.Add(new Lucene.Net.Index.Term("City", "TelAviv"));

            var phraseQuery = new LucenePhraseQuery
            {
                LuceneQuery = query,
            };

            var luceneVisitor = new LuceneVisitor();

            phraseQuery.Accept(luceneVisitor);

            var es = phraseQuery.ESQuery;

            Assert.NotNull(es);

            var visitor = new ElasticSearchDSLVisitor(SchemaRetrieverMock.CreateMockSchemaRetriever());

            visitor.Visit((QueryStringClause)es);

            return(((QueryStringClause)es).KustoQL);
        }
Ejemplo n.º 3
0
        private static string RangeClauseToKQL(RangeClause rangeClause)
        {
            var visitor = new ElasticSearchDSLVisitor(SchemaRetrieverMock.CreateMockSchemaRetriever());

            visitor.Visit(rangeClause);
            return(rangeClause.KustoQL);
        }
Ejemplo n.º 4
0
 private static string DateRangeClauseToKQL(RangeClause rangeClause)
 {
     var visitor = new ElasticSearchDSLVisitor(SchemaRetrieverMock.CreateMockDateSchemaRetriever());
     VisitorTestsUtils.VisitRootDsl(visitor);
     visitor.Visit(rangeClause);
     return rangeClause.KustoQL;
 }
Ejemplo n.º 5
0
        public string Visit_WithValidBoolQuery_ReturnsSuccess()
        {
            var luceneNetBoolQuery = new Lucene.Net.Search.BooleanQuery();

            luceneNetBoolQuery.Clauses.Add(
                new Lucene.Net.Search.BooleanClause(
                    new Lucene.Net.Search.WildcardQuery(
                        new Lucene.Net.Index.Term("*", "Lo*d?n")),
                    Lucene.Net.Search.Occur.MUST_NOT));

            var boolQuery = new LuceneBoolQuery
            {
                LuceneQuery = luceneNetBoolQuery,
            };

            var luceneVisitor = new LuceneVisitor();

            luceneVisitor.Visit(boolQuery);

            var es = boolQuery.ESQuery;

            Assert.NotNull(es);

            var visitor = new ElasticSearchDSLVisitor(SchemaRetrieverMock.CreateMockSchemaRetriever());

            visitor.Visit((BoolQuery)es);

            return(((BoolQuery)es).KustoQL);
        }
Ejemplo n.º 6
0
        private string VisitQuery(BoolQuery query)
        {
            var visitor = new ElasticSearchDSLVisitor(SchemaRetrieverMock.CreateMockSchemaRetriever());

            visitor.Visit(query);
            return(query.KustoQL);
        }
Ejemplo n.º 7
0
        private string VisitSortQuery(SortClause clause)
        {
            var visitor = new ElasticSearchDSLVisitor(SchemaRetrieverMock.CreateMockSchemaRetriever());

            visitor.Visit(clause);
            return(clause.KustoQL);
        }
Ejemplo n.º 8
0
        public string AggregationVisit_WithSubCardinalityAggs_ReturnsDCounts()
        {
            var aggregateClause = new Aggregation()
            {
                PrimaryAggregation = new CardinalityAggregation()
                {
                    FieldName = "fieldA"
                },
                SubAggregations = new Dictionary <string, Aggregation>
                {
                    { "sub", new Aggregation()
                      {
                          PrimaryAggregation = new CardinalityAggregation {
                              FieldName = "fieldB"
                          }
                      } },
                },
            };

            var visitor = new ElasticSearchDSLVisitor(SchemaRetrieverMock.CreateMockSchemaRetriever());

            visitor.Visit(aggregateClause);

            return(aggregateClause.KustoQL);
        }
Ejemplo n.º 9
0
        public string Visit_WithValidRangeQuery_ReturnsValidResponse()
        {
            var rangeQuery = new LuceneRangeQuery
            {
                LuceneQuery =
                    new Lucene.Net.Search.TermRangeQuery(
                        "days",
                        "2",
                        "6",
                        true,
                        true),
            };

            var luceneVisitor = new LuceneVisitor();

            rangeQuery.Accept(luceneVisitor);

            var es = rangeQuery.ESQuery;

            Assert.NotNull(es);

            var visitor = new ElasticSearchDSLVisitor(SchemaRetrieverMock.CreateMockSchemaRetriever());

            visitor.Visit((RangeClause)es);

            return(((RangeClause)es).KustoQL);
        }
Ejemplo n.º 10
0
        internal static ElasticSearchDSLVisitor CreateAndVisitRootVisitor(string name = "dayOfWeek", string type = "string")
        {
            var visitor = new ElasticSearchDSLVisitor(SchemaRetrieverMock.CreateMockSchemaRetriever(name, type));

            VisitRootDsl(visitor);
            return(visitor);
        }
Ejemplo n.º 11
0
        public string TestComplexWildcardQuery(string queryString)
        {
            var query   = JsonConvert.DeserializeObject <Query>(queryString);
            var visitor = new ElasticSearchDSLVisitor(SchemaRetrieverMock.CreateMockSchemaRetriever());

            query.Accept(visitor);
            return(query.KustoQL);
        }
Ejemplo n.º 12
0
        private string TestRangeClause(string queryString)
        {
            var query   = JsonConvert.DeserializeObject <Query>(queryString);
            var visitor = new ElasticSearchDSLVisitor(SchemaRetrieverMock.CreateMockSchemaRetriever());

            query.Accept(visitor);
            return(query.KustoQL);
        }
Ejemplo n.º 13
0
        private void CreateVisitorAndVisit(ElasticSearchDSL elasticSearchDSL, string dbName = "")
        {
            var visitor =
                new ElasticSearchDSLVisitor(
                    SchemaRetrieverMock.CreateMockSchemaRetriever(), dbName);

            visitor.Visit(elasticSearchDSL);
        }
Ejemplo n.º 14
0
        public string AggregationVisit_WithEmptyAgg_ReturnsNoPrimary()
        {
            var aggregateClause = new Aggregation();

            var visitor = new ElasticSearchDSLVisitor(SchemaRetrieverMock.CreateMockSchemaRetriever());

            visitor.Visit(aggregateClause);

            return(aggregateClause.KustoQL);
        }
Ejemplo n.º 15
0
        public void BoolQueryVisit_WithInvalidClause_ThrowsIllegalClauseException()
        {
            var visitor = new ElasticSearchDSLVisitor(SchemaRetrieverMock.CreateMockSchemaRetriever());

            // This is a valid scenario
            visitor.Visit(new BoolQuery());

            Assert.That(
                () => visitor.Visit((BoolQuery)null),
                Throws.TypeOf <ArgumentNullException>());
        }
Ejemplo n.º 16
0
        public string ExistsVisit_WithValidInput_ReturnsIsNotNullResponse()
        {
            var existsClause = new ExistsClause
            {
                FieldName = "MyField",
            };

            var visitor = new ElasticSearchDSLVisitor(SchemaRetrieverMock.CreateMockSchemaRetriever());

            visitor.Visit(existsClause);
            return(existsClause.KustoQL);
        }
Ejemplo n.º 17
0
        public void DateHistogramAggVisit_WithInvalidClause_ThrowsIllegalClauseException()
        {
            var visitor = new ElasticSearchDSLVisitor(SchemaRetrieverMock.CreateMockSchemaRetriever());

            Assert.That(
                () => visitor.Visit(new DateHistogramAggregation()),
                Throws.TypeOf <IllegalClauseException>());

            Assert.That(
                () => visitor.Visit((DateHistogramAggregation)null),
                Throws.TypeOf <ArgumentNullException>());
        }
Ejemplo n.º 18
0
        public void MatchPhraseClauseVisit_WithInvalidClause_ThrowsIllegalClauseException()
        {
            var visitor = new ElasticSearchDSLVisitor(SchemaRetrieverMock.CreateMockSchemaRetriever());

            Assert.That(
                () => visitor.Visit(new MatchPhraseClause()),
                Throws.TypeOf <IllegalClauseException>());

            Assert.That(
                () => visitor.Visit((MatchPhraseClause)null),
                Throws.TypeOf <ArgumentNullException>());
        }
Ejemplo n.º 19
0
        public string IgnoresClausesWithUnderscore()
        {
            var sortClause = new SortClause()
            {
                FieldName = "_wibble"
            };

            var visitor = new ElasticSearchDSLVisitor(SchemaRetrieverMock.CreateMockSchemaRetriever());

            visitor.Visit(sortClause);

            return(sortClause.KustoQL);
        }
Ejemplo n.º 20
0
        public string GeneratesClauseQuery()
        {
            var sortClause = new SortClause()
            {
                FieldName = "wibble", Order = "asc"
            };

            var visitor = new ElasticSearchDSLVisitor(SchemaRetrieverMock.CreateMockSchemaRetriever());

            visitor.Visit(sortClause);

            return(sortClause.KustoQL);
        }
Ejemplo n.º 21
0
        /// <summary>
        /// A helpler method to add the default DSL to visitor in order to
        /// Have the ISchemaRetriever initialised by the default visitor.
        /// </summary>
        /// <param name="visitor"></param>
        internal static void VisitRootDsl(ElasticSearchDSLVisitor visitor)
        {
            var dsl = new ElasticSearchDSL
            {
                Query = new Query
                {
                    Bool = new BoolQuery(),
                },
                IndexName = "someindex",
            };

            visitor.Visit(dsl);
        }
        public string DateHistogramVisit_WithSimpleAggregation_ReturnsValidResponse()
        {
            var histogramAggregation = new DateHistogramAggregation()
            {
                Metric    = "wibble",
                FieldName = "wobble",
            };

            var visitor = new ElasticSearchDSLVisitor(SchemaRetrieverMock.CreateMockSchemaRetriever());

            visitor.Visit(histogramAggregation);

            return(histogramAggregation.KustoQL);
        }
Ejemplo n.º 23
0
        public string AggregationVisit_WithCardinalityAgg_ReturnsDCount()
        {
            var aggregateClause = new Aggregation()
            {
                PrimaryAggregation = new CardinalityAggregation()
                {
                    FieldName = "fieldA"
                },
            };

            var visitor = new ElasticSearchDSLVisitor(SchemaRetrieverMock.CreateMockSchemaRetriever());

            visitor.Visit(aggregateClause);

            return(aggregateClause.KustoQL);
        }
Ejemplo n.º 24
0
        public string Visit_WithValidWildcardQuery_ReturnsValidReponse()
        {
            var prefixQuery = new LucenePrefixQuery
            {
                LuceneQuery =
                    new Lucene.Net.Search.PrefixQuery(
                        new Lucene.Net.Index.Term("*", "Kfar-Sa*")),
            };

            var luceneVisitor = new LuceneVisitor();

            luceneVisitor.Visit(prefixQuery);

            var es = prefixQuery.ESQuery;

            Assert.NotNull(es);

            var visitor = new ElasticSearchDSLVisitor(SchemaRetrieverMock.CreateMockSchemaRetriever());

            visitor.Visit((QueryStringClause)es);

            return(((QueryStringClause)es).KustoQL);
        }
        public string Visit_WithValidEscapedWildcardQuery_ReturnsValidResponse()
        {
            var wildcardQuery = new LuceneWildcardQuery
            {
                LuceneQuery =
                    new Lucene.Net.Search.WildcardQuery(
                        new Lucene.Net.Index.Term("*", "L\\o*d?n")),
            };

            var luceneVisitor = new LuceneVisitor();

            luceneVisitor.Visit(wildcardQuery);

            var es = wildcardQuery.ESQuery;

            Assert.NotNull(es);

            var visitor = new ElasticSearchDSLVisitor(SchemaRetrieverMock.CreateMockSchemaRetriever());

            visitor.Visit((QueryStringClause)es);

            return(((QueryStringClause)es).KustoQL);
        }
Ejemplo n.º 26
0
        public string Visit_WithStringFieldType_GeneratesQueryWithHas()
        {
            var queryClause = CreateQueryStringClause("dayOfWeek:1", false);
            var dsl         = new ElasticSearchDSL
            {
                Query = new Query
                {
                    Bool = new BoolQuery
                    {
                        Must = new List <IQuery> {
                            queryClause
                        },
                    },
                },
                IndexName = "myindex",
            };

            var visitor =
                new ElasticSearchDSLVisitor(
                    SchemaRetrieverMock.CreateMockSchemaRetriever());

            visitor.Visit(dsl);
            return(dsl.KustoQL);
        }
Ejemplo n.º 27
0
        public string Visit_WithGreaterThanExpression_ExpectedResults()
        {
            var queryClause = CreateQueryStringClause("dayOfWeek:>2", false);
            var dsl         = new ElasticSearchDSL
            {
                Query = new Query
                {
                    Bool = new BoolQuery
                    {
                        Must = new List <IQuery> {
                            queryClause
                        },
                    },
                },
                IndexName = "myindex",
            };

            var visitor =
                new ElasticSearchDSLVisitor(
                    SchemaRetrieverMock.CreateMockNumericSchemaRetriever());

            visitor.Visit(dsl);
            return(dsl.KustoQL);
        }