tests: add tests for signed object fetches

This commit is contained in:
Ariadne Conill 2019-07-17 22:58:52 +00:00
parent 399acd4c42
commit 1345e0c2bf
2 changed files with 32 additions and 0 deletions

View file

@ -31,6 +31,8 @@ config :pleroma, :instance,
skip_thread_containment: false, skip_thread_containment: false,
federating: false federating: false
config :pleroma, :activitypub, sign_object_fetches: false
# Configure your database # Configure your database
config :pleroma, Pleroma.Repo, config :pleroma, Pleroma.Repo,
adapter: Ecto.Adapters.Postgres, adapter: Ecto.Adapters.Postgres,

View file

@ -150,4 +150,34 @@ defmodule Pleroma.Object.FetcherTest do
assert object.id != object_two.id assert object.id != object_two.id
end end
end end
describe "signed fetches" do
test_with_mock "it signs fetches when configured to do so",
Pleroma.Signature,
[:passthrough],
[] do
option = Pleroma.Config.get([:activitypub, :sign_object_fetches])
Pleroma.Config.put([:activitypub, :sign_object_fetches], true)
Fetcher.fetch_object_from_id("http://mastodon.example.org/@admin/99541947525187367")
assert called(Pleroma.Signature.sign(:_, :_))
Pleroma.Config.put([:activitypub, :sign_object_fetches], option)
end
test_with_mock "it doesn't sign fetches when not configured to do so",
Pleroma.Signature,
[:passthrough],
[] do
option = Pleroma.Config.get([:activitypub, :sign_object_fetches])
Pleroma.Config.put([:activitypub, :sign_object_fetches], false)
Fetcher.fetch_object_from_id("http://mastodon.example.org/@admin/99541947525187367")
refute called(Pleroma.Signature.sign(:_, :_))
Pleroma.Config.put([:activitypub, :sign_object_fetches], option)
end
end
end end