|
@@ -93,7 +93,6 @@ func TestSet(t *testing.T) {
|
|
|
assert.Equal(t, e.Action, "set", "")
|
|
assert.Equal(t, e.Action, "set", "")
|
|
|
assert.Equal(t, e.Node.Key, "/foo", "")
|
|
assert.Equal(t, e.Node.Key, "/foo", "")
|
|
|
assert.False(t, e.Node.Dir, "")
|
|
assert.False(t, e.Node.Dir, "")
|
|
|
- assert.Equal(t, e.Node.PrevValue, "", "")
|
|
|
|
|
assert.Equal(t, e.Node.Value, "", "")
|
|
assert.Equal(t, e.Node.Value, "", "")
|
|
|
assert.Nil(t, e.Node.Nodes, "")
|
|
assert.Nil(t, e.Node.Nodes, "")
|
|
|
assert.Nil(t, e.Node.Expiration, "")
|
|
assert.Nil(t, e.Node.Expiration, "")
|
|
@@ -106,12 +105,16 @@ func TestSet(t *testing.T) {
|
|
|
assert.Equal(t, e.Action, "set", "")
|
|
assert.Equal(t, e.Action, "set", "")
|
|
|
assert.Equal(t, e.Node.Key, "/foo", "")
|
|
assert.Equal(t, e.Node.Key, "/foo", "")
|
|
|
assert.False(t, e.Node.Dir, "")
|
|
assert.False(t, e.Node.Dir, "")
|
|
|
- assert.Equal(t, e.Node.PrevValue, "", "")
|
|
|
|
|
assert.Equal(t, e.Node.Value, "bar", "")
|
|
assert.Equal(t, e.Node.Value, "bar", "")
|
|
|
assert.Nil(t, e.Node.Nodes, "")
|
|
assert.Nil(t, e.Node.Nodes, "")
|
|
|
assert.Nil(t, e.Node.Expiration, "")
|
|
assert.Nil(t, e.Node.Expiration, "")
|
|
|
assert.Equal(t, e.Node.TTL, 0, "")
|
|
assert.Equal(t, e.Node.TTL, 0, "")
|
|
|
assert.Equal(t, e.Node.ModifiedIndex, uint64(2), "")
|
|
assert.Equal(t, e.Node.ModifiedIndex, uint64(2), "")
|
|
|
|
|
+ // check prevNode
|
|
|
|
|
+ assert.NotNil(t, e.PrevNode, "")
|
|
|
|
|
+ assert.Equal(t, e.PrevNode.Key, "/foo", "")
|
|
|
|
|
+ assert.Equal(t, e.PrevNode.Value, "", "")
|
|
|
|
|
+ assert.Equal(t, e.PrevNode.ModifiedIndex, uint64(1), "")
|
|
|
|
|
|
|
|
// Set /dir as a directory
|
|
// Set /dir as a directory
|
|
|
e, err = s.Set("/dir", true, "", Permanent)
|
|
e, err = s.Set("/dir", true, "", Permanent)
|
|
@@ -119,7 +122,6 @@ func TestSet(t *testing.T) {
|
|
|
assert.Equal(t, e.Action, "set", "")
|
|
assert.Equal(t, e.Action, "set", "")
|
|
|
assert.Equal(t, e.Node.Key, "/dir", "")
|
|
assert.Equal(t, e.Node.Key, "/dir", "")
|
|
|
assert.True(t, e.Node.Dir, "")
|
|
assert.True(t, e.Node.Dir, "")
|
|
|
- assert.Equal(t, e.Node.PrevValue, "", "")
|
|
|
|
|
assert.Equal(t, e.Node.Value, "", "")
|
|
assert.Equal(t, e.Node.Value, "", "")
|
|
|
assert.Nil(t, e.Node.Nodes, "")
|
|
assert.Nil(t, e.Node.Nodes, "")
|
|
|
assert.Nil(t, e.Node.Expiration, "")
|
|
assert.Nil(t, e.Node.Expiration, "")
|
|
@@ -136,7 +138,6 @@ func TestStoreCreateValue(t *testing.T) {
|
|
|
assert.Equal(t, e.Action, "create", "")
|
|
assert.Equal(t, e.Action, "create", "")
|
|
|
assert.Equal(t, e.Node.Key, "/foo", "")
|
|
assert.Equal(t, e.Node.Key, "/foo", "")
|
|
|
assert.False(t, e.Node.Dir, "")
|
|
assert.False(t, e.Node.Dir, "")
|
|
|
- assert.Equal(t, e.Node.PrevValue, "", "")
|
|
|
|
|
assert.Equal(t, e.Node.Value, "bar", "")
|
|
assert.Equal(t, e.Node.Value, "bar", "")
|
|
|
assert.Nil(t, e.Node.Nodes, "")
|
|
assert.Nil(t, e.Node.Nodes, "")
|
|
|
assert.Nil(t, e.Node.Expiration, "")
|
|
assert.Nil(t, e.Node.Expiration, "")
|
|
@@ -149,7 +150,6 @@ func TestStoreCreateValue(t *testing.T) {
|
|
|
assert.Equal(t, e.Action, "create", "")
|
|
assert.Equal(t, e.Action, "create", "")
|
|
|
assert.Equal(t, e.Node.Key, "/empty", "")
|
|
assert.Equal(t, e.Node.Key, "/empty", "")
|
|
|
assert.False(t, e.Node.Dir, "")
|
|
assert.False(t, e.Node.Dir, "")
|
|
|
- assert.Equal(t, e.Node.PrevValue, "", "")
|
|
|
|
|
assert.Equal(t, e.Node.Value, "", "")
|
|
assert.Equal(t, e.Node.Value, "", "")
|
|
|
assert.Nil(t, e.Node.Nodes, "")
|
|
assert.Nil(t, e.Node.Nodes, "")
|
|
|
assert.Nil(t, e.Node.Expiration, "")
|
|
assert.Nil(t, e.Node.Expiration, "")
|
|
@@ -195,10 +195,15 @@ func TestStoreUpdateValue(t *testing.T) {
|
|
|
assert.Equal(t, e.Action, "update", "")
|
|
assert.Equal(t, e.Action, "update", "")
|
|
|
assert.Equal(t, e.Node.Key, "/foo", "")
|
|
assert.Equal(t, e.Node.Key, "/foo", "")
|
|
|
assert.False(t, e.Node.Dir, "")
|
|
assert.False(t, e.Node.Dir, "")
|
|
|
- assert.Equal(t, e.Node.PrevValue, "bar", "")
|
|
|
|
|
assert.Equal(t, e.Node.Value, "baz", "")
|
|
assert.Equal(t, e.Node.Value, "baz", "")
|
|
|
assert.Equal(t, e.Node.TTL, 0, "")
|
|
assert.Equal(t, e.Node.TTL, 0, "")
|
|
|
assert.Equal(t, e.Node.ModifiedIndex, uint64(2), "")
|
|
assert.Equal(t, e.Node.ModifiedIndex, uint64(2), "")
|
|
|
|
|
+ // check prevNode
|
|
|
|
|
+ assert.Equal(t, e.PrevNode.Key, "/foo", "")
|
|
|
|
|
+ assert.Equal(t, e.PrevNode.Value, "bar", "")
|
|
|
|
|
+ assert.Equal(t, e.PrevNode.TTL, 0, "")
|
|
|
|
|
+ assert.Equal(t, e.PrevNode.ModifiedIndex, uint64(1), "")
|
|
|
|
|
+
|
|
|
e, _ = s.Get("/foo", false, false)
|
|
e, _ = s.Get("/foo", false, false)
|
|
|
assert.Equal(t, e.Node.Value, "baz", "")
|
|
assert.Equal(t, e.Node.Value, "baz", "")
|
|
|
|
|
|
|
@@ -208,10 +213,15 @@ func TestStoreUpdateValue(t *testing.T) {
|
|
|
assert.Equal(t, e.Action, "update", "")
|
|
assert.Equal(t, e.Action, "update", "")
|
|
|
assert.Equal(t, e.Node.Key, "/foo", "")
|
|
assert.Equal(t, e.Node.Key, "/foo", "")
|
|
|
assert.False(t, e.Node.Dir, "")
|
|
assert.False(t, e.Node.Dir, "")
|
|
|
- assert.Equal(t, e.Node.PrevValue, "baz", "")
|
|
|
|
|
assert.Equal(t, e.Node.Value, "", "")
|
|
assert.Equal(t, e.Node.Value, "", "")
|
|
|
assert.Equal(t, e.Node.TTL, 0, "")
|
|
assert.Equal(t, e.Node.TTL, 0, "")
|
|
|
assert.Equal(t, e.Node.ModifiedIndex, uint64(3), "")
|
|
assert.Equal(t, e.Node.ModifiedIndex, uint64(3), "")
|
|
|
|
|
+ // check prevNode
|
|
|
|
|
+ assert.Equal(t, e.PrevNode.Key, "/foo", "")
|
|
|
|
|
+ assert.Equal(t, e.PrevNode.Value, "baz", "")
|
|
|
|
|
+ assert.Equal(t, e.PrevNode.TTL, 0, "")
|
|
|
|
|
+ assert.Equal(t, e.PrevNode.ModifiedIndex, uint64(2), "")
|
|
|
|
|
+
|
|
|
e, _ = s.Get("/foo", false, false)
|
|
e, _ = s.Get("/foo", false, false)
|
|
|
assert.Equal(t, e.Node.Value, "", "")
|
|
assert.Equal(t, e.Node.Value, "", "")
|
|
|
}
|
|
}
|
|
@@ -278,6 +288,10 @@ func TestStoreDeleteValue(t *testing.T) {
|
|
|
e, err := s.Delete("/foo", false, false)
|
|
e, err := s.Delete("/foo", false, false)
|
|
|
assert.Nil(t, err, "")
|
|
assert.Nil(t, err, "")
|
|
|
assert.Equal(t, e.Action, "delete", "")
|
|
assert.Equal(t, e.Action, "delete", "")
|
|
|
|
|
+ // check pervNode
|
|
|
|
|
+ assert.NotNil(t, e.PrevNode, "")
|
|
|
|
|
+ assert.Equal(t, e.PrevNode.Key, "/foo", "")
|
|
|
|
|
+ assert.Equal(t, e.PrevNode.Value, "bar", "")
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Ensure that the store can delete a directory if recursive is specified.
|
|
// Ensure that the store can delete a directory if recursive is specified.
|
|
@@ -290,6 +304,10 @@ func TestStoreDeleteDiretory(t *testing.T) {
|
|
|
e, err := s.Delete("/foo", true, false)
|
|
e, err := s.Delete("/foo", true, false)
|
|
|
assert.Nil(t, err, "")
|
|
assert.Nil(t, err, "")
|
|
|
assert.Equal(t, e.Action, "delete", "")
|
|
assert.Equal(t, e.Action, "delete", "")
|
|
|
|
|
+ // check pervNode
|
|
|
|
|
+ assert.NotNil(t, e.PrevNode, "")
|
|
|
|
|
+ assert.Equal(t, e.PrevNode.Key, "/foo", "")
|
|
|
|
|
+ assert.Equal(t, e.PrevNode.Dir, true, "")
|
|
|
|
|
|
|
|
// create directory /foo and directory /foo/bar
|
|
// create directory /foo and directory /foo/bar
|
|
|
s.Create("/foo/bar", true, "", false, Permanent)
|
|
s.Create("/foo/bar", true, "", false, Permanent)
|
|
@@ -346,6 +364,13 @@ func TestStoreCompareAndDeletePrevValue(t *testing.T) {
|
|
|
assert.Nil(t, err, "")
|
|
assert.Nil(t, err, "")
|
|
|
assert.Equal(t, e.Action, "compareAndDelete", "")
|
|
assert.Equal(t, e.Action, "compareAndDelete", "")
|
|
|
assert.Equal(t, e.Node.Key, "/foo", "")
|
|
assert.Equal(t, e.Node.Key, "/foo", "")
|
|
|
|
|
+
|
|
|
|
|
+ // check pervNode
|
|
|
|
|
+ assert.NotNil(t, e.PrevNode, "")
|
|
|
|
|
+ assert.Equal(t, e.PrevNode.Key, "/foo", "")
|
|
|
|
|
+ assert.Equal(t, e.PrevNode.Value, "bar", "")
|
|
|
|
|
+ assert.Equal(t, e.PrevNode.ModifiedIndex, uint64(1), "")
|
|
|
|
|
+ assert.Equal(t, e.PrevNode.CreatedIndex, uint64(1), "")
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func TestStoreCompareAndDeletePrevValueFailsIfNotMatch(t *testing.T) {
|
|
func TestStoreCompareAndDeletePrevValueFailsIfNotMatch(t *testing.T) {
|
|
@@ -366,6 +391,12 @@ func TestStoreCompareAndDeletePrevIndex(t *testing.T) {
|
|
|
e, err := s.CompareAndDelete("/foo", "", 1)
|
|
e, err := s.CompareAndDelete("/foo", "", 1)
|
|
|
assert.Nil(t, err, "")
|
|
assert.Nil(t, err, "")
|
|
|
assert.Equal(t, e.Action, "compareAndDelete", "")
|
|
assert.Equal(t, e.Action, "compareAndDelete", "")
|
|
|
|
|
+ // check pervNode
|
|
|
|
|
+ assert.NotNil(t, e.PrevNode, "")
|
|
|
|
|
+ assert.Equal(t, e.PrevNode.Key, "/foo", "")
|
|
|
|
|
+ assert.Equal(t, e.PrevNode.Value, "bar", "")
|
|
|
|
|
+ assert.Equal(t, e.PrevNode.ModifiedIndex, uint64(1), "")
|
|
|
|
|
+ assert.Equal(t, e.PrevNode.CreatedIndex, uint64(1), "")
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func TestStoreCompareAndDeletePrevIndexFailsIfNotMatch(t *testing.T) {
|
|
func TestStoreCompareAndDeletePrevIndexFailsIfNotMatch(t *testing.T) {
|
|
@@ -398,8 +429,14 @@ func TestStoreCompareAndSwapPrevValue(t *testing.T) {
|
|
|
e, err := s.CompareAndSwap("/foo", "bar", 0, "baz", Permanent)
|
|
e, err := s.CompareAndSwap("/foo", "bar", 0, "baz", Permanent)
|
|
|
assert.Nil(t, err, "")
|
|
assert.Nil(t, err, "")
|
|
|
assert.Equal(t, e.Action, "compareAndSwap", "")
|
|
assert.Equal(t, e.Action, "compareAndSwap", "")
|
|
|
- assert.Equal(t, e.Node.PrevValue, "bar", "")
|
|
|
|
|
assert.Equal(t, e.Node.Value, "baz", "")
|
|
assert.Equal(t, e.Node.Value, "baz", "")
|
|
|
|
|
+ // check pervNode
|
|
|
|
|
+ assert.NotNil(t, e.PrevNode, "")
|
|
|
|
|
+ assert.Equal(t, e.PrevNode.Key, "/foo", "")
|
|
|
|
|
+ assert.Equal(t, e.PrevNode.Value, "bar", "")
|
|
|
|
|
+ assert.Equal(t, e.PrevNode.ModifiedIndex, uint64(1), "")
|
|
|
|
|
+ assert.Equal(t, e.PrevNode.CreatedIndex, uint64(1), "")
|
|
|
|
|
+
|
|
|
e, _ = s.Get("/foo", false, false)
|
|
e, _ = s.Get("/foo", false, false)
|
|
|
assert.Equal(t, e.Node.Value, "baz", "")
|
|
assert.Equal(t, e.Node.Value, "baz", "")
|
|
|
}
|
|
}
|
|
@@ -424,8 +461,14 @@ func TestStoreCompareAndSwapPrevIndex(t *testing.T) {
|
|
|
e, err := s.CompareAndSwap("/foo", "", 1, "baz", Permanent)
|
|
e, err := s.CompareAndSwap("/foo", "", 1, "baz", Permanent)
|
|
|
assert.Nil(t, err, "")
|
|
assert.Nil(t, err, "")
|
|
|
assert.Equal(t, e.Action, "compareAndSwap", "")
|
|
assert.Equal(t, e.Action, "compareAndSwap", "")
|
|
|
- assert.Equal(t, e.Node.PrevValue, "bar", "")
|
|
|
|
|
assert.Equal(t, e.Node.Value, "baz", "")
|
|
assert.Equal(t, e.Node.Value, "baz", "")
|
|
|
|
|
+ // check pervNode
|
|
|
|
|
+ assert.NotNil(t, e.PrevNode, "")
|
|
|
|
|
+ assert.Equal(t, e.PrevNode.Key, "/foo", "")
|
|
|
|
|
+ assert.Equal(t, e.PrevNode.Value, "bar", "")
|
|
|
|
|
+ assert.Equal(t, e.PrevNode.ModifiedIndex, uint64(1), "")
|
|
|
|
|
+ assert.Equal(t, e.PrevNode.CreatedIndex, uint64(1), "")
|
|
|
|
|
+
|
|
|
e, _ = s.Get("/foo", false, false)
|
|
e, _ = s.Get("/foo", false, false)
|
|
|
assert.Equal(t, e.Node.Value, "baz", "")
|
|
assert.Equal(t, e.Node.Value, "baz", "")
|
|
|
}
|
|
}
|