diff options
author | kaniini <ariadne@dereferenced.org> | 2019-07-17 19:44:14 +0000 |
---|---|---|
committer | kaniini <ariadne@dereferenced.org> | 2019-07-17 19:44:14 +0000 |
commit | 60b54ee64a9130dd4a3245b90ab49943a9e881c6 (patch) | |
tree | b7c9908171c223b977c27b0092f8ee4037f26c0c /test | |
parent | 348307ec19a7f6bea1680fda8d726a6bd06f7e99 (diff) | |
parent | f84fb340b7358df195734f2db199e76a819e45bf (diff) | |
download | pleroma-60b54ee64a9130dd4a3245b90ab49943a9e881c6.tar.gz |
Merge branch 'feature/http-signatures-keyid' into 'develop'
http signatures: derive actor from key IDs
See merge request pleroma/pleroma!1442
Diffstat (limited to 'test')
-rw-r--r-- | test/signature_test.exs | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/test/signature_test.exs b/test/signature_test.exs index 4920196c7..840987cd6 100644 --- a/test/signature_test.exs +++ b/test/signature_test.exs @@ -31,25 +31,29 @@ defmodule Pleroma.SignatureTest do 65_537 } + defp make_fake_signature(key_id), do: "keyId=\"#{key_id}\"" + + defp make_fake_conn(key_id), + do: %Plug.Conn{req_headers: %{"signature" => make_fake_signature(key_id <> "#main-key")}} + describe "fetch_public_key/1" do test "it returns key" do expected_result = {:ok, @rsa_public_key} user = insert(:user, %{info: %{source_data: %{"publicKey" => @public_key}}}) - assert Signature.fetch_public_key(%Plug.Conn{params: %{"actor" => user.ap_id}}) == - expected_result + assert Signature.fetch_public_key(make_fake_conn(user.ap_id)) == expected_result end test "it returns error when not found user" do - assert Signature.fetch_public_key(%Plug.Conn{params: %{"actor" => "test-ap_id"}}) == + assert Signature.fetch_public_key(make_fake_conn("test-ap_id")) == {:error, :error} end test "it returns error if public key is empty" do user = insert(:user, %{info: %{source_data: %{"publicKey" => %{}}}}) - assert Signature.fetch_public_key(%Plug.Conn{params: %{"actor" => user.ap_id}}) == + assert Signature.fetch_public_key(make_fake_conn(user.ap_id)) == {:error, :error} end end @@ -58,12 +62,12 @@ defmodule Pleroma.SignatureTest do test "it returns key" do ap_id = "https://mastodon.social/users/lambadalambda" - assert Signature.refetch_public_key(%Plug.Conn{params: %{"actor" => ap_id}}) == + assert Signature.refetch_public_key(make_fake_conn(ap_id)) == {:ok, @rsa_public_key} end test "it returns error when not found user" do - assert Signature.refetch_public_key(%Plug.Conn{params: %{"actor" => "test-ap_id"}}) == + assert Signature.refetch_public_key(make_fake_conn("test-ap_id")) == {:error, {:error, :ok}} end end |