0.2.79 - Slow api fixes
This commit is contained in:
Vendored
+29
@@ -0,0 +1,29 @@
|
||||
package cache
|
||||
|
||||
import "testing"
|
||||
|
||||
// The index name is derived from the key rather than passed in, so this is the whole of
|
||||
// what stands between a user-scoped write and an invalidation that misses it.
|
||||
func TestUserIndexFor(t *testing.T) {
|
||||
cases := []struct {
|
||||
name string
|
||||
key string
|
||||
want string
|
||||
}{
|
||||
{"user view", UserKey("abc123", "home:v4:24"), "idx:u:abc123"},
|
||||
{"view containing colons", UserKey("abc123", "item:v6:9f:2"), "idx:u:abc123"},
|
||||
{"recommendations are deliberately outside the namespace", RecommendationsKey("abc"), ""},
|
||||
{"magic pool likewise", MagicPoolKey("abc"), ""},
|
||||
{"household metadata belongs to nobody", MetadataKey("person:v2:44"), ""},
|
||||
{"a session is not a view", SessionKey("deadbeef"), ""},
|
||||
{"a malformed user key indexes nothing rather than guessing", "u:", ""},
|
||||
{"a user key with no view is not a view either", "u:abc", ""},
|
||||
}
|
||||
for _, test := range cases {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
if got := userIndexFor(test.key); got != test.want {
|
||||
t.Fatalf("userIndexFor(%q) = %q, want %q", test.key, got, test.want)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user