Merge "raise NoSuchMetric when deleting metric already marked deleted"
This commit is contained in:
commit
ae2966684e
@ -783,7 +783,8 @@ class SQLAlchemyIndexer(indexer.IndexerDriver):
|
|||||||
def delete_metric(self, id):
|
def delete_metric(self, id):
|
||||||
with self.facade.writer() as session:
|
with self.facade.writer() as session:
|
||||||
if session.query(Metric).filter(
|
if session.query(Metric).filter(
|
||||||
Metric.id == id).update({"status": "delete"}) == 0:
|
Metric.id == id, Metric.status == 'active').update(
|
||||||
|
{"status": "delete"}) == 0:
|
||||||
raise indexer.NoSuchMetric(id)
|
raise indexer.NoSuchMetric(id)
|
||||||
|
|
||||||
|
|
||||||
|
@ -278,6 +278,10 @@ tests:
|
|||||||
method: DELETE
|
method: DELETE
|
||||||
status: 204
|
status: 204
|
||||||
|
|
||||||
|
- name: delete metric again
|
||||||
|
DELETE: $LAST_URL
|
||||||
|
status: 404
|
||||||
|
|
||||||
- name: delete non existent metric
|
- name: delete non existent metric
|
||||||
url: /v1/metric/foo
|
url: /v1/metric/foo
|
||||||
method: DELETE
|
method: DELETE
|
||||||
|
@ -584,13 +584,7 @@ class TestIndexerDriver(tests_base.TestCase):
|
|||||||
rc = self.index.create_resource('generic', r1, user, project,
|
rc = self.index.create_resource('generic', r1, user, project,
|
||||||
metrics={'foo': e1, 'bar': e2})
|
metrics={'foo': e1, 'bar': e2})
|
||||||
self.index.delete_metric(e1)
|
self.index.delete_metric(e1)
|
||||||
# It can be called twice
|
self.assertRaises(indexer.NoSuchMetric, self.index.delete_metric, e1)
|
||||||
try:
|
|
||||||
self.index.delete_metric(e1)
|
|
||||||
except indexer.NoSuchMetric:
|
|
||||||
# It's possible that the metric has been expunged by another
|
|
||||||
# parallel test. No worry.
|
|
||||||
pass
|
|
||||||
r = self.index.get_resource('generic', r1, with_metrics=True)
|
r = self.index.get_resource('generic', r1, with_metrics=True)
|
||||||
self.assertIsNotNone(r.started_at)
|
self.assertIsNotNone(r.started_at)
|
||||||
self.assertIsNotNone(r.revision_start)
|
self.assertIsNotNone(r.revision_start)
|
||||||
|
Loading…
Reference in New Issue
Block a user