MCPcopy Create free account
hub / github.com/couchbase/sync_gateway / TestMetadataKeyHash

Function TestMetadataKeyHash

base/constants_syncdocs_test.go:66–90  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

64}
65
66func TestMetadataKeyHash(t *testing.T) {
67 defaultMetadataKeys := NewMetadataKeys("")
68 customMetadataKeys := NewMetadataKeys("foo")
69
70 // normal user name
71 bob := "bob"
72 require.Equal(t, "_sync:user:bob", defaultMetadataKeys.UserKey(bob))
73 require.Equal(t, "_sync:user:foo:bob", customMetadataKeys.UserKey(bob))
74
75 // username one less than hash length
76 user39 := strings.Repeat("b", 39)
77 require.Equal(t, "_sync:user:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", defaultMetadataKeys.UserKey(user39))
78 require.Equal(t, "_sync:user:foo:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", customMetadataKeys.UserKey(user39))
79
80 // username equal to hash length
81 user40 := strings.Repeat("b", 40)
82 require.Equal(t, "_sync:user:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", defaultMetadataKeys.UserKey(user40))
83 require.Equal(t, "_sync:user:foo:56e892b750b146f39a486af8c31d555e9c771b3e", customMetadataKeys.UserKey(user40))
84
85 // make sure hashed user won't get rehashed
86 hashedUser := "56e892b750b146f39a486af8c31d555e9c771b3e"
87 require.Equal(t, "_sync:user:56e892b750b146f39a486af8c31d555e9c771b3e", defaultMetadataKeys.UserKey(hashedUser))
88 require.Equal(t, "_sync:user:foo:afbf3a596bfe3e6687240e011bfccafd51611052", customMetadataKeys.UserKey(hashedUser))
89
90}
91
92// Verify that upgrading from non-versioned to versioned keys doesn't change the checkpoints when the version hasn't been incremented
93func TestDCPMetadataKeyUpgrade(t *testing.T) {

Callers

nothing calls this directly

Calls 3

UserKeyMethod · 0.95
NewMetadataKeysFunction · 0.85
EqualMethod · 0.45

Tested by

no test coverage detected