Exemple #1
0
        private static string RangeClauseToKQL(RangeClause rangeClause)
        {
            var visitor = new ElasticSearchDSLVisitor(SchemaRetrieverMock.CreateMockSchemaRetriever());

            visitor.Visit(rangeClause);
            return(rangeClause.KustoQL);
        }
 private static string DateRangeClauseToKQL(RangeClause rangeClause)
 {
     var visitor = new ElasticSearchDSLVisitor(SchemaRetrieverMock.CreateMockDateSchemaRetriever());
     VisitorTestsUtils.VisitRootDsl(visitor);
     visitor.Visit(rangeClause);
     return rangeClause.KustoQL;
 }
        private string VisitSortQuery(SortClause clause)
        {
            var visitor = new ElasticSearchDSLVisitor(SchemaRetrieverMock.CreateMockSchemaRetriever());

            visitor.Visit(clause);
            return(clause.KustoQL);
        }
Exemple #4
0
        private string VisitQuery(BoolQuery query)
        {
            var visitor = new ElasticSearchDSLVisitor(SchemaRetrieverMock.CreateMockSchemaRetriever());

            visitor.Visit(query);
            return(query.KustoQL);
        }
        private static string VisitQuery(QueryStringClause queryStringClause)
        {
            var visitor = new ElasticSearchDSLVisitor(SchemaRetrieverMock.CreateMockSchemaRetriever());

            visitor.Visit(queryStringClause);
            return(queryStringClause.KustoQL);
        }
        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);
        }
        private string TestRangeClause(string queryString)
        {
            var query   = JsonConvert.DeserializeObject <Query>(queryString);
            var visitor = new ElasticSearchDSLVisitor(SchemaRetrieverMock.CreateMockSchemaRetriever());

            query.Accept(visitor);
            return(query.KustoQL);
        }
Exemple #8
0
        private void CreateVisitorAndVisit(ElasticSearchDSL elasticSearchDSL, string dbName = "")
        {
            var visitor =
                new ElasticSearchDSLVisitor(
                    SchemaRetrieverMock.CreateMockSchemaRetriever(), dbName);

            visitor.Visit(elasticSearchDSL);
        }
        public string TestComplexWildcardQuery(string queryString)
        {
            var query   = JsonConvert.DeserializeObject <Query>(queryString);
            var visitor = new ElasticSearchDSLVisitor(SchemaRetrieverMock.CreateMockSchemaRetriever());

            query.Accept(visitor);
            return(query.KustoQL);
        }
        public string AggregationVisit_WithEmptyAgg_ReturnsNoPrimary()
        {
            var aggregateClause = new Aggregation();

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

            visitor.Visit(aggregateClause);

            return(aggregateClause.KustoQL);
        }
Exemple #11
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>());
        }
Exemple #12
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>());
        }
Exemple #13
0
        public string ExistsVisit_WithValidInput_ReturnsIsNotNullResponse()
        {
            var existsClause = new ExistsClause
            {
                FieldName = "MyField",
            };

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

            visitor.Visit(existsClause);
            return(existsClause.KustoQL);
        }
Exemple #14
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>());
        }
        public string IgnoresClausesWithUnderscore()
        {
            var sortClause = new SortClause()
            {
                FieldName = "_wibble"
            };

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

            visitor.Visit(sortClause);

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

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

            visitor.Visit(sortClause);

            return(sortClause.KustoQL);
        }
        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);
        }
        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);
        }
Exemple #19
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);
        }
Exemple #20
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);
        }