示例#1
0
        public void FeedRangePK_RequestVisitor()
        {
            PartitionKey          partitionKey          = new PartitionKey("test");
            FeedRangePartitionKey feedRangePartitionKey = new FeedRangePartitionKey(partitionKey);
            RequestMessage        requestMessage        = new RequestMessage();
            FeedRangeRequestMessagePopulatorVisitor feedRangeVisitor = new FeedRangeRequestMessagePopulatorVisitor(requestMessage);

            feedRangePartitionKey.Accept(feedRangeVisitor);
            Assert.AreEqual(partitionKey.InternalKey.ToJsonString(), requestMessage.Headers.PartitionKey);
            Assert.IsFalse(requestMessage.IsPartitionKeyRangeHandlerRequired);
        }
示例#2
0
        public void FeedRangeEPK_RequestVisitor()
        {
            Documents.Routing.Range <string> range = new Documents.Routing.Range <string>("AA", "BB", true, false);
            FeedRangeEpk   feedRange      = new FeedRangeEpk(range);
            RequestMessage requestMessage = new RequestMessage();
            FeedRangeRequestMessagePopulatorVisitor feedRangeVisitor = new FeedRangeRequestMessagePopulatorVisitor(requestMessage);

            feedRange.Accept(feedRangeVisitor);
            Assert.AreEqual(2, requestMessage.Properties.Count);
            Assert.AreEqual("AA", requestMessage.Properties[HandlerConstants.StartEpkString]);
            Assert.AreEqual("BB", requestMessage.Properties[HandlerConstants.EndEpkString]);
        }
示例#3
0
        public void FeedRangePKRangeId_RequestVisitor()
        {
            Documents.PartitionKeyRange partitionKeyRange = new Documents.PartitionKeyRange()
            {
                Id = Guid.NewGuid().ToString(), MinInclusive = "AA", MaxExclusive = "BB"
            };
            FeedRangePartitionKeyRange feedRangePartitionKeyRange    = new FeedRangePartitionKeyRange(partitionKeyRange.Id);
            RequestMessage             requestMessage                = new RequestMessage();
            FeedRangeRequestMessagePopulatorVisitor feedRangeVisitor = new FeedRangeRequestMessagePopulatorVisitor(requestMessage);

            feedRangePartitionKeyRange.Accept(feedRangeVisitor);
            Assert.IsNotNull(requestMessage.PartitionKeyRangeId);
            Assert.IsFalse(requestMessage.IsPartitionKeyRangeHandlerRequired);
        }
 public ChangeFeedStartFromRequestOptionPopulator(RequestMessage requestMessage)
 {
     this.requestMessage   = requestMessage ?? throw new ArgumentNullException(nameof(requestMessage));
     this.feedRangeVisitor = new FeedRangeRequestMessagePopulatorVisitor(requestMessage);
 }