You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
759 B
35 lines
759 B
package metastore
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func TestMemoryBacking(t *testing.T) {
|
|
ms := &MetaStore{NewMetaStoreMemoryBacking()}
|
|
verifySetGet(t, ms)
|
|
}
|
|
|
|
func TestFileBacking(t *testing.T) {
|
|
ms := &MetaStore{NewMetaStoreFileBacking()}
|
|
verifySetGet(t, ms)
|
|
}
|
|
|
|
func TestEtcdBacking(t *testing.T) {
|
|
ms := &MetaStore{NewMetaStoreEtcdBacking("http://localhost:4001")}
|
|
verifySetGet(t, ms)
|
|
}
|
|
|
|
func verifySetGet(t *testing.T, ms *MetaStore) {
|
|
data := uint64(234234)
|
|
ms.SetUint64("/tmp/sequence", data)
|
|
if !ms.Has("/tmp/sequence") {
|
|
t.Errorf("Failed to set data")
|
|
}
|
|
if val, err := ms.GetUint64("/tmp/sequence"); err == nil {
|
|
if val != data {
|
|
t.Errorf("Set %d, but read back %d", data, val)
|
|
}
|
|
} else {
|
|
t.Errorf("Failed to get back data:%s", err)
|
|
}
|
|
}
|