Add db support receiver-update operation
Implements: blueprint add-receiver-update Change-Id: I1405d59f32278021b1af947c03ceb7c02cc3c3c5 Signed-off-by: Yuanbin.Chen <cybing4@gmail.com>
This commit is contained in:
parent
7a4544bfcd
commit
540688d32e
|
@ -435,6 +435,10 @@ def receiver_delete(context, receiver_id):
|
|||
return IMPL.receiver_delete(context, receiver_id)
|
||||
|
||||
|
||||
def receiver_update(context, receiver_id, values):
|
||||
return IMPL.receiver_update(context, receiver_id, values)
|
||||
|
||||
|
||||
def service_create(service_id, host=None, binary=None, topic=None):
|
||||
return IMPL.service_create(service_id, host=host, binary=binary,
|
||||
topic=topic)
|
||||
|
|
|
@ -1355,6 +1355,17 @@ def receiver_delete(context, receiver_id):
|
|||
session.delete(receiver)
|
||||
|
||||
|
||||
def receiver_update(context, receiver_id, values):
|
||||
with session_for_write() as session:
|
||||
receiver = session.query(models.Receiver).get(receiver_id)
|
||||
if not receiver:
|
||||
raise exception.ResourceNotFound(type='receiver', id=receiver_id)
|
||||
|
||||
receiver.update(values)
|
||||
receiver.save(session)
|
||||
return receiver
|
||||
|
||||
|
||||
def service_create(service_id, host=None, binary=None, topic=None):
|
||||
with session_for_write() as session:
|
||||
time_now = timeutils.utcnow(True)
|
||||
|
|
|
@ -316,3 +316,27 @@ class DBAPIReceiverTest(base.SenlinTestCase):
|
|||
|
||||
res = db_api.receiver_get(self.ctx, receiver_id)
|
||||
self.assertIsNone(res)
|
||||
|
||||
def test_receiver_update(self):
|
||||
new_values = {
|
||||
'name': 'test_receiver2',
|
||||
'params': {'key2': 'value2'},
|
||||
}
|
||||
|
||||
old_receiver = self._create_receiver(self.ctx)
|
||||
new_receiver = db_api.receiver_update(self.ctx, old_receiver.id,
|
||||
new_values)
|
||||
|
||||
self.assertEqual(old_receiver.id, new_receiver.id)
|
||||
self.assertEqual(new_values['name'], new_receiver.name)
|
||||
self.assertEqual('test_receiver2', new_receiver.name)
|
||||
self.assertEqual('value2', new_receiver.params['key2'])
|
||||
|
||||
def test_receiver_update_not_found(self):
|
||||
new_values = {
|
||||
'name': 'test_receiver2',
|
||||
'params': {'key2': 'value2'},
|
||||
}
|
||||
self.assertRaises(exception.ResourceNotFound,
|
||||
db_api.receiver_update,
|
||||
self.ctx, 'BogusID', new_values)
|
||||
|
|
Loading…
Reference in New Issue