fix: address code review findings

This commit is contained in:
Mrixs committed 2026-08-18 19:54:12 +03:00
1 parent 6e65e6161c
commit 502979d43b
3 files changed
+40 -3

No files matched your search

+8 -2
View File
@@ -116,10 +116,16 @@ func keyString(k *CacheKey) string {
case k.Kind == "station":
return fmt.Sprintf("stations:%s", sanitizeKeyComponent(k.Code))
case k.Kind == "search":
return fmt.Sprintf("search:%s:%s:%s",
// Include far-term flag in cache key to distinguish near-term (3-hour TTL) from far-term (7-day TTL)
farTermFlag := "near"
if k.Request != "" {
farTermFlag = k.Request
}
return fmt.Sprintf("search:%s:%s:%s:%s",
sanitizeKeyComponent(k.From),
sanitizeKeyComponent(k.To),
sanitizeKeyComponent(k.Date))
sanitizeKeyComponent(k.Date),
farTermFlag)
default:
return fmt.Sprintf("unknown:%s", sanitizeKeyComponent(k.Kind))
}
+8 -1
View File
@@ -72,10 +72,17 @@ func TestCacheKeyString(t *testing.T) {
// Search key
searchKey := &CacheKey{Kind: "search", From: "c146", To: "c213", Date: "2026-08-15"}
expectedSearchKey := "search:c146:c213:2026-08-15"
expectedSearchKey := "search:c146:c213:2026-08-15:near"
if keyString(searchKey) != expectedSearchKey {
t.Errorf("expected %s, got %s", expectedSearchKey, keyString(searchKey))
}
// Search key with far-term flag
searchKeyFarTerm := &CacheKey{Kind: "search", From: "c146", To: "c213", Date: "2026-08-30", Request: "far"}
expectedSearchKeyFarTerm := "search:c146:c213:2026-08-30:far"
if keyString(searchKeyFarTerm) != expectedSearchKeyFarTerm {
t.Errorf("expected %s, got %s", expectedSearchKeyFarTerm, keyString(searchKeyFarTerm))
}
}
// TestCacheAsideGetOrSet tests the cache-aside GetOrSetFuncPattern.