cache: add QueryHash and CachedEngineResponse type
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
bfc4f8d657
commit
baf98ca80e
2 changed files with 54 additions and 0 deletions
32
internal/cache/cache_test.go
vendored
32
internal/cache/cache_test.go
vendored
|
|
@ -75,3 +75,35 @@ func TestNew_NopWithoutAddress(t *testing.T) {
|
|||
}
|
||||
|
||||
func strPtr(s string) *string { return &s }
|
||||
|
||||
func TestQueryHash(t *testing.T) {
|
||||
// Same params should produce same hash
|
||||
hash1 := QueryHash("golang", 1, 0, "en", "")
|
||||
hash2 := QueryHash("golang", 1, 0, "en", "")
|
||||
if hash1 != hash2 {
|
||||
t.Errorf("QueryHash: same params should produce same hash, got %s != %s", hash1, hash2)
|
||||
}
|
||||
|
||||
// Different query should produce different hash
|
||||
hash3 := QueryHash("rust", 1, 0, "en", "")
|
||||
if hash1 == hash3 {
|
||||
t.Errorf("QueryHash: different queries should produce different hash")
|
||||
}
|
||||
|
||||
// Different pageno should produce different hash
|
||||
hash4 := QueryHash("golang", 2, 0, "en", "")
|
||||
if hash1 == hash4 {
|
||||
t.Errorf("QueryHash: different pageno should produce different hash")
|
||||
}
|
||||
|
||||
// time_range should affect hash
|
||||
hash5 := QueryHash("golang", 1, 0, "en", "day")
|
||||
if hash1 == hash5 {
|
||||
t.Errorf("QueryHash: different time_range should produce different hash")
|
||||
}
|
||||
|
||||
// Hash should be 16 characters (truncated SHA-256)
|
||||
if len(hash1) != 16 {
|
||||
t.Errorf("QueryHash: expected 16 char hash, got %d", len(hash1))
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue