MCPcopy Create free account
hub / github.com/06chaynes/http-cache / patch_request_invalidates_cache

Function patch_request_invalidates_cache

http-cache-quickcache/src/test.rs:284–338  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

282
283#[tokio::test]
284async fn patch_request_invalidates_cache() -> Result<()> {
285 let mock_server = MockServer::start().await;
286
287 let m_get = Mock::given(method("GET"))
288 .respond_with(
289 ResponseTemplate::new(200)
290 .insert_header("cache-control", CACHEABLE_PUBLIC)
291 .set_body_bytes(TEST_BODY),
292 )
293 .expect(1);
294
295 let m_patch = Mock::given(method("PATCH"))
296 .respond_with(ResponseTemplate::new(200))
297 .expect(1);
298
299 let mock_guard_get = mock_server.register_as_scoped(m_get).await;
300 let url = format!("{}/", mock_server.uri());
301 let manager = QuickManager::default();
302
303 let client = ClientBuilder::new(Client::new())
304 .with(Cache(HttpCache {
305 mode: CacheMode::Default,
306 manager: manager.clone(),
307 options: HttpCacheOptions::default(),
308 }))
309 .build();
310
311 // Cache a GET response
312 client.get(url.clone()).send().await?;
313
314 // Verify it's cached
315 let data = http_cache::CacheManager::get(
316 &manager,
317 &format!("GET:{}", url_parse(&url)?),
318 )
319 .await?;
320 assert!(data.is_some());
321
322 drop(mock_guard_get);
323 let _mock_guard_patch = mock_server.register_as_scoped(m_patch).await;
324
325 // PATCH request should invalidate cache
326 let patch_res = client.patch(url.clone()).send().await?;
327 assert_eq!(patch_res.status(), 200);
328
329 // Verify cache was invalidated
330 let data = http_cache::CacheManager::get(
331 &manager,
332 &format!("GET:{}", url_parse(&url)?),
333 )
334 .await?;
335 assert!(data.is_none());
336
337 Ok(())
338}
339
340#[tokio::test]
341async fn delete_request_invalidates_cache() -> Result<()> {

Callers

nothing calls this directly

Calls 4

buildMethod · 0.80
cloneMethod · 0.80
CacheClass · 0.50
getMethod · 0.45

Tested by

no test coverage detected