public void should_return_stop_and_write_304_response_code_if_the_ifnonematch_header_matches_the_current_etag() { setRequestIfNoneMatch("12345"); theCache.Register(theHash, new Header[] { new Header(HttpResponseHeader.ETag, "12345"), }); theFilter.Filter(theServiceArguments).ShouldEqual(DoNext.Stop); theServiceArguments.Get <IHttpWriter>() .AssertWasCalled(x => x.WriteResponseCode(HttpStatusCode.NotModified)); }
public void register_saves_a_copy_of_the_enumerable_and_not_the_same() { var headers = new Header[] { new Header("a", "1"), new Header("b", "2"), new Header("c", "3") }; var hash = Guid.NewGuid().ToString(); var cache = new HeadersCache(); cache.Register(hash, headers); cache.Current(hash).ShouldNotBeTheSameAs(headers); }
public void register_and_fetch() { var headers = new Header[] { new Header("a", "1"), new Header("b", "2"), new Header("c", "3") }; var hash = Guid.NewGuid().ToString(); var cache = new HeadersCache(); cache.Register(hash, headers); cache.Current(hash).ShouldHaveTheSameElementsAs(headers); }
public void eject_clears_it_out() { var headers = new Header[] { new Header("a", "1"), new Header("b", "2"), new Header("c", "3") }; var hash = Guid.NewGuid().ToString(); var cache = new HeadersCache(); cache.Register(hash, headers); cache.Eject(hash); cache.Current(hash).Any().ShouldBeFalse(); }