don't treat non-existent keys as errors (#300)

This commit is contained in:
Julian-Chu 2020-04-09 21:03:02 +02:00 committed by GitHub
parent a36e498d02
commit caab6d32eb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 2 deletions

View File

@ -141,6 +141,9 @@ func (s *StateStore) Get(req *state.GetRequest) (*state.GetResponse, error) {
value, stat, err := s.conn.Get(s.prefixedKey(req.Key))
if err != nil {
if err == zk.ErrNoNode {
return &state.GetResponse{}, nil
}
return nil, err
}

View File

@ -81,8 +81,8 @@ func TestGet(t *testing.T) {
conn.EXPECT().Get("foo").Return(nil, nil, zk.ErrNoNode).Times(1)
res, err := s.Get(&state.GetRequest{Key: "foo"})
assert.Nil(t, res, "Key must be non-exists")
assert.EqualError(t, err, "zk: node does not exist")
assert.Equal(t, &state.GetResponse{}, res, "Response must be empty")
assert.NoError(t, err, "Non-existent key must not be treated as error")
})
}