SearchController: Trim query.
authorlain <lain@soykaf.club>
Fri, 3 Jul 2020 14:36:55 +0000 (16:36 +0200)
committerlain <lain@soykaf.club>
Fri, 3 Jul 2020 14:36:55 +0000 (16:36 +0200)
lib/pleroma/web/mastodon_api/controllers/search_controller.ex
test/web/mastodon_api/controllers/search_controller_test.exs

index e50980122270f505cde0cf9c2325881244135cef..29affa7d54e5d8162b79a1f662fe3c8781c07dfe 100644 (file)
@@ -44,6 +44,7 @@ defmodule Pleroma.Web.MastodonAPI.SearchController do
   def search(conn, params), do: do_search(:v1, conn, params)
 
   defp do_search(version, %{assigns: %{user: user}} = conn, %{q: query} = params) do
+    query = String.trim(query)
     options = search_options(params, user)
     timeout = Keyword.get(Repo.config(), :timeout, 15_000)
     default_values = %{"statuses" => [], "accounts" => [], "hashtags" => []}
index 826f37fbcafec418483e285d610c7c15254111db..24d1959f8a2d7fdd73d187248906633d19bf02f8 100644 (file)
@@ -79,6 +79,7 @@ defmodule Pleroma.Web.MastodonAPI.SearchControllerTest do
       assert status["id"] == to_string(activity.id)
     end
 
+    @tag capture_log: true
     test "constructs hashtags from search query", %{conn: conn} do
       results =
         conn
@@ -318,11 +319,13 @@ defmodule Pleroma.Web.MastodonAPI.SearchControllerTest do
     test "search fetches remote accounts", %{conn: conn} do
       user = insert(:user)
 
+      query = URI.encode_query(%{q: "       mike@osada.macgirvin.com          ", resolve: true})
+
       results =
         conn
         |> assign(:user, user)
         |> assign(:token, insert(:oauth_token, user: user, scopes: ["read"]))
-        |> get("/api/v1/search?q=mike@osada.macgirvin.com&resolve=true")
+        |> get("/api/v1/search?#{query}")
         |> json_response_and_validate_schema(200)
 
       [account] = results["accounts"]