cache: test IsNegative SQL time predicate independently of ExpireNegatives
Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: Ia298cc902d972a589d47de247e447d686a6a6964
This commit is contained in:
parent
b0ea022dc2
commit
8f949215bb
1 changed files with 14 additions and 3 deletions
17
internal/cache/db_test.go
vendored
17
internal/cache/db_test.go
vendored
|
|
@ -219,13 +219,24 @@ func TestNegativeCacheExpiry(t *testing.T) {
|
|||
if err := db.SetNegative("expires-now", -time.Second); err != nil {
|
||||
t.Fatalf("SetNegative: %v", err)
|
||||
}
|
||||
|
||||
// IsNegative must filter expired entries via the inline SQL predicate,
|
||||
// even before ExpireNegatives cleans them up.
|
||||
neg, err := db.IsNegative("expires-now")
|
||||
if err != nil {
|
||||
t.Fatalf("IsNegative for expired entry: %v", err)
|
||||
}
|
||||
if neg {
|
||||
t.Error("IsNegative should return false for an already-expired entry (SQL time predicate)")
|
||||
}
|
||||
|
||||
// Janitor cleanup should also work.
|
||||
if err := db.ExpireNegatives(); err != nil {
|
||||
t.Fatalf("ExpireNegatives: %v", err)
|
||||
}
|
||||
|
||||
neg, _ := db.IsNegative("expires-now")
|
||||
neg, _ = db.IsNegative("expires-now")
|
||||
if neg {
|
||||
t.Error("expired negative should not be returned")
|
||||
t.Error("expired negative should not be returned after ExpireNegatives")
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue