public void WhenPresentedWithResouceIdForNonCurrentFeedReturnsAccessorThatGetsArchiveFeedFromStore() { IStore store = CreateStubStore(); IFeedMappings feedMappings = new FeedMappings(IdConverter, new ResourceId(CurrentFeedResourceId), new StoreId<string>(CurrentFeedStoreId)); Func<IStore, IRepresentation> accessor = feedMappings.CreateFeedAccessor(new ResourceId(ArchiveFeedResourceId)); IRepresentation representation = accessor.Invoke(store); Output output = Output.For(representation); Assert.AreEqual("max-age=10000", output.CacheControl); Assert.AreEqual(StreamBackedRepresentation.CreateArchiveFeed().GetContents(), output.EntityBody); }
public void ShouldReturnAccessorForFeedOfRecentEvents() { IStore store = CreateStubStore(); IFeedMappings feedMappings = new FeedMappings(IdConverter, new ResourceId(CurrentFeedResourceId), new StoreId<string>(CurrentFeedStoreId)); Func<IStore, IRepresentation> accessor = feedMappings.CreateFeedOfRecentEventsAccessor(); IRepresentation representation = accessor.Invoke(store); Output output = Output.For(representation); Assert.AreEqual("max-age=10", output.CacheControl); Assert.AreEqual(StreamBackedRepresentation.CreateCurrentFeed().GetContents(), output.EntityBody); }
public void WhenPresentedWithResouceIdForCurrentFeedReturnsAccessorThatGetsCurrentFeedFromStore() { IStore store = CreateStubStore(); IFeedMappings feedMappings = new FeedMappings(IdConverter, new ResourceId(CurrentFeedResourceId), new StoreId<string>(CurrentFeedStoreId)); Func<IStore, IRepresentation> accessor = feedMappings.CreateFeedAccessor(new ResourceId(CurrentFeedResourceId)); IRepresentation result = accessor.Invoke(store); Output output = Output.For(result); Assert.AreEqual("max-age=10", output.CacheControl); SyndicationFeed recent = SyndicationFeed.Load(XmlReader.Create(ResourceStreams.CurrentFeed())); SyndicationFeed current = SyndicationFeed.Load(XmlReader.Create(new StringReader(output.EntityBody))); Assert.IsNull(current.GetViaLink()); Assert.AreEqual(recent.GetViaLink().GetAbsoluteUri(), current.GetSelfLink().GetAbsoluteUri()); }