MCPcopy Create free account
hub / github.com/devnullvoid/pvetui / testCachePersistence

Function testCachePersistence

test/integration/cache_integration_test.go:402–433  ·  view source on GitHub ↗

testCachePersistence tests cache persistence (only for persistent caches like Badger).

(t *testing.T, cacheDir string)

Source from the content-addressed store, hash-verified

400
401// testCachePersistence tests cache persistence (only for persistent caches like Badger).
402func testCachePersistence(t *testing.T, cacheDir string) {
403 key := "persistence-test"
404 value := "persisted-value"
405
406 // Create first cache instance
407 cache1, err := cache.NewBadgerCache(cacheDir)
408 require.NoError(t, err)
409
410 // Set value
411 err = cache1.Set(key, value, time.Hour)
412 require.NoError(t, err)
413
414 // Close first instance
415 cache1.Close()
416 time.Sleep(200 * time.Millisecond)
417
418 // Create second cache instance (should read from same directory)
419 cache2, err := cache.NewBadgerCache(cacheDir)
420 if err != nil {
421 t.Logf("Skipping persistence test: %v", err)
422
423 return
424 }
425 defer cache2.Close()
426
427 // Get value - should be persisted
428 var result string
429 found, err := cache2.Get(key, &result)
430 require.NoError(t, err)
431 assert.True(t, found, "Value should persist across cache instances")
432 assert.Equal(t, value, result)
433}
434
435// TestCacheIntegration_ErrorHandling tests error handling scenarios.
436func TestCacheIntegration_ErrorHandling(t *testing.T) {

Callers 1

Calls 4

SetMethod · 0.95
CloseMethod · 0.95
GetMethod · 0.95
NewBadgerCacheFunction · 0.92

Tested by

no test coverage detected