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:
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