Fix enforcement of character limits

This commit is contained in:
Mark Felder 2020-03-10 13:08:00 -05:00
parent 841e4e4d83
commit 5af798f246
2 changed files with 4 additions and 2 deletions

View file

@ -591,7 +591,7 @@ def validate_character_limit(full_payload, _attachments) do
limit = Pleroma.Config.get([:instance, :limit]) limit = Pleroma.Config.get([:instance, :limit])
length = String.length(full_payload) length = String.length(full_payload)
if length < limit do if length <= limit do
:ok :ok
else else
{:error, dgettext("errors", "The status is over the character limit")} {:error, dgettext("errors", "The status is over the character limit")}

View file

@ -202,13 +202,15 @@ test "it returns error when status is empty and no attachments" do
CommonAPI.post(user, %{"status" => ""}) CommonAPI.post(user, %{"status" => ""})
end end
test "it returns error when character limit is exceeded" do test "it validates character limits are correctly enforced" do
Pleroma.Config.put([:instance, :limit], 5) Pleroma.Config.put([:instance, :limit], 5)
user = insert(:user) user = insert(:user)
assert {:error, "The status is over the character limit"} = assert {:error, "The status is over the character limit"} =
CommonAPI.post(user, %{"status" => "foobar"}) CommonAPI.post(user, %{"status" => "foobar"})
assert {:ok, activity} = CommonAPI.post(user, %{"status" => "12345"})
end end
test "it can handle activities that expire" do test "it can handle activities that expire" do