private void FeedRange_PartitionKey_Validate(PartitionKey partitionKey) { string continuationToken = "TBD"; string containerRid = Guid.NewGuid().ToString(); FeedRangePartitionKey feedTokenPartitionKey = new FeedRangePartitionKey(partitionKey); FeedRangeCompositeContinuation feedRangeSimpleContinuation = new FeedRangeCompositeContinuation(containerRid, feedTokenPartitionKey, new List <Documents.Routing.Range <string> >() { Documents.Routing.Range <string> .GetEmptyRange("AA") }, continuationToken); string serialized = feedRangeSimpleContinuation.ToString(); Assert.IsTrue(FeedRangeContinuation.TryParse(serialized, out FeedRangeContinuation deserialized)); FeedRangeCompositeContinuation deserializedContinuation = deserialized as FeedRangeCompositeContinuation; FeedRangePartitionKey deserializedFeedRange = deserializedContinuation.FeedRange as FeedRangePartitionKey; Assert.AreEqual(feedTokenPartitionKey.PartitionKey.ToJsonString(), deserializedFeedRange.PartitionKey.ToJsonString()); Assert.AreEqual(continuationToken, deserializedContinuation.GetContinuation()); }
public async Task FeedRange_EPK_Serialization() { string continuation = "TBD"; string containerRid = Guid.NewGuid().ToString(); List <FeedRange> ranges = (await this.Container.GetFeedRangesAsync()).ToList(); List <string> serializations = new List <string>(); List <FeedRangeCompositeContinuation> tokens = new List <FeedRangeCompositeContinuation>(); foreach (FeedRange range in ranges) { FeedRangeEpk feedRangeEPK = range as FeedRangeEpk; FeedRangeCompositeContinuation feedRangeCompositeContinuation = new FeedRangeCompositeContinuation(containerRid, feedRangeEPK, new List <Documents.Routing.Range <string> >() { feedRangeEPK.Range }, continuation); tokens.Add(feedRangeCompositeContinuation); serializations.Add(feedRangeCompositeContinuation.ToString()); } List <FeedRangeContinuation> deserialized = new List <FeedRangeContinuation>(); foreach (string serialized in serializations) { Assert.IsTrue(FeedRangeContinuation.TryParse(serialized, out FeedRangeContinuation token)); deserialized.Add(token); } Assert.AreEqual(tokens.Count, deserialized.Count); for (int i = 0; i < tokens.Count; i++) { FeedRangeCompositeContinuation originalToken = tokens[i] as FeedRangeCompositeContinuation; FeedRangeCompositeContinuation deserializedToken = deserialized[i] as FeedRangeCompositeContinuation; Assert.AreEqual(originalToken.GetContinuation(), deserializedToken.GetContinuation()); Assert.AreEqual(originalToken.ContainerRid, deserializedToken.ContainerRid); Assert.AreEqual(originalToken.CompositeContinuationTokens.Count, deserializedToken.CompositeContinuationTokens.Count); Assert.AreEqual(originalToken.CompositeContinuationTokens.Peek().Token, deserializedToken.CompositeContinuationTokens.Peek().Token); Assert.AreEqual(originalToken.CompositeContinuationTokens.Peek().Range.Min, deserializedToken.CompositeContinuationTokens.Peek().Range.Min); Assert.AreEqual(originalToken.CompositeContinuationTokens.Peek().Range.Max, deserializedToken.CompositeContinuationTokens.Peek().Range.Max); Assert.AreEqual(originalToken.CompositeContinuationTokens.Peek().Range.IsMinInclusive, deserializedToken.CompositeContinuationTokens.Peek().Range.IsMinInclusive); Assert.AreEqual(originalToken.CompositeContinuationTokens.Peek().Range.IsMaxInclusive, deserializedToken.CompositeContinuationTokens.Peek().Range.IsMaxInclusive); } }
public async Task FeedRange_PKRangeId_Serialization() { string continuationToken = "TBD"; string containerRid = Guid.NewGuid().ToString(); DocumentFeedResponse <Documents.PartitionKeyRange> ranges = await this.Container.ClientContext.DocumentClient.ReadPartitionKeyRangeFeedAsync(this.Container.LinkUri); Documents.PartitionKeyRange oneRange = ranges.First(); FeedRangePartitionKeyRange original = new FeedRangePartitionKeyRange(oneRange.Id); FeedRangeCompositeContinuation feedRangeSimpleContinuation = new FeedRangeCompositeContinuation(containerRid, original, new List <Documents.Routing.Range <string> >() { oneRange.ToRange() }, continuationToken); string serialized = feedRangeSimpleContinuation.ToString(); Assert.IsTrue(FeedRangeContinuation.TryParse(serialized, out FeedRangeContinuation feedRangeContinuation)); FeedRangeCompositeContinuation deserialized = feedRangeContinuation as FeedRangeCompositeContinuation; FeedRangePartitionKeyRange deserializedFeedRange = deserialized.FeedRange as FeedRangePartitionKeyRange; Assert.IsNotNull(deserialized, "Error deserializing to FeedRangePartitionKeyRange"); Assert.AreEqual(original.PartitionKeyRangeId, deserializedFeedRange.PartitionKeyRangeId); Assert.AreEqual(continuationToken, deserialized.GetContinuation()); }