Пример #1
0
    def test_on_change__does_not_dispatch_on_create(self):
        on_create = ModelEvent('x.create')
        on_change = ModelEvent('x.change')
        on_create.send = Mock(name='on_create.send')
        on_change.send = Mock(name='on_change.send')

        self.Model = webhook_model(
            on_create=on_create, on_change=on_change)(self.Model)

        obj2, _ = self.Model.objects.get_or_create(username='******')

        on_create.send.assert_called_with(
            instance=obj2,
            data=obj2.webhook_payload(),
            sender=None,
        )
        on_change.send.assert_not_called()
Пример #2
0
 def test_on_delete(self):
     on_delete = ModelEvent('x.delete')
     Model = webhook_model(on_delete=on_delete)(self.Model)
     self.assertIs(Model.webhook_events.events['on_delete'], on_delete)
     on_delete.send = Mock(name='event.send')
     self.obj.delete()
     on_delete.send.assert_called_with(
         instance=self.obj,
         data=self.obj.webhook_payload(),
         sender=None,
     )
Пример #3
0
 def test_on_create(self):
     on_create = ModelEvent('x.create')
     Model = webhook_model(on_create=on_create)(self.Model)
     self.assertIs(Model.webhook_events.events['on_create'], on_create)
     on_create.send = Mock(name='event.send')
     self.Model.objects.filter(username='******').delete()
     obj, _ = self.Model.objects.get_or_create(username='******')
     on_create.send.assert_called_with(
         instance=obj,
         data=obj.webhook_payload(),
         sender=None,
     )
Пример #4
0
 def test_on_delete(self):
     on_delete = ModelEvent('x.delete')
     Model = webhook_model(on_delete=on_delete)(self.Model)
     assert Model.webhooks.events['on_delete'] is on_delete
     on_delete.send = Mock(name='event.send')
     obj_pk = self.obj.pk
     self.obj.delete()
     on_delete.send.assert_called_with(
         instance=self.obj,
         data=self.obj.webhooks.payload(self.obj),
         headers=None,
         sender=None,
         context={'instance': obj_pk},
     )
Пример #5
0
 def test_on_create(self):
     on_create = ModelEvent('x.create')
     Model = webhook_model(on_create=on_create)(self.Model)
     assert Model.webhooks.events['on_create'] is on_create
     on_create.send = Mock(name='event.send')
     self.Model.objects.filter(username='******').delete()
     obj, _ = self.Model.objects.get_or_create(username='******')
     on_create.send.assert_called_with(
         instance=obj,
         data=obj.webhooks.payload(obj),
         headers=None,
         sender=None,
         context={'instance': obj.pk},
     )
Пример #6
0
 def test_on_change(self):
     on_change = ModelEvent('x.change')
     Model = webhook_model(
         on_change=on_change,
         sender_field='username',
     )(self.Model)
     self.assertIs(Model.webhook_events.events['on_change'], on_change)
     on_change.send = Mock(name='event.send')
     self.obj.username = '******'
     self.obj.save()
     on_change.send.assert_called_with(
         instance=self.obj,
         data=self.obj.webhook_payload(),
         sender=self.obj.username,
     )
Пример #7
0
 def test_on_change(self):
     on_change = ModelEvent('x.change')
     Model = webhook_model(
         on_change=on_change,
         sender_field='username',
     )(self.Model)
     assert Model.webhooks.events['on_change'] is on_change
     on_change.send = Mock(name='event.send')
     self.obj.username = '******'
     self.obj.save()
     on_change.send.assert_called_with(
         instance=self.obj,
         data=self.obj.webhooks.payload(self.obj),
         headers=None,
         sender=self.obj.username,
         context={'instance': self.obj.pk},
     )
Пример #8
0
    def test_on_custom_with_filter_dispatching_on_delete(self):
        jerry, _ = self.Model.objects.get_or_create(username='******')
        on_jerry_delete = ModelEvent(
            'x.delete', username__eq='jerry').dispatches_on_delete()
        Model = webhook_model(on_jerry_delete=on_jerry_delete)(self.Model)
        assert (Model.webhooks.events['on_jerry_delete'] is on_jerry_delete)
        on_jerry_delete.send = Mock(name='event.send')
        self.obj.delete()
        on_jerry_delete.send.assert_not_called()

        jerry_pk = jerry.pk
        jerry.delete()

        on_jerry_delete.send.assert_called_with(
            instance=jerry,
            data=jerry.webhooks.payload(jerry),
            headers=None,
            sender=None,
            context={'instance': jerry_pk},
        )
Пример #9
0
    def test_on_custom_with_filter_dispatching_on_delete(self):
        jerry, _ = self.Model.objects.get_or_create(username='******')
        on_jerry_delete = ModelEvent(
            'x.delete', username__eq='jerry').dispatches_on_delete()
        Model = webhook_model(on_jerry_delete=on_jerry_delete)(self.Model)
        self.assertIs(
            Model.webhook_events.events['on_jerry_delete'],
            on_jerry_delete,
        )
        on_jerry_delete.send = Mock(name='event.send')
        self.obj.delete()
        on_jerry_delete.send.assert_not_called()

        jerry.delete()

        on_jerry_delete.send.assert_called_with(
            instance=jerry,
            data=jerry.webhook_payload(),
            sender=None,
        )