diff options
Diffstat (limited to 'test')
5 files changed, 131 insertions, 68 deletions
diff --git a/test/pleroma/web/activity_pub/transmogrifier/audio_handling_test.exs b/test/pleroma/web/activity_pub/transmogrifier/audio_handling_test.exs index e733f167d..827cdb0dd 100644 --- a/test/pleroma/web/activity_pub/transmogrifier/audio_handling_test.exs +++ b/test/pleroma/web/activity_pub/transmogrifier/audio_handling_test.exs @@ -65,21 +65,24 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.AudioHandlingTest do assert object.data["url"] == "https://channels.tests.funkwhale.audio/library/tracks/74" - assert object.data["attachment"] == [ - %{ - "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" - } - ] - } - ] + assert match?( + [ + %{ + "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" + } + ] + } + ], + object.data["attachment"] + ) end end diff --git a/test/pleroma/web/activity_pub/transmogrifier/video_handling_test.exs b/test/pleroma/web/activity_pub/transmogrifier/video_handling_test.exs index c00df6a04..c8ef354f4 100644 --- a/test/pleroma/web/activity_pub/transmogrifier/video_handling_test.exs +++ b/test/pleroma/web/activity_pub/transmogrifier/video_handling_test.exs @@ -49,22 +49,25 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.VideoHandlingTest do assert object.data["url"] == "https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3" - assert object.data["attachment"] == [ - %{ - "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" - } - ] - } - ] + assert match?( + [ + %{ + "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" + } + ] + } + ], + object.data["attachment"] + ) data = File.read!("test/fixtures/tesla_mock/framatube.org-video.json") |> Jason.decode!() @@ -72,22 +75,25 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.VideoHandlingTest do assert object = Object.normalize(activity, fetch: false) - assert object.data["attachment"] == [ - %{ - "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" - } - ] - } - ] + assert match?( + [ + %{ + "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" + } + ] + } + ], + object.data["attachment"] + ) assert object.data["url"] == "https://framatube.org/videos/watch/6050732a-8a7a-43d4-a6cd-809525a1d206" diff --git a/test/pleroma/web/common_api/utils_test.exs b/test/pleroma/web/common_api/utils_test.exs index f2043e152..5cb106b36 100644 --- a/test/pleroma/web/common_api/utils_test.exs +++ b/test/pleroma/web/common_api/utils_test.exs @@ -511,31 +511,76 @@ defmodule Pleroma.Web.CommonAPI.UtilsTest do end test "returns list attachments with desc" do - object = insert(:note) - desc = Jason.encode!(%{object.id => "test-desc"}) - - assert Utils.attachments_from_ids_descs(["#{object.id}", "34"], desc) == [ - Map.merge(object.data, %{"name" => "test-desc"}) - ] + media = insert(:media) + desc = Jason.encode!(%{media.id => "test-desc"}) + + assert match?( + [ + %{ + "mediaType" => "image/png", + "name" => "test-desc", + "type" => "Document", + "url" => [ + %{ + "href" => "https://pleroma.social/images/pleroma_tan_2.1_cofe.png", + "mediaType" => "image/png", + "type" => "Link" + } + ] + } + ], + Utils.attachments_from_ids_descs(["#{media.id}", "34"], desc) + ) end end describe "attachments_from_ids/1" do test "returns attachments with descs" do - object = insert(:note) - desc = Jason.encode!(%{object.id => "test-desc"}) - - assert Utils.attachments_from_ids(%{ - media_ids: ["#{object.id}"], - descriptions: desc - }) == [ - Map.merge(object.data, %{"name" => "test-desc"}) - ] + media = insert(:media) + desc = Jason.encode!(%{media.id => "test-desc"}) + + assert match?( + [ + %{ + "mediaType" => "image/png", + "name" => "test-desc", + "type" => "Document", + "url" => [ + %{ + "href" => "https://pleroma.social/images/pleroma_tan_2.1_cofe.png", + "mediaType" => "image/png", + "type" => "Link" + } + ] + } + ], + Utils.attachments_from_ids(%{ + media_ids: ["#{media.id}"], + descriptions: desc + }) + ) end test "returns attachments without descs" do - object = insert(:note) - assert Utils.attachments_from_ids(%{media_ids: ["#{object.id}"]}) == [object.data] + media = insert(:media) + + assert match?( + [ + %{ + "mediaType" => "image/png", + "name" => nil, + "type" => "Document", + "url" => [ + %{ + "href" => "https://pleroma.social/images/pleroma_tan_2.1_cofe.png", + "mediaType" => "image/png", + "type" => "Link" + } + ] + } + ], + Utils.attachments_from_ids(%{media_ids: ["#{media.id}"]}) + ) end test "returns [] when not pass media_ids" do diff --git a/test/pleroma/web/mastodon_api/controllers/media_controller_test.exs b/test/pleroma/web/mastodon_api/controllers/media_controller_test.exs index c7470d3df..b285bca7a 100644 --- a/test/pleroma/web/mastodon_api/controllers/media_controller_test.exs +++ b/test/pleroma/web/mastodon_api/controllers/media_controller_test.exs @@ -38,7 +38,7 @@ defmodule Pleroma.Web.MastodonAPI.MediaControllerTest do assert media["id"] media = Media.get_by_id(media["id"]) - assert media.user_id == conn.assigns[:user].id + assert media.actor == conn.assigns[:user].ap_id end test "/api/v2/media", %{conn: conn, user: user, image: image} do @@ -64,7 +64,7 @@ defmodule Pleroma.Web.MastodonAPI.MediaControllerTest do assert media["id"] media = Media.get_by_id(media["id"]) - assert media.user_id == user.id + assert media.actor == user.ap_id end end @@ -134,7 +134,7 @@ defmodule Pleroma.Web.MastodonAPI.MediaControllerTest do test "it returns 403 if media object requested by non-owner", %{media: media, user: user} do %{conn: conn, user: other_user} = oauth_access(["read:media"]) - assert media.user_id == user.id + assert media.actor == user.ap_id refute user.id == other_user.id conn diff --git a/test/support/factory.ex b/test/support/factory.ex index bf9592064..2f5aa970e 100644 --- a/test/support/factory.ex +++ b/test/support/factory.ex @@ -458,4 +458,13 @@ defmodule Pleroma.Factory do phrase: "cofe" } end + + def media_factory do + %Pleroma.Media{ + href: "https://pleroma.social/images/pleroma_tan_2.1_cofe.png", + type: "Link", + media_type: "image/png", + actor: build(:user).ap_id + } + end end |