public void ShouldHaveTodayExpireTime() { // This test depends on a Filter with default cache duration data, but filter could contain mock value from earlier tests OutputCacheVaryByDateFilter.SetCacheDurationToDefaultValues(); var expected = new TimeSpan(0, 0, 5); var uri = string.Format("http://any.where/test/{0}", DateTime.Now.ToString("yyyy-MM-dd")); var routes = new HttpRouteCollection("/"); var route = routes.MapHttpRoute("DefaultApi", "{controller}/{date}"); var routeData = new HttpRouteData(route, new HttpRouteValueDictionary(new { date = DateTime.Now.ToString("yyyy-MM-dd") })); var newContext = GetActionContext(HttpMethod.Get, uri, routeData); Filter.OnActionExecuting(newContext); Assert.IsNull(newContext.Response); //not cached! var reExecuted = GetActionExecutedContext(uri); Filter.OnActionExecuted(reExecuted); Assert.AreEqual(expected, reExecuted.Response.Headers.CacheControl.MaxAge); }
public void SetUp() { ClearCache(); Filter = new OutputCacheVaryByDateFilter(); Filter.OnActionExecuted(executedContext); }