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);
 }