本文整理汇总了Golang中github.com/docker/libkv/store.Store.Exists方法的典型用法代码示例。如果您正苦于以下问题:Golang Store.Exists方法的具体用法?Golang Store.Exists怎么用?Golang Store.Exists使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/docker/libkv/store.Store
的用法示例。
在下文中一共展示了Store.Exists方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: testPutGetDeleteExists
func testPutGetDeleteExists(t *testing.T, kv store.Store) {
// Get a not exist key should return ErrKeyNotFound
pair, err := kv.Get("testPutGetDelete_not_exist_key")
assert.Equal(t, store.ErrKeyNotFound, err)
value := []byte("bar")
for _, key := range []string{
"testPutGetDeleteExists",
"testPutGetDeleteExists/",
"testPutGetDeleteExists/testbar/",
"testPutGetDeleteExists/testbar/testfoobar",
} {
failMsg := fmt.Sprintf("Fail key %s", key)
// Put the key
err = kv.Put(key, value, nil)
assert.NoError(t, err, failMsg)
// Get should return the value and an incremented index
pair, err = kv.Get(key)
assert.NoError(t, err, failMsg)
if assert.NotNil(t, pair, failMsg) {
assert.NotNil(t, pair.Value, failMsg)
}
assert.Equal(t, pair.Value, value, failMsg)
assert.NotEqual(t, pair.LastIndex, 0, failMsg)
// Exists should return true
exists, err := kv.Exists(key)
assert.NoError(t, err, failMsg)
assert.True(t, exists, failMsg)
// Delete the key
err = kv.Delete(key)
assert.NoError(t, err, failMsg)
// Get should fail
pair, err = kv.Get(key)
assert.Error(t, err, failMsg)
assert.Nil(t, pair, failMsg)
// Exists should return false
exists, err = kv.Exists(key)
assert.NoError(t, err, failMsg)
assert.False(t, exists, failMsg)
}
}
示例2: getKV
func getKV(kvs store.Store, setName, bucket, key string) string {
var prefix string
if setName != "" {
prefix = setName
}
if bucket != "" {
prefix = prefix + "/" + bucket
if prefix[len(prefix)-1] != '/' {
prefix += "/"
}
}
if e, err := kvs.Exists(prefix + key); err == nil && e {
pair, err := kvs.Get(prefix + key)
if err != nil {
return ""
}
return string(pair.Value)
}
return ""
}
示例3: testPutGetDeleteExists
func testPutGetDeleteExists(t *testing.T, kv store.Store) {
key := "testfoo"
value := []byte("bar")
// Put the key
err := kv.Put(key, value, nil)
assert.NoError(t, err)
// Get should return the value and an incremented index
pair, err := kv.Get(key)
assert.NoError(t, err)
if assert.NotNil(t, pair) {
assert.NotNil(t, pair.Value)
}
assert.Equal(t, pair.Value, value)
assert.NotEqual(t, pair.LastIndex, 0)
// Get a not exist key should return ErrKeyNotFound
pair, err = kv.Get("/testPutGetDelete_not_exist_key")
assert.Equal(t, store.ErrKeyNotFound, err)
// Exists should return true
exists, err := kv.Exists(key)
assert.NoError(t, err)
assert.True(t, exists)
// Delete the key
err = kv.Delete(key)
assert.NoError(t, err)
// Get should fail
pair, err = kv.Get(key)
assert.Error(t, err)
assert.Nil(t, pair)
// Exists should return false
exists, err = kv.Exists(key)
assert.NoError(t, err)
assert.False(t, exists)
}