public void FeedToken_PartitionKey_TryParse() { FeedTokenPartitionKey token = new FeedTokenPartitionKey(new PartitionKey("test")); Assert.IsTrue(FeedTokenPartitionKey.TryParseInstance(token.ToString(), out FeedToken parsed)); Assert.IsFalse(FeedTokenPartitionKey.TryParseInstance("whatever", out FeedToken _)); }
public void FeedToken_PartitionKeyRange_TryParse() { FeedTokenPartitionKeyRange token = new FeedTokenPartitionKeyRange("0"); Assert.IsTrue(FeedTokenPartitionKeyRange.TryParseInstance(token.ToString(), out FeedToken parsed)); Assert.IsTrue(FeedTokenPartitionKeyRange.TryParseInstance("1", out FeedToken _)); Assert.IsFalse(FeedTokenPartitionKey.TryParseInstance("whatever", out FeedToken _)); }
public void FeedToken_PartitionKey_IsDone() { PartitionKey pk = new PartitionKey("test"); FeedTokenPartitionKey token = new FeedTokenPartitionKey(pk); token.UpdateContinuation(Guid.NewGuid().ToString()); Assert.IsFalse(token.IsDone); token.UpdateContinuation(null); Assert.IsTrue(token.IsDone); }
public void FeedToken_PartitionKey_EnrichRequest() { PartitionKey pk = new PartitionKey("test"); FeedTokenPartitionKey token = new FeedTokenPartitionKey(pk); RequestMessage requestMessage = new RequestMessage(); token.EnrichRequest(requestMessage); Assert.AreEqual(pk.ToJsonString(), requestMessage.Headers.PartitionKey); Assert.ThrowsException <ArgumentNullException>(() => token.EnrichRequest(null)); }
public void IsFeedOperation_ForFeedTokenPartitionKey() { RequestMessage request = new RequestMessage(); request.OperationType = OperationType.ReadFeed; request.ResourceType = ResourceType.Document; FeedTokenInternal feedTokenEPKRange = new FeedTokenPartitionKey(new Cosmos.PartitionKey("0")); feedTokenEPKRange.EnrichRequest(request); Assert.IsFalse(request.IsPartitionKeyRangeHandlerRequired); }
private void FeedToken_PartitionKey_Validate(PartitionKey partitionKey) { string continuationToken = "TBD"; FeedTokenPartitionKey feedTokenPartitionKey = new FeedTokenPartitionKey(partitionKey); feedTokenPartitionKey.UpdateContinuation(continuationToken); string serialized = feedTokenPartitionKey.ToString(); FeedToken deserialized = FeedToken.FromString(serialized); FeedTokenPartitionKey deserializedFeedToken = deserialized as FeedTokenPartitionKey; Assert.IsNotNull(deserialized, "Error deserializing to FeedTokenPartitionKey"); Assert.AreEqual(feedTokenPartitionKey.PartitionKey.ToJsonString(), deserializedFeedToken.PartitionKey.ToJsonString()); Assert.AreEqual(continuationToken, deserializedFeedToken.GetContinuation()); }
public async Task GetPartitionKeyRangesAsync_WithPKToken() { DocumentFeedResponse <Documents.PartitionKeyRange> ranges = await this.Container.ClientContext.DocumentClient.ReadPartitionKeyRangeFeedAsync(this.Container.LinkUri); FeedToken feedToken = new FeedTokenPartitionKey(new PartitionKey("TBD")); List <string> resolvedRanges = (await this.Container.GetPartitionKeyRangesAsync(feedToken)).ToList(); Assert.AreEqual(1, resolvedRanges.Count, "PK value should resolve to a single range"); foreach (string id in resolvedRanges) { Assert.IsTrue(ranges.Any(range => range.Id == id)); } }