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 {
|
if err := db.SetNegative("expires-now", -time.Second); err != nil {
|
||||||
t.Fatalf("SetNegative: %v", err)
|
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 {
|
if err := db.ExpireNegatives(); err != nil {
|
||||||
t.Fatalf("ExpireNegatives: %v", err)
|
t.Fatalf("ExpireNegatives: %v", err)
|
||||||
}
|
}
|
||||||
|
neg, _ = db.IsNegative("expires-now")
|
||||||
neg, _ := db.IsNegative("expires-now")
|
|
||||||
if neg {
|
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