Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F162724
like_handling_test.exs
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Award Token
Flag For Later
Size
2 KB
Referenced Files
None
Subscribers
None
like_handling_test.exs
View Options
# Pleroma: A lightweight social networking server
# Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only
defmodule
Pleroma.Web.ActivityPub.Transmogrifier.LikeHandlingTest
do
use
Pleroma.DataCase
,
async
:
true
alias
Pleroma.Activity
alias
Pleroma.Web.ActivityPub.Transmogrifier
alias
Pleroma.Web.CommonAPI
import
Pleroma.Factory
test
"it works for incoming likes"
do
user
=
insert
(
:user
)
{
:ok
,
activity
}
=
CommonAPI
.
post
(
user
,
%{
status
:
"hello"
})
data
=
File
.
read!
(
"test/fixtures/mastodon-like.json"
)
|>
Jason
.
decode!
()
|>
Map
.
put
(
"object"
,
activity
.
data
[
"object"
])
_actor
=
insert
(
:user
,
ap_id
:
data
[
"actor"
],
local
:
false
)
{
:ok
,
%
Activity
{
data
:
data
,
local
:
false
}
=
activity
}
=
Transmogrifier
.
handle_incoming
(
data
)
refute
Enum
.
empty?
(
activity
.
recipients
)
assert
data
[
"actor"
]
==
"http://mastodon.example.org/users/admin"
assert
data
[
"type"
]
==
"Like"
assert
data
[
"id"
]
==
"http://mastodon.example.org/users/admin
#
likes/2"
assert
data
[
"object"
]
==
activity
.
data
[
"object"
]
end
test
"it works for incoming misskey likes, turning them into EmojiReacts"
do
user
=
insert
(
:user
)
{
:ok
,
activity
}
=
CommonAPI
.
post
(
user
,
%{
status
:
"hello"
})
data
=
File
.
read!
(
"test/fixtures/misskey-like.json"
)
|>
Jason
.
decode!
()
|>
Map
.
put
(
"object"
,
activity
.
data
[
"object"
])
_actor
=
insert
(
:user
,
ap_id
:
data
[
"actor"
],
local
:
false
)
{
:ok
,
%
Activity
{
data
:
activity_data
,
local
:
false
}}
=
Transmogrifier
.
handle_incoming
(
data
)
assert
activity_data
[
"actor"
]
==
data
[
"actor"
]
assert
activity_data
[
"type"
]
==
"EmojiReact"
assert
activity_data
[
"id"
]
==
data
[
"id"
]
assert
activity_data
[
"object"
]
==
activity
.
data
[
"object"
]
assert
activity_data
[
"content"
]
==
"🍮"
end
test
"it works for incoming misskey likes that contain unicode emojis, turning them into EmojiReacts"
do
user
=
insert
(
:user
)
{
:ok
,
activity
}
=
CommonAPI
.
post
(
user
,
%{
status
:
"hello"
})
data
=
File
.
read!
(
"test/fixtures/misskey-like.json"
)
|>
Jason
.
decode!
()
|>
Map
.
put
(
"object"
,
activity
.
data
[
"object"
])
|>
Map
.
put
(
"_misskey_reaction"
,
"⭐"
)
_actor
=
insert
(
:user
,
ap_id
:
data
[
"actor"
],
local
:
false
)
{
:ok
,
%
Activity
{
data
:
activity_data
,
local
:
false
}}
=
Transmogrifier
.
handle_incoming
(
data
)
assert
activity_data
[
"actor"
]
==
data
[
"actor"
]
assert
activity_data
[
"type"
]
==
"EmojiReact"
assert
activity_data
[
"id"
]
==
data
[
"id"
]
assert
activity_data
[
"object"
]
==
activity
.
data
[
"object"
]
assert
activity_data
[
"content"
]
==
"⭐"
end
end
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, Feb 21, 5:44 PM (13 h, 10 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
66802
Default Alt Text
like_handling_test.exs (2 KB)
Attached To
Mode
rPUBE pleroma-upstream
Attached
Detach File
Event Timeline
Log In to Comment