Better activities in ostatus.
This commit is contained in:
parent
d23f3e3cf3
commit
cc330421fd
8 changed files with 104 additions and 8 deletions
38
test/web/ostatus/activity_representer_test.exs
Normal file
38
test/web/ostatus/activity_representer_test.exs
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
defmodule Pleroma.Web.OStatus.ActivityRepresenterTest do
|
||||
use Pleroma.DataCase
|
||||
|
||||
alias Pleroma.Web.OStatus.ActivityRepresenter
|
||||
alias Pleroma.User
|
||||
|
||||
import Pleroma.Factory
|
||||
|
||||
test "a note activity" do
|
||||
note_activity = insert(:note_activity)
|
||||
updated_at = note_activity.updated_at
|
||||
|> NaiveDateTime.to_iso8601
|
||||
inserted_at = note_activity.inserted_at
|
||||
|> NaiveDateTime.to_iso8601
|
||||
|
||||
user = User.get_cached_by_ap_id(note_activity.data["actor"])
|
||||
|
||||
expected = """
|
||||
<activity:object-type>http://activitystrea.ms/schema/1.0/note</activity:object-type>
|
||||
<activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
|
||||
<id>#{note_activity.data["id"]}</id>
|
||||
<title>New note by #{user.nickname}</title>
|
||||
<content type="html">#{note_activity.data["object"]["content"]}</content>
|
||||
<published>#{inserted_at}</published>
|
||||
<updated>#{updated_at}</updated>
|
||||
"""
|
||||
|
||||
tuple = ActivityRepresenter.to_simple_form(note_activity, user)
|
||||
|
||||
res = :xmerl.export_simple_content(tuple, :xmerl_xml) |> IO.iodata_to_binary
|
||||
|
||||
assert clean(res) == clean(expected)
|
||||
end
|
||||
|
||||
defp clean(string) do
|
||||
String.replace(string, ~r/\s/, "")
|
||||
end
|
||||
end
|
||||
|
|
@ -2,7 +2,7 @@ defmodule Pleroma.Web.OStatus.FeedRepresenterTest do
|
|||
use Pleroma.DataCase
|
||||
import Pleroma.Factory
|
||||
alias Pleroma.User
|
||||
alias Pleroma.Web.OStatus.{FeedRepresenter, UserRepresenter}
|
||||
alias Pleroma.Web.OStatus.{FeedRepresenter, UserRepresenter, ActivityRepresenter}
|
||||
alias Pleroma.Web.OStatus
|
||||
|
||||
test "returns a feed of the last 20 items of the user" do
|
||||
|
|
@ -18,16 +18,21 @@ defmodule Pleroma.Web.OStatus.FeedRepresenterTest do
|
|||
user_xml = UserRepresenter.to_simple_form(user)
|
||||
|> :xmerl.export_simple_content(:xmerl_xml)
|
||||
|
||||
entry_xml = ActivityRepresenter.to_simple_form(note_activity, user)
|
||||
|> :xmerl.export_simple_content(:xmerl_xml)
|
||||
|
||||
expected = """
|
||||
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:activity="http://activitystrea.ms/spec/1.0/">
|
||||
<id>#{OStatus.feed_path(user)}</id>
|
||||
<title>#{user.nickname}'s timeline</title>
|
||||
<updated>#{most_recent_update}</updated>
|
||||
<entries />
|
||||
<link rel="hub" href="#{OStatus.pubsub_path}" />
|
||||
<author>
|
||||
#{user_xml}
|
||||
</author>
|
||||
<entry>
|
||||
#{entry_xml}
|
||||
</entry>
|
||||
</feed>
|
||||
"""
|
||||
assert clean(res) == clean(expected)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue