Browse Source

Remove default function_version in webhook resource def

Or the function_version of a webhook would be changed to the default
value when updating the webhook without providing the function_version
parameter. That's an unexpected result.

Story: 2002898
Task: 22862

Change-Id: I63ec211a8771a55d2b04caed1f66a405849cb201
Signed-off-by: Hunt Xu <mhuntxu@gmail.com>
changes/85/580585/1
Hunt Xu 3 years ago
parent
commit
13fb206df4
  1. 2
      qinling/api/controllers/v1/resources.py
  2. 15
      qinling/tests/unit/api/controllers/v1/test_webhook.py

2
qinling/api/controllers/v1/resources.py

@ -353,7 +353,7 @@ class ScaleInfo(Resource):
class Webhook(Resource):
id = types.uuid
function_id = types.uuid
function_version = wsme.wsattr(int, default=0)
function_version = wsme.wsattr(int)
description = wtypes.text
project_id = wsme.wsattr(wtypes.text, readonly=True)
created_at = wsme.wsattr(wtypes.text, readonly=True)

15
qinling/tests/unit/api/controllers/v1/test_webhook.py

@ -93,3 +93,18 @@ class TestWebhookController(base.APITest):
self.assertEqual(200, resp.status_int)
self.assertEqual(1, resp.json.get("function_version"))
def test_put_without_version(self):
db_api.increase_function_version(self.func_id, 0)
webhook = self.create_webhook(self.func_id, function_version=1)
self.assertEqual(1, webhook.function_version)
resp = self.app.put_json(
'/v1/webhooks/%s' % webhook.id,
{'description': 'updated description'}
)
self.assertEqual(200, resp.status_int)
self.assertEqual(1, resp.json.get("function_version"))
self.assertEqual('updated description', resp.json.get("description"))
Loading…
Cancel
Save