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()); }
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)); }