MCPcopy Create free account
hub / github.com/MaterializeInc/materialize / test_invalidate

Function test_invalidate

src/secrets/src/cache.rs:341–364  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

339
340 #[mz_ore::test(tokio::test)]
341 async fn test_invalidate() {
342 let controller = InMemorySecretsController::new();
343 let testing_reader = TestingSecretsReader::new(controller.reader());
344 let caching_reader = CachingSecretsReader::new(Arc::new(testing_reader.clone()));
345
346 let secret = [42, 42, 42, 42];
347 let id = CatalogItemId::User(1);
348
349 controller.ensure(id, &secret).await.expect("success");
350 caching_reader.read(id).await.expect("success");
351
352 caching_reader.read(id).await.expect("success");
353 let reads = testing_reader.drain();
354 assert_eq!(reads.len(), 1);
355
356 assert!(caching_reader.invalidate(id));
357
358 caching_reader.read(id).await.expect("success");
359 let reads = testing_reader.drain();
360 assert_eq!(reads.len(), 1);
361 assert_eq!(reads[0], id);
362
363 assert!(!caching_reader.invalidate(CatalogItemId::User(999)));
364 }
365
366 /// A "secrets controller" that logs all of the actions it takes and allows us to inject
367 /// failures. Used to test the implementation of our caching secrets controller.

Callers

nothing calls this directly

Calls 7

expectMethod · 0.80
UserClass · 0.50
readerMethod · 0.45
cloneMethod · 0.45
ensureMethod · 0.45
readMethod · 0.45
drainMethod · 0.45

Tested by

no test coverage detected