internal string CreateN1QlQuery(IBucket bucket, Expression expression, ClusterVersion clusterVersion,
                                        bool selectDocumentMetadata, out ScalarResultBehavior resultBehavior)
        {
            var serializer = new Core.Serialization.DefaultSerializer();

            var bucketContext = new Mock <IBucketContext>();

            bucketContext.SetupGet(p => p.Bucket).Returns(bucket);
            bucketContext.SetupGet(p => p.Configuration).Returns(new ClientConfiguration
            {
                Serializer = () => serializer
            });

            var queryModel = QueryParserHelper.CreateQueryParser(bucketContext.Object).GetParsedQuery(expression);

            var queryGenerationContext = new N1QlQueryGenerationContext()
            {
                MemberNameResolver           = MemberNameResolver,
                MethodCallTranslatorProvider = new DefaultMethodCallTranslatorProvider(),
                Serializer             = serializer,
                SelectDocumentMetadata = selectDocumentMetadata,
                ClusterVersion         = clusterVersion
            };

            var visitor = new N1QlQueryModelVisitor(queryGenerationContext);

            visitor.VisitQueryModel(queryModel);

            resultBehavior = visitor.ScalarResultBehavior;
            return(visitor.GetQuery());
        }
Esempio n. 2
0
        internal string CreateN1QlQuery(IBucket bucket, Expression expression, ClusterVersion clusterVersion,
                                        bool selectDocumentMetadata, out ScalarResultBehavior resultBehavior)
        {
            var mockCluster = new Mock <ICluster>();

            mockCluster
            .Setup(p => p.ClusterServices)
            .Returns(ServiceProvider);

            var queryModel = QueryParserHelper.CreateQueryParser(mockCluster.Object).GetParsedQuery(expression);

            var queryGenerationContext = new N1QlQueryGenerationContext()
            {
                MemberNameResolver           = MemberNameResolver,
                MethodCallTranslatorProvider = new DefaultMethodCallTranslatorProvider(),
                Serializer             = ServiceProvider.GetRequiredService <ITypeSerializer>(),
                SelectDocumentMetadata = selectDocumentMetadata,
                ClusterVersion         = clusterVersion,
                LoggerFactory          = LoggerFactory
            };

            var visitor = new N1QlQueryModelVisitor(queryGenerationContext);

            visitor.VisitQueryModel(queryModel);

            resultBehavior = visitor.ScalarResultBehavior;
            return(visitor.GetQuery());
        }
Esempio n. 3
0
        protected virtual IQueryable <T> CreateQueryable <T>(string bucketName)
        {
            var mockBucket = new Mock <IBucket>();

            mockBucket.SetupGet(e => e.Name).Returns(bucketName);

            return(new BucketQueryable <T>(mockBucket.Object,
                                           QueryParserHelper.CreateQueryParser(), QueryExecutor));
        }
Esempio n. 4
0
        protected string CreateN1QlQuery(IBucket bucket, Expression expression)
        {
            var queryModel = QueryParserHelper.CreateQueryParser().GetParsedQuery(expression);

            var queryGenerationContext = new N1QlQueryGenerationContext()
            {
                MemberNameResolver           = new JsonNetMemberNameResolver(_contractResolver),
                MethodCallTranslatorProvider = new DefaultMethodCallTranslatorProvider(),
                Serializer = new Core.Serialization.DefaultSerializer()
            };

            var visitor = new N1QlQueryModelVisitor(queryGenerationContext);

            visitor.VisitQueryModel(queryModel);
            return(visitor.GetQuery());
        }
Esempio n. 5
0
        protected string CreateN1QlQuery(IBucket bucket, Expression expression, Version clusterVersion, bool selectDocumentMetadata)
        {
            var queryModel = QueryParserHelper.CreateQueryParser().GetParsedQuery(expression);

            var queryGenerationContext = new N1QlQueryGenerationContext()
            {
                MemberNameResolver           = MemberNameResolver,
                MethodCallTranslatorProvider = new DefaultMethodCallTranslatorProvider(),
                Serializer             = new Core.Serialization.DefaultSerializer(),
                SelectDocumentMetadata = selectDocumentMetadata,
                ClusterVersion         = clusterVersion
            };

            var visitor = new N1QlQueryModelVisitor(queryGenerationContext);

            visitor.VisitQueryModel(queryModel);
            return(visitor.GetQuery());
        }
        internal virtual IQueryable <T> CreateQueryable <T>(string bucketName, IBucketQueryExecutor queryExecutor)
        {
            var mockBucket = new Mock <IBucket>();

            mockBucket.SetupGet(e => e.Name).Returns(bucketName);

            var serializer = new Core.Serialization.DefaultSerializer();

            var bucketContext = new Mock <IBucketContext>();

            bucketContext.SetupGet(p => p.Bucket).Returns(mockBucket.Object);
            bucketContext.SetupGet(p => p.Configuration).Returns(new ClientConfiguration
            {
                Serializer = () => serializer
            });

            return(new BucketQueryable <T>(mockBucket.Object,
                                           QueryParserHelper.CreateQueryParser(bucketContext.Object), queryExecutor));
        }
Esempio n. 7
0
        internal virtual IQueryable <T> CreateQueryable <T>(string bucketName, IAsyncQueryExecutor queryExecutor)
        {
            var mockCluster = new Mock <ICluster>();

            mockCluster
            .Setup(p => p.ClusterServices)
            .Returns(ServiceProvider);

            var mockBucket = new Mock <IBucket>();

            mockBucket.SetupGet(e => e.Name).Returns(bucketName);
            mockBucket.SetupGet(e => e.Cluster).Returns(mockCluster.Object);

            var mockCollection = new Mock <ICouchbaseCollection>();

            mockCollection
            .SetupGet(p => p.Scope.Bucket)
            .Returns(mockBucket.Object);

            return(new CollectionQueryable <T>(mockCollection.Object,
                                               QueryParserHelper.CreateQueryParser(mockCluster.Object), queryExecutor));
        }