Make outgoing salmons work.
This commit is contained in:
parent
bed0b39813
commit
6843755834
8 changed files with 117 additions and 7 deletions
|
|
@ -95,6 +95,7 @@ defmodule Pleroma.UserTest do
|
|||
assert user == fetched_user
|
||||
end
|
||||
|
||||
# TODO: Make the test local.
|
||||
test "fetches an external user via ostatus if no user exists" do
|
||||
fetched_user = User.get_or_fetch_by_nickname("shp@social.heldscal.la")
|
||||
assert fetched_user.nickname == "shp@social.heldscal.la"
|
||||
|
|
@ -104,6 +105,11 @@ defmodule Pleroma.UserTest do
|
|||
fetched_user = User.get_or_fetch_by_nickname("nonexistant@social.heldscal.la")
|
||||
assert fetched_user == nil
|
||||
end
|
||||
|
||||
test "returns nil for nonexistant local user" do
|
||||
fetched_user = User.get_or_fetch_by_nickname("nonexistant")
|
||||
assert fetched_user == nil
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ defmodule Pleroma.Web.OStatus.ActivityRepresenterTest do
|
|||
<updated>#{updated_at}</updated>
|
||||
<ostatus:conversation>#{note_activity.data["context"]}</ostatus:conversation>
|
||||
<link href="#{note_activity.data["context"]}" rel="ostatus:conversation" />
|
||||
<link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/>
|
||||
"""
|
||||
|
||||
tuple = ActivityRepresenter.to_simple_form(note_activity, user)
|
||||
|
|
@ -61,6 +62,7 @@ defmodule Pleroma.Web.OStatus.ActivityRepresenterTest do
|
|||
<ostatus:conversation>#{answer.data["context"]}</ostatus:conversation>
|
||||
<link href="#{answer.data["context"]}" rel="ostatus:conversation" />
|
||||
<thr:in-reply-to ref="#{note.data["object"]["id"]}" />
|
||||
<link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/>
|
||||
"""
|
||||
|
||||
tuple = ActivityRepresenter.to_simple_form(answer, user)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
defmodule Pleroma.Web.Salmon.SalmonTest do
|
||||
use Pleroma.DataCase
|
||||
alias Pleroma.Web.Salmon
|
||||
alias Pleroma.{Repo, Activity, User}
|
||||
import Pleroma.Factory
|
||||
|
||||
@magickey "RSA.pu0s-halox4tu7wmES1FVSx6u-4wc0YrUFXcqWXZG4-27UmbCOpMQftRCldNRfyA-qLbz-eqiwQhh-1EwUvjsD4cYbAHNGHwTvDOyx5AKthQUP44ykPv7kjKGh3DWKySJvcs9tlUG87hlo7AvnMo9pwRS_Zz2CacQ-MKaXyDepk=.AQAB"
|
||||
|
||||
|
|
@ -57,4 +59,34 @@ defmodule Pleroma.Web.Salmon.SalmonTest do
|
|||
|
||||
assert key == "RSA.uzg6r1peZU0vXGADWxGJ0PE34WvmhjUmydbX5YYdOiXfODVLwCMi1umGoqUDm-mRu4vNEdFBVJU1CpFA7dKzWgIsqsa501i2XqElmEveXRLvNRWFB6nG03Q5OUY2as8eE54BJm0p20GkMfIJGwP6TSFb-ICp3QjzbatuSPJ6xCE=.AQAB"
|
||||
end
|
||||
|
||||
test "it pushes an activity to remote accounts it's addressed to" do
|
||||
user_data = %{
|
||||
info: %{
|
||||
"salmon" => "http://example.org/salmon"
|
||||
},
|
||||
local: false
|
||||
}
|
||||
|
||||
mentioned_user = insert(:user, user_data)
|
||||
note = insert(:note)
|
||||
activity_data = %{
|
||||
"id" => Pleroma.Web.ActivityPub.ActivityPub.generate_activity_id,
|
||||
"type" => "Create",
|
||||
"actor" => note.data["actor"],
|
||||
"to" => note.data["to"] ++ [mentioned_user.ap_id],
|
||||
"object" => note.data,
|
||||
"published_at" => DateTime.utc_now() |> DateTime.to_iso8601,
|
||||
"context" => note.data["context"]
|
||||
}
|
||||
|
||||
{:ok, activity} = Repo.insert(%Activity{data: activity_data})
|
||||
user = Repo.get_by(User, ap_id: activity.data["actor"])
|
||||
{:ok, user} = Pleroma.Web.WebFinger.ensure_keys_present(user)
|
||||
|
||||
poster = fn (url, data, headers) ->
|
||||
assert url == "http://example.org/salmon"
|
||||
end
|
||||
Salmon.publish(user, activity, poster)
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue