Skip to content
This repository was archived by the owner on Apr 15, 2024. It is now read-only.

Commit e7cfaf0

Browse files
committed
add a test for delete cas; fix kv.delete to return true or false depending on success
1 parent ea548e4 commit e7cfaf0

2 files changed

Lines changed: 14 additions & 1 deletion

File tree

consul/base.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -403,7 +403,7 @@ def delete(self, key, recurse=None, cas=None, token=None, dc=None):
403403
def callback(response):
404404
if response.code == 403:
405405
raise ACLPermissionDenied(response.body)
406-
return response.code == 200
406+
return json.loads(response.body)
407407

408408
return self.agent.http.delete(
409409
callback, '/v1/kv/%s' % key, params=params)

tests/test_std.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,19 @@ def test_kv_delete(self, consul_port):
108108
index, data = c.kv.get('foo', recurse=True)
109109
assert data is None
110110

111+
def test_kv_delete_cas(self, consul_port):
112+
c = consul.Consul(port=consul_port)
113+
114+
c.kv.put('foo', 'bar')
115+
index, data = c.kv.get('foo')
116+
117+
assert c.kv.delete('foo', cas=data['ModifyIndex']-1) is False
118+
assert c.kv.get('foo') == (index, data)
119+
120+
assert c.kv.delete('foo', cas=data['ModifyIndex']) is True
121+
index, data = c.kv.get('foo')
122+
assert data is None
123+
111124
def test_kv_acquire_release(self, consul_port):
112125
c = consul.Consul(port=consul_port)
113126

0 commit comments

Comments
 (0)