etcd_kv_test.go 807 字节
Newer Older
N
neza2017 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
package kv

import (
	"github.com/stretchr/testify/assert"
	"go.etcd.io/etcd/clientv3"
	"path"
	"testing"
)

func TestEtcdKV_Load(t *testing.T) {
	cli, err := clientv3.New(clientv3.Config{Endpoints: []string{"127.0.0.1:2379"}})
	assert.Nil(t, err)
	kv := NewEtcdKV(cli, "/etcd/test/root")
	defer kv.Close()

	err = kv.Save("abc", "123")
	assert.Nil(t, err)
	err = kv.Save("abcd", "1234")
	assert.Nil(t, err)

	val, err := kv.Load("abc")
	assert.Nil(t, err)
	assert.Equal(t, val, "123")

	keys, vals, err := kv.LoadWithPrefix("abc")
	assert.Nil(t, err)
	assert.Equal(t, len(keys), len(vals))
	assert.Equal(t, len(keys), 2)

	assert.Equal(t, keys[0], path.Join(kv.rootPath, "abc"))
	assert.Equal(t, keys[1], path.Join(kv.rootPath, "abcd"))
	assert.Equal(t, vals[0], "123")
	assert.Equal(t, vals[1], "1234")
}