feat: add jikan cache stats query
This commit is contained in:
@@ -86,6 +86,33 @@ func TestGetWithCacheAllowsEmptySearchResults(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestGetJikanCacheStatsCountsRowsAndExpiry(t *testing.T) {
|
||||
sqlDB := newTestCacheDB(t)
|
||||
defer func() {
|
||||
if err := sqlDB.Close(); err != nil {
|
||||
t.Errorf("close sqlite: %v", err)
|
||||
}
|
||||
}()
|
||||
|
||||
oldest := time.Date(2026, 6, 20, 12, 0, 0, 0, time.UTC)
|
||||
insertCachedResponse(t, sqlDB, "expired", TopAnimeResponse{Data: []Anime{{MalID: 1}}}, oldest)
|
||||
insertCachedResponse(t, sqlDB, "fresh", TopAnimeResponse{Data: []Anime{{MalID: 2}}}, time.Now().Add(time.Hour))
|
||||
|
||||
stats, err := db.New(sqlDB).GetJikanCacheStats(context.Background())
|
||||
if err != nil {
|
||||
t.Fatalf("GetJikanCacheStats: %v", err)
|
||||
}
|
||||
if stats.TotalRows != 2 {
|
||||
t.Fatalf("TotalRows = %d, want 2", stats.TotalRows)
|
||||
}
|
||||
if stats.ExpiredRows != 1 {
|
||||
t.Fatalf("ExpiredRows = %d, want 1", stats.ExpiredRows)
|
||||
}
|
||||
if stats.OldestExpiresAtSeconds != oldest.Unix() {
|
||||
t.Fatalf("OldestExpiresAtSeconds = %d, want %d", stats.OldestExpiresAtSeconds, oldest.Unix())
|
||||
}
|
||||
}
|
||||
|
||||
func newTestCacheDB(t *testing.T) *sql.DB {
|
||||
t.Helper()
|
||||
ctx := context.Background()
|
||||
|
||||
Reference in New Issue
Block a user