Change validation error status codes to be more appropriate
authorrinpatch <rinpatch@sdf.org>
Tue, 21 May 2019 14:12:38 +0000 (17:12 +0300)
committerrinpatch <rinpatch@sdf.org>
Tue, 21 May 2019 14:12:38 +0000 (17:12 +0300)
lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
test/web/mastodon_api/mastodon_api_controller_test.exs

index e2cab86f1a28737d31ff5dfa294466c1ede6a900..aef2abf0bcc7c22b2da7289fe27f9363cc3264cb 100644 (file)
@@ -488,12 +488,12 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
       case get_cached_status_or_post(conn, params) do
         {:ignore, message} ->
           conn
-          |> put_status(401)
+          |> put_status(422)
           |> json(%{error: message})
 
         {:error, message} ->
           conn
-          |> put_status(401)
+          |> put_status(422)
           |> json(%{error: message})
 
         {_, activity} ->
index e1df79ffbb6d6638a3377b0ff1d86d4804b62478..4f332f83c666d9b041c1d40ab65ed44c39296614 100644 (file)
@@ -181,7 +181,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
           "poll" => %{"options" => Enum.map(0..limit, fn _ -> "desu" end), "expires_in" => 1}
         })
 
-      %{"error" => error} = json_response(conn, 401)
+      %{"error" => error} = json_response(conn, 422)
       assert error == "Poll can't contain more than #{limit} options"
     end
 
@@ -200,7 +200,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
           }
         })
 
-      %{"error" => error} = json_response(conn, 401)
+      %{"error" => error} = json_response(conn, 422)
       assert error == "Poll options cannot be longer than #{limit} characters each"
     end
 
@@ -219,7 +219,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
           }
         })
 
-      %{"error" => error} = json_response(conn, 401)
+      %{"error" => error} = json_response(conn, 422)
       assert error == "Expiration date is too soon"
     end
 
@@ -238,7 +238,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
           }
         })
 
-      %{"error" => error} = json_response(conn, 401)
+      %{"error" => error} = json_response(conn, 422)
       assert error == "Expiration date is too far in the future"
     end
   end