diff options
Diffstat (limited to 'test/support')
| -rw-r--r-- | test/support/builders/activity_builder.ex | 8 | ||||
| -rw-r--r-- | test/support/builders/user_builder.ex | 4 | ||||
| -rw-r--r-- | test/support/factory.ex | 3 | ||||
| -rw-r--r-- | test/support/httpoison_mock.ex | 70 | 
4 files changed, 80 insertions, 5 deletions
diff --git a/test/support/builders/activity_builder.ex b/test/support/builders/activity_builder.ex index 7ce611f8f..0ebf633b3 100644 --- a/test/support/builders/activity_builder.ex +++ b/test/support/builders/activity_builder.ex @@ -8,9 +8,11 @@ defmodule Pleroma.Builders.ActivityBuilder do        "id" => Pleroma.Web.ActivityPub.Utils.generate_object_id,        "actor" => user.ap_id,        "to" => ["https://www.w3.org/ns/activitystreams#Public"], +      "type" => "Create",        "object" => %{          "type" => "Note", -        "content" => "test" +        "content" => "test", +        "to" => ["https://www.w3.org/ns/activitystreams#Public"],        }      }      Map.merge(activity, data) @@ -23,7 +25,7 @@ defmodule Pleroma.Builders.ActivityBuilder do    def insert_list(times, data \\ %{}, opts \\ %{}) do      Enum.map(1..times, fn (n) -> -      {:ok, activity} = insert(data) +      {:ok, activity} = insert(data, opts)        activity      end)    end @@ -32,7 +34,7 @@ defmodule Pleroma.Builders.ActivityBuilder do      user = Pleroma.Factory.insert(:user)      public = build(%{"id" => 1}, %{user: user}) -    non_public = build(%{"id" => 2, "to" => []}, %{user: user}) +    non_public = build(%{"id" => 2, "to" => [user.follower_address]}, %{user: user})      {:ok, public} = ActivityPub.insert(public)      {:ok, non_public} = ActivityPub.insert(non_public) diff --git a/test/support/builders/user_builder.ex b/test/support/builders/user_builder.ex index 710a1b87c..1e1e80ac9 100644 --- a/test/support/builders/user_builder.ex +++ b/test/support/builders/user_builder.ex @@ -14,6 +14,8 @@ defmodule Pleroma.Builders.UserBuilder do    end    def insert(data \\ %{}) do -    Repo.insert(build(data)) +    {:ok, user} = Repo.insert(build(data)) +    User.invalidate_cache(user) +    {:ok, user}    end  end diff --git a/test/support/factory.ex b/test/support/factory.ex index 7f378915e..1445fe828 100644 --- a/test/support/factory.ex +++ b/test/support/factory.ex @@ -52,7 +52,8 @@ defmodule Pleroma.Factory do      %Pleroma.Activity{        data: data, -      actor: data["actor"] +      actor: data["actor"], +      recipients: data["to"]      }    end diff --git a/test/support/httpoison_mock.ex b/test/support/httpoison_mock.ex index 21607ba95..ad9be9aef 100644 --- a/test/support/httpoison_mock.ex +++ b/test/support/httpoison_mock.ex @@ -80,6 +80,13 @@ defmodule HTTPoisonMock do      }}    end +  def get("https://shitposter.club/.well-known/webfinger?resource=https://shitposter.club/user/5381", [Accept: "application/xrd+xml"], []) do +    {:ok, %Response{ +      status_code: 200, +      body: File.read!("test/fixtures/httpoison_mock/spc_5381_xrd.xml") +    }} +  end +    def get("http://gs.example.org/.well-known/webfinger", [Accept: "application/xrd+xml"], [params: [resource: "http://gs.example.org:4040/index.php/user/1"], follow_redirect: true]) do      {:ok, %Response{        status_code: 200, @@ -122,6 +129,13 @@ defmodule HTTPoisonMock do      }}    end +  def get("https://shitposter.club/api/statuses/user_timeline/5381.atom", _body, _headers) do +    {:ok, %Response{ +      status_code: 200, +      body: File.read!("test/fixtures/httpoison_mock/spc_5381.atom") +    }} +  end +    def get("https://social.heldscal.la/api/statuses/user_timeline/23211.atom", _body, _headers) do      {:ok, %Response{        status_code: 200, @@ -366,6 +380,62 @@ defmodule HTTPoisonMock do      }}    end +  def get("http://mastodon.example.org/users/admin", ["Accept": "application/activity+json"], _) do +    {:ok, %Response{ +      status_code: 200, +      body: File.read!("test/fixtures/httpoison_mock/admin@mastdon.example.org.json") +    }} +  end + +  def get("https://masto.quad.moe/users/_HellPie", ["Accept": "application/activity+json"], _) do +    {:ok, %Response{ +      status_code: 200, +      body: File.read!("test/fixtures/httpoison_mock/hellpie.json") +    }} +  end + +  def get("https://niu.moe/users/rye", ["Accept": "application/activity+json"], _) do +    {:ok, %Response{ +      status_code: 200, +      body: File.read!("test/fixtures/httpoison_mock/rye.json") +    }} +  end + +  def get("https://mstdn.io/users/mayuutann", ["Accept": "application/activity+json"], _) do +    {:ok, %Response{ +      status_code: 200, +      body: File.read!("test/fixtures/httpoison_mock/mayumayu.json") +    }} +  end + +  def get("http://mastodon.example.org/@admin/99541947525187367", ["Accept": "application/activity+json"], _) do +    {:ok, %Response{ +      status_code: 200, +      body: File.read!("test/fixtures/mastodon-note-object.json") +    }} +  end + +  def get("https://mstdn.io/users/mayuutann/statuses/99568293732299394", ["Accept": "application/activity+json"], _) do +    {:ok, %Response{ +      status_code: 200, +      body: File.read!("test/fixtures/httpoison_mock/mayumayupost.json") +    }} +  end + +  def get("https://shitposter.club/notice/7369654", _, _) do +    {:ok, %Response{ +      status_code: 200, +      body: File.read!("test/fixtures/httpoison_mock/7369654.html") +    }} +  end + +  def get("https://shitposter.club/api/statuses/show/7369654.atom", _body, _headers) do +    {:ok, %Response{ +      status_code: 200, +      body: File.read!("test/fixtures/httpoison_mock/7369654.atom") +    }} +  end +    def get(url, body, headers) do      {:error, "Not implemented the mock response for get #{inspect(url)}, #{inspect(body)}, #{inspect(headers)}"}    end  | 
