Adding name to webhooks and logs_counter to webhooks API
parent
6032ed6c34
commit
da156401b0
|
@ -0,0 +1,20 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import models, migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('webhooks', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='webhook',
|
||||
name='name',
|
||||
field=models.CharField(max_length=250, default='webhook', verbose_name='name'),
|
||||
preserve_default=False,
|
||||
),
|
||||
]
|
|
@ -23,6 +23,8 @@ from django_pgjson.fields import JsonField
|
|||
class Webhook(models.Model):
|
||||
project = models.ForeignKey("projects.Project", null=False, blank=False,
|
||||
related_name="webhooks")
|
||||
name = models.CharField(max_length=250, null=False, blank=False,
|
||||
verbose_name=_("name"))
|
||||
url = models.URLField(null=False, blank=False, verbose_name=_("URL"))
|
||||
key = models.TextField(null=False, blank=False, verbose_name=_("secret key"))
|
||||
|
||||
|
|
|
@ -34,9 +34,14 @@ class HistoryDiffField(serializers.Field):
|
|||
|
||||
|
||||
class WebhookSerializer(serializers.ModelSerializer):
|
||||
logs_counter = serializers.SerializerMethodField("get_logs_counter")
|
||||
class Meta:
|
||||
model = Webhook
|
||||
|
||||
def get_logs_counter(self, obj):
|
||||
return obj.logs.count()
|
||||
|
||||
|
||||
class WebhookLogSerializer(serializers.ModelSerializer):
|
||||
request_data = JsonField()
|
||||
|
||||
|
|
|
@ -205,6 +205,7 @@ class WebhookFactory(Factory):
|
|||
project = factory.SubFactory("tests.factories.ProjectFactory")
|
||||
url = "http://localhost:8080/test"
|
||||
key = "factory-key"
|
||||
name = "Factory-name"
|
||||
|
||||
|
||||
class WebhookLogFactory(Factory):
|
||||
|
|
|
@ -137,6 +137,7 @@ def test_webhook_create(client, data):
|
|||
]
|
||||
|
||||
create_data = json.dumps({
|
||||
"name": "Test",
|
||||
"url": "http://test.com",
|
||||
"key": "test",
|
||||
"project": data.project1.pk,
|
||||
|
@ -145,6 +146,7 @@ def test_webhook_create(client, data):
|
|||
assert results == [401, 403, 201]
|
||||
|
||||
create_data = json.dumps({
|
||||
"name": "Test",
|
||||
"url": "http://test.com",
|
||||
"key": "test",
|
||||
"project": data.project2.pk,
|
||||
|
|
Loading…
Reference in New Issue