public static void TestManualInvalidation(string method) { // setup var mocks = new MockRepository(); var entityTagStore = mocks.StrictMock<IEntityTagStore>(); var cachingHandler = new CachingHandler(new HttpConfiguration(), entityTagStore) { }; entityTagStore.Expect(x => x.RemoveResource("/api/stuff/")).Return(1); entityTagStore.Expect(x => x.RemoveResource("/api/more/")).Return(1); mocks.ReplayAll(); // run cachingHandler.InvalidateResource(new HttpRequestMessage(new HttpMethod(method), new Uri(TestUrl))); cachingHandler.InvalidateResource(new HttpRequestMessage(new HttpMethod(method), new Uri(TestUrl2))); // verify mocks.VerifyAll(); }
public static void TestManualInvalidation(string method) { // setup var mocks = new MockRepository(); string routePattern1 = "http://myserver/api/stuffs/*"; string routePattern2 = "http://myserver/api/more/*"; var entityTagStore = mocks.StrictMock<IEntityTagStore>(); var linkedUrls = new[] { "url1", "url2" }; var cachingHandler = new CachingHandler(new HttpConfiguration(), entityTagStore) { LinkedRoutePatternProvider = (req) => linkedUrls, }; entityTagStore.Expect(x => x.RemoveResource("/api/stuff/")).Return(1); entityTagStore.Expect(x => x.RemoveResource("/api/more/")).Return(1); mocks.ReplayAll(); // run cachingHandler.InvalidateResource(new HttpRequestMessage(new HttpMethod(method), new Uri(TestUrl))); cachingHandler.InvalidateResource(new HttpRequestMessage(new HttpMethod(method), new Uri(TestUrl2))); // verify mocks.VerifyAll(); }