def METHOD_NAME(
    self, m, mock_notif
):
    url = get_operation_url("besluitinformatieobject_create")
    io = EnkelvoudigInformatieObjectFactory.create(
        informatieobjecttype__concept=False
    )
    io_url = f"http://testserver{reverse(io)}"
    besluit = BesluitFactory.create()
    besluit.besluittype.informatieobjecttypen.add(io.informatieobjecttype)
    besluit_url = reverse(besluit)
    data = {
        "informatieobject": io_url,
        "besluit": f"http://testserver{besluit_url}",
    }
    # 1. check that notification task is called
    with self.captureOnCommitCallbacks(execute=True):
        response = self.client.post(url, data)
    self.assertEqual(response.status_code, status.HTTP_201_CREATED, response.data)
    data = response.json()
    message = {
        "aanmaakdatum": "2019-01-01T12:00:00Z",
        "actie": "create",
        "hoofdObject": f"http://testserver{reverse(besluit)}",
        "kanaal": "besluiten",
        "kenmerken": {
            "verantwoordelijkeOrganisatie": besluit.verantwoordelijke_organisatie,
            "besluittype": f"http://testserver{reverse(besluit.besluittype)}",
        },
        "resource": "besluitinformatieobject",
        "resourceUrl": data["url"],
    }
    mock_notif.assert_called_with(message)
    # 2. check that if task is failed, celery retry is called
    mock_nrc_oas_get(m)
    mock_notification_send(m, status_code=403)
    with self.assertRaises(NotificationException):
        send_notification(message)
    self.assertEqual(StatusLog.objects.count(), 1)
    logged_warning = StatusLog.objects.get()
    failed = FailedNotification.objects.get()
    self.assertEqual(failed.statuslog_ptr, logged_warning)
    self.assertEqual(failed.message, message)