public async Task WhenIGetTheContentSummariesForSlugWithLimitAndContinuationTokenAndCallIt(string slug, int limit, string continuationToken, string contentSummariesName) { IContentStore store = ContentManagementCosmosContainerBindings.GetContentStore(this.featureContext); ContentSummaries summaries = await store.GetContentSummariesAsync(SpecHelpers.ParseSpecValue <string>(this.scenarioContext, slug), limit, SpecHelpers.ParseSpecValue <string>(this.scenarioContext, continuationToken)).ConfigureAwait(false); this.scenarioContext.Set(summaries, contentSummariesName); }
public void ThenTheContentSummariesCalledShouldMatch(string contentSummariesName, Table table) { ContentSummaries summaries = this.scenarioContext.Get <ContentSummaries>(contentSummariesName); var expected = table.Rows.Select(s => this.scenarioContext.Get <Content>(s["ContentName"])).ToList(); ContentSpecHelpers.MatchSummariesToContent(expected, summaries); }
public async Task <OpenApiResult> GetContentHistory(string tenantId, string slug, int?limit, string continuationToken, string ifNoneMatch) { IContentStore contentStore = await this.contentStoreFactory.GetContentStoreForTenantAsync(tenantId).ConfigureAwait(false); ContentSummaries result = await contentStore.GetContentSummariesAsync(slug, limit ?? 20, continuationToken).ConfigureAwait(false); string resultEtag = EtagHelper.BuildEtag(nameof(ContentSummary), result.Summaries.Select(x => x.ETag).ToArray()); // If the etag in the result matches ifNoneMatch then we return 304 Not Modified if (EtagHelper.IsMatch(ifNoneMatch, resultEtag)) { return(this.NotModifiedResult()); } var mappingContext = new ContentSummariesResponseMappingContext { ContinuationToken = continuationToken, Limit = limit, Slug = slug, TenantId = tenantId, }; HalDocument resultDocument = this.contentSummariesMapper.Map(result, mappingContext); OpenApiResult response = this.OkResult(resultDocument); response.Results.Add(HeaderNames.ETag, resultEtag); return(response); }