logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma
commit: 953aece84866a89bd3de8f6d3f5d30e2f9cfb4f3
parent: 841e4e4d835b8d1cecb33102356ca045571ef1fc
Author: lain <lain@soykaf.club>
Date:   Tue, 10 Mar 2020 18:16:10 +0000

Merge branch 'fix/post-length-validation' into 'develop'

Fix enforcement of character limits

Closes #1618

See merge request pleroma/pleroma!2283

Diffstat:

Mlib/pleroma/web/common_api/utils.ex2+-
Mtest/web/common_api/common_api_test.exs4+++-
2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/lib/pleroma/web/common_api/utils.ex b/lib/pleroma/web/common_api/utils.ex @@ -591,7 +591,7 @@ defmodule Pleroma.Web.CommonAPI.Utils do limit = Pleroma.Config.get([:instance, :limit]) length = String.length(full_payload) - if length < limit do + if length <= limit do :ok else {:error, dgettext("errors", "The status is over the character limit")} diff --git a/test/web/common_api/common_api_test.exs b/test/web/common_api/common_api_test.exs @@ -202,13 +202,15 @@ defmodule Pleroma.Web.CommonAPITest do CommonAPI.post(user, %{"status" => ""}) 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) user = insert(:user) assert {:error, "The status is over the character limit"} = CommonAPI.post(user, %{"status" => "foobar"}) + + assert {:ok, activity} = CommonAPI.post(user, %{"status" => "12345"}) end test "it can handle activities that expire" do