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

Function no_cache_mode

http-cache-tower/src/test.rs:190–224  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

188
189 #[tokio::test]
190 async fn no_cache_mode() -> Result<()> {
191 let cache_dir = tempfile::tempdir()?;
192 let manager =
193 CACacheManager::new(cache_dir.path().to_path_buf(), false);
194 let cache = HttpCache {
195 mode: CacheMode::NoCache,
196 manager: manager.clone(),
197 options: HttpCacheOptions::default(),
198 };
199 let cache_layer = HttpCacheLayer::with_cache(cache);
200
201 let test_service = TestService::new(
202 StatusCode::OK,
203 vec![("cache-control", CACHEABLE_PUBLIC)],
204 TEST_BODY,
205 );
206 let mut cached_service = cache_layer.layer(test_service);
207
208 let request = Request::builder()
209 .method("GET")
210 .uri("http://example.com/test")
211 .body(Full::new(Bytes::new()))
212 .unwrap();
213
214 // First request
215 let response =
216 cached_service.ready().await?.call(request.clone()).await?;
217 assert_eq!(response.status(), StatusCode::OK);
218
219 // Second request - should revalidate (NoCache mode)
220 let response = cached_service.ready().await?.call(request).await?;
221 assert_eq!(response.status(), StatusCode::OK);
222
223 Ok(())
224 }
225
226 #[tokio::test]
227 async fn force_cache_mode() -> Result<()> {

Callers

nothing calls this directly

Calls 5

cloneMethod · 0.80
bodyMethod · 0.80
layerMethod · 0.45
methodMethod · 0.45
callMethod · 0.45

Tested by

no test coverage detected