Browse Source

ObjectValidator.stringify_keys: filter out nil values

merge-requests/3523/head
Haelwenn (lanodan) Monnier 2 years ago
parent
commit
61d233921c
No known key found for this signature in database GPG Key ID: D5B7A8E43C997DEE
5 changed files with 8 additions and 23 deletions
  1. +1
    -0
      lib/pleroma/web/activity_pub/object_validator.ex
  2. +2
    -2
      lib/pleroma/web/push/impl.ex
  3. +1
    -1
      test/pleroma/web/activity_pub/object_validators/chat_validation_test.exs
  4. +1
    -5
      test/pleroma/web/activity_pub/transmogrifier/audio_handling_test.exs
  5. +3
    -15
      test/pleroma/web/activity_pub/transmogrifier/video_handling_test.exs

+ 1
- 0
lib/pleroma/web/activity_pub/object_validator.ex View File

@@ -213,6 +213,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidator do

def stringify_keys(object) when is_map(object) do
object
|> Enum.filter(fn {_, v} -> v != nil end)
|> Map.new(fn {key, val} -> {to_string(key), stringify_keys(val)} end)
end



+ 2
- 2
lib/pleroma/web/push/impl.ex View File

@@ -124,8 +124,8 @@ defmodule Pleroma.Web.Push.Impl do

def format_body(activity, actor, object, mastodon_type \\ nil)

def format_body(_activity, actor, %{data: %{"type" => "ChatMessage", "content" => content}}, _) do
case content do
def format_body(_activity, actor, %{data: %{"type" => "ChatMessage"} = data}, _) do
case data["content"] do
nil -> "@#{actor.nickname}: (Attachment)"
content -> "@#{actor.nickname}: #{Utils.scrub_html_and_truncate(content, 80)}"
end


+ 1
- 1
test/pleroma/web/activity_pub/object_validators/chat_validation_test.exs View File

@@ -68,7 +68,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.ChatValidationTest do
test "validates for a basic object we build", %{valid_chat_message: valid_chat_message} do
assert {:ok, object, _meta} = ObjectValidator.validate(valid_chat_message, [])

assert Map.put(valid_chat_message, "attachment", nil) == object
assert valid_chat_message == object
assert match?(%{"firefox" => _}, object["emoji"])
end



+ 1
- 5
test/pleroma/web/activity_pub/transmogrifier/audio_handling_test.exs View File

@@ -73,16 +73,12 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.AudioHandlingTest do
%{
"mediaType" => "audio/ogg",
"type" => "Link",
"name" => nil,
"blurhash" => nil,
"url" => [
%{
"href" =>
"https://channels.tests.funkwhale.audio/api/v1/listen/3901e5d8-0445-49d5-9711-e096cf32e515/?upload=42342395-0208-4fee-a38d-259a6dae0871&download=false",
"mediaType" => "audio/ogg",
"type" => "Link",
"width" => nil,
"height" => nil
"type" => "Link"
}
]
}


+ 3
- 15
test/pleroma/web/activity_pub/transmogrifier/video_handling_test.exs View File

@@ -53,16 +53,12 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.VideoHandlingTest do
%{
"type" => "Link",
"mediaType" => "video/mp4",
"name" => nil,
"blurhash" => nil,
"url" => [
%{
"href" =>
"https://peertube.moe/static/webseed/df5f464b-be8d-46fb-ad81-2d4c2d1630e3-480.mp4",
"mediaType" => "video/mp4",
"type" => "Link",
"width" => nil,
"height" => nil
"type" => "Link"
}
]
}
@@ -78,16 +74,12 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.VideoHandlingTest do
%{
"type" => "Link",
"mediaType" => "video/mp4",
"name" => nil,
"blurhash" => nil,
"url" => [
%{
"href" =>
"https://framatube.org/static/webseed/6050732a-8a7a-43d4-a6cd-809525a1d206-1080.mp4",
"mediaType" => "video/mp4",
"type" => "Link",
"width" => nil,
"height" => nil
"type" => "Link"
}
]
}
@@ -110,16 +102,12 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.VideoHandlingTest do
%{
"type" => "Link",
"mediaType" => "video/mp4",
"name" => nil,
"blurhash" => nil,
"url" => [
%{
"href" =>
"https://peertube.stream/static/streaming-playlists/hls/abece3c3-b9c6-47f4-8040-f3eed8c602e6/abece3c3-b9c6-47f4-8040-f3eed8c602e6-1080-fragmented.mp4",
"mediaType" => "video/mp4",
"type" => "Link",
"width" => nil,
"height" => nil
"type" => "Link"
}
]
}


Loading…
Cancel
Save