From 85b2387f665045a303486d10e6879a46a7ab922e Mon Sep 17 00:00:00 2001
From: Mark Felder <feld@feld.me>
Date: Tue, 2 Mar 2021 11:37:37 -0600
Subject: [PATCH 1/3] Fix build_application/1 match

---
 lib/pleroma/web/mastodon_api/views/status_view.ex | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lib/pleroma/web/mastodon_api/views/status_view.ex b/lib/pleroma/web/mastodon_api/views/status_view.ex
index bac897a57..a7e762ac1 100644
--- a/lib/pleroma/web/mastodon_api/views/status_view.ex
+++ b/lib/pleroma/web/mastodon_api/views/status_view.ex
@@ -536,6 +536,8 @@ defp build_emoji_map(emoji, users, current_user) do
   end
 
   @spec build_application(map() | nil) :: map() | nil
-  defp build_application(%{type: _type, name: name, url: url}), do: %{name: name, website: url}
+  defp build_application(%{"type" => _type, "name" => name, "url" => url}),
+    do: %{name: name, website: url}
+
   defp build_application(_), do: nil
 end

From f0208980e48ee361f9eaa40352f519a1b95ace28 Mon Sep 17 00:00:00 2001
From: Mark Felder <feld@feld.me>
Date: Tue, 2 Mar 2021 12:29:16 -0600
Subject: [PATCH 2/3] Test both ingestion of post in the status controller and
 the correct response during the view

---
 .../controllers/status_controller_test.exs            | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/test/pleroma/web/mastodon_api/controllers/status_controller_test.exs b/test/pleroma/web/mastodon_api/controllers/status_controller_test.exs
index bd385bccd..634ebf79c 100644
--- a/test/pleroma/web/mastodon_api/controllers/status_controller_test.exs
+++ b/test/pleroma/web/mastodon_api/controllers/status_controller_test.exs
@@ -376,6 +376,17 @@ test "discloses application metadata when enabled" do
           "status" => "cofe is my copilot"
         })
 
+      assert %{
+               "content" => "cofe is my copilot"
+             } = json_response_and_validate_schema(result, 200)
+
+      activity = result.assigns.activity.id
+
+      result =
+        conn
+        |> put_req_header("content-type", "application/json")
+        |> get("api/v1/statuses/#{activity}")
+
       assert %{
                "content" => "cofe is my copilot",
                "application" => %{

From ccbf162088951e4b7f28291ca4cd9b9280b40857 Mon Sep 17 00:00:00 2001
From: Mark Felder <feld@feld.me>
Date: Tue, 2 Mar 2021 12:33:32 -0600
Subject: [PATCH 3/3] Actually test viewing status after ingestion

---
 .../controllers/status_controller_test.exs             | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/test/pleroma/web/mastodon_api/controllers/status_controller_test.exs b/test/pleroma/web/mastodon_api/controllers/status_controller_test.exs
index 634ebf79c..39ab90ba6 100644
--- a/test/pleroma/web/mastodon_api/controllers/status_controller_test.exs
+++ b/test/pleroma/web/mastodon_api/controllers/status_controller_test.exs
@@ -407,6 +407,16 @@ test "hides application metadata when disabled" do
           "status" => "club mate is my wingman"
         })
 
+      assert %{"content" => "club mate is my wingman"} =
+               json_response_and_validate_schema(result, 200)
+
+      activity = result.assigns.activity.id
+
+      result =
+        conn
+        |> put_req_header("content-type", "application/json")
+        |> get("api/v1/statuses/#{activity}")
+
       assert %{
                "content" => "club mate is my wingman",
                "application" => nil