func TestSet(t *testing.T) { s := newStore() // Set /foo="" e, err := s.Set("/foo", false, "", Permanent) assert.Nil(t, err, "") assert.Equal(t, e.Action, "set", "") assert.Equal(t, e.Node.Key, "/foo", "") assert.False(t, e.Node.Dir, "") assert.Equal(t, e.Node.Value, "", "") assert.Nil(t, e.Node.Nodes, "") assert.Nil(t, e.Node.Expiration, "") assert.Equal(t, e.Node.TTL, 0, "") assert.Equal(t, e.Node.ModifiedIndex, uint64(1), "") // Set /foo="bar" e, err = s.Set("/foo", false, "bar", Permanent) assert.Nil(t, err, "") assert.Equal(t, e.Action, "set", "") assert.Equal(t, e.Node.Key, "/foo", "") assert.False(t, e.Node.Dir, "") assert.Equal(t, e.Node.Value, "bar", "") assert.Nil(t, e.Node.Nodes, "") assert.Nil(t, e.Node.Expiration, "") assert.Equal(t, e.Node.TTL, 0, "") 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 /foo="baz" (for testing prevNode) e, err = s.Set("/foo", false, "baz", Permanent) assert.Nil(t, err, "") assert.Equal(t, e.Action, "set", "") assert.Equal(t, e.Node.Key, "/foo", "") assert.False(t, e.Node.Dir, "") assert.Equal(t, e.Node.Value, "baz", "") assert.Nil(t, e.Node.Nodes, "") assert.Nil(t, e.Node.Expiration, "") assert.Equal(t, e.Node.TTL, 0, "") assert.Equal(t, e.Node.ModifiedIndex, uint64(3), "") // check prevNode 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(2), "") // Set /dir as a directory e, err = s.Set("/dir", true, "", Permanent) assert.Nil(t, err, "") assert.Equal(t, e.Action, "set", "") assert.Equal(t, e.Node.Key, "/dir", "") assert.True(t, e.Node.Dir, "") assert.Equal(t, e.Node.Value, "", "") assert.Nil(t, e.Node.Nodes, "") assert.Nil(t, e.Node.Expiration, "") assert.Equal(t, e.Node.TTL, 0, "") assert.Equal(t, e.Node.ModifiedIndex, uint64(4), "") }
// Ensure that the store can create a new directory if it doesn't already exist. func TestStoreCreateDirectory(t *testing.T) { s := newStore() e, err := s.Create("/foo", true, "", false, Permanent) assert.Nil(t, err, "") assert.Equal(t, e.Action, "create", "") assert.Equal(t, e.Node.Key, "/foo", "") assert.True(t, e.Node.Dir, "") }
// Ensures that the "version" flag can be parsed. func TestConfigVersionFlag(t *testing.T) { c := New() assert.Nil(t, c.LoadFlags([]string{"-version"}), "") assert.True(t, c.ShowVersion) }
// Ensures that the abbreviated "force config" flag can be parsed. func TestConfigAbbreviatedForceFlag(t *testing.T) { c := New() assert.Nil(t, c.LoadFlags([]string{"-f"}), "") assert.True(t, c.Force) }
// Ensures that the abbreviated "help" flag can be parsed. func TestConfigAbbreviatedHelpFlag(t *testing.T) { c := New() assert.Nil(t, c.LoadFlags([]string{"-h"}), "") assert.True(t, c.ShowHelp) }