Merge "Fix webhook channel"
This commit is contained in:
commit
e49865bbe1
|
@ -68,7 +68,7 @@ class Receiver(object):
|
||||||
self.params = kwargs.get('params', {})
|
self.params = kwargs.get('params', {})
|
||||||
self.channel = kwargs.get('channel', {})
|
self.channel = kwargs.get('channel', {})
|
||||||
|
|
||||||
def store(self, context):
|
def store(self, context, update=False):
|
||||||
"""Store the receiver in database and return its ID.
|
"""Store the receiver in database and return its ID.
|
||||||
|
|
||||||
:param context: Context for DB operations.
|
:param context: Context for DB operations.
|
||||||
|
@ -91,12 +91,11 @@ class Receiver(object):
|
||||||
'channel': self.channel,
|
'channel': self.channel,
|
||||||
}
|
}
|
||||||
|
|
||||||
if self.id:
|
if update:
|
||||||
self.updated_at = timestamp
|
self.updated_at = timestamp
|
||||||
values['updated_at'] = timestamp
|
values['updated_at'] = timestamp
|
||||||
ro.Receiver.update(context, self.id, values)
|
ro.Receiver.update(context, self.id, values)
|
||||||
else:
|
else:
|
||||||
self.id = uuidutils.generate_uuid()
|
|
||||||
self.created_at = timestamp
|
self.created_at = timestamp
|
||||||
values['created_at'] = timestamp
|
values['created_at'] = timestamp
|
||||||
receiver = ro.Receiver.create(context, values)
|
receiver = ro.Receiver.create(context, values)
|
||||||
|
@ -120,6 +119,7 @@ class Receiver(object):
|
||||||
kwargs['user'] = context.user
|
kwargs['user'] = context.user
|
||||||
kwargs['project'] = context.project
|
kwargs['project'] = context.project
|
||||||
kwargs['domain'] = context.domain
|
kwargs['domain'] = context.domain
|
||||||
|
kwargs['id'] = uuidutils.generate_uuid()
|
||||||
cluster_id = cluster.id if cluster else None
|
cluster_id = cluster.id if cluster else None
|
||||||
obj = cls(rtype, cluster_id, action, **kwargs)
|
obj = cls(rtype, cluster_id, action, **kwargs)
|
||||||
obj.initialize_channel(context)
|
obj.initialize_channel(context)
|
||||||
|
|
|
@ -2386,7 +2386,7 @@ class EngineService(service.Service):
|
||||||
receiver.params = req.params
|
receiver.params = req.params
|
||||||
changed = True
|
changed = True
|
||||||
if changed:
|
if changed:
|
||||||
receiver.store(ctx)
|
receiver.store(ctx, update=True)
|
||||||
else:
|
else:
|
||||||
msg = _("No property needs an update.")
|
msg = _("No property needs an update.")
|
||||||
raise exception.BadRequest(msg=msg)
|
raise exception.BadRequest(msg=msg)
|
||||||
|
|
|
@ -307,7 +307,7 @@ class ReceiverTest(base.SenlinTestCase):
|
||||||
mock_load.assert_called_once_with(self.ctx, receiver_obj=x_obj)
|
mock_load.assert_called_once_with(self.ctx, receiver_obj=x_obj)
|
||||||
self.assertEqual('NEW_NAME', x_receiver.name)
|
self.assertEqual('NEW_NAME', x_receiver.name)
|
||||||
self.assertEqual({'count': '3'}, x_receiver.params)
|
self.assertEqual({'count': '3'}, x_receiver.params)
|
||||||
x_receiver.store.assert_called_once_with(self.ctx)
|
x_receiver.store.assert_called_once_with(self.ctx, update=True)
|
||||||
|
|
||||||
@mock.patch.object(ro.Receiver, 'find')
|
@mock.patch.object(ro.Receiver, 'find')
|
||||||
def test_receiver_update_not_found(self, mock_find):
|
def test_receiver_update_not_found(self, mock_find):
|
||||||
|
|
Loading…
Reference in New Issue