Require webhook events

This commit is contained in:
Lain Soykaf 2026-05-26 14:30:50 +04:00
commit 719b5d65b5
No known key found for this signature in database
4 changed files with 35 additions and 6 deletions

View file

@ -33,6 +33,24 @@ defmodule Pleroma.WebhookTest do
assert {:error, _changeset} = Webhook.update(webhook, %{events: [:"status.created"]})
end
test "rejects empty events for non-internal webhooks" do
assert {:error, changeset} = Webhook.create(%{url: "https://example.com/webhook", events: []})
assert %{events: ["can't be blank"]} = errors_on(changeset)
{:ok, webhook} =
Webhook.create(%{url: "https://example.com/valid-webhook", events: [:"report.created"]})
assert {:error, changeset} = Webhook.update(webhook, %{events: []})
assert %{events: ["can't be blank"]} = errors_on(changeset)
assert {:ok, _webhook} =
Webhook.create(%{
url: "https://example.com/internal-webhook",
events: [],
internal: true
})
end
test "filter webhooks by type" do
{:ok, %{id: id1}} =
Webhook.create(%{url: "https://example.com/webhook1", events: [:"report.created"]})