testCachePersistence tests cache persistence (only for persistent caches like Badger).
(t *testing.T, cacheDir string)
| 400 | |
| 401 | // testCachePersistence tests cache persistence (only for persistent caches like Badger). |
| 402 | func 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. |
| 436 | func TestCacheIntegration_ErrorHandling(t *testing.T) { |
no test coverage detected