diff --git a/test/Microsoft.AspNet.Mvc.FunctionalTests/ResponseCacheTest.cs b/test/Microsoft.AspNet.Mvc.FunctionalTests/ResponseCacheTest.cs index d638476e91..6e9b01764a 100644 --- a/test/Microsoft.AspNet.Mvc.FunctionalTests/ResponseCacheTest.cs +++ b/test/Microsoft.AspNet.Mvc.FunctionalTests/ResponseCacheTest.cs @@ -244,6 +244,23 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests Assert.Equal("public, max-age=10", data); } + [Fact] + public async Task ResponseCache_FallbackToFilter_IfNoAttribute() + { + // Arrange + var server = TestHelper.CreateServer(_app, SiteName, _configureServices); + var client = server.CreateClient(); + + // Act + var response = await client.GetAsync("http://localhost/CacheProfiles/FallbackToFilter"); + + // Assert + var data = Assert.Single(response.Headers.GetValues("Cache-control")); + Assert.Equal("no-store", data); + data = Assert.Single(response.Headers.GetValues("Vary")); + Assert.Equal("TestDefault", data); + } + [Fact] public async Task ResponseCacheAttribute_OnAction_OverridesTheValuesOnClass() { diff --git a/test/WebSites/ResponseCacheWebSite/Controllers/CacheProfilesController.cs b/test/WebSites/ResponseCacheWebSite/Controllers/CacheProfilesController.cs index a7f31f3c71..4412b65f89 100644 --- a/test/WebSites/ResponseCacheWebSite/Controllers/CacheProfilesController.cs +++ b/test/WebSites/ResponseCacheWebSite/Controllers/CacheProfilesController.cs @@ -41,5 +41,11 @@ namespace ResponseCacheWebSite.Controllers { return "Hello World!"; } + + [HttpGet("/CacheProfiles/FallbackToFilter")] + public string FallbackToFilter() + { + return "Hello World!"; + } } } \ No newline at end of file diff --git a/test/WebSites/ResponseCacheWebSite/Startup.cs b/test/WebSites/ResponseCacheWebSite/Startup.cs index 51c603bd20..a030811727 100644 --- a/test/WebSites/ResponseCacheWebSite/Startup.cs +++ b/test/WebSites/ResponseCacheWebSite/Startup.cs @@ -36,6 +36,12 @@ namespace ResponseCacheWebSite Duration = 0, Location = ResponseCacheLocation.None }); + + options.Filters.Add(new ResponseCacheFilter(new CacheProfile + { + NoStore = true, + VaryByHeader = "TestDefault", + })); }); }