diff options
author | rinpatch <rinpatch@sdf.org> | 2020-09-05 12:37:27 +0300 |
---|---|---|
committer | rinpatch <rinpatch@sdf.org> | 2020-09-05 20:53:46 +0300 |
commit | e198ba492e5cb1b6ff81775db08298bfcdf1454a (patch) | |
tree | 2b94160ba6a4f750bf090fc84c2c53e746c3e307 /test/web/mastodon_api/controllers/status_controller_test.exs | |
parent | 2cd2a8fda3f5a7c2da017eb8e0d786690bdb5509 (diff) | |
download | pleroma-e198ba492e5cb1b6ff81775db08298bfcdf1454a.tar.gz pleroma-e198ba492e5cb1b6ff81775db08298bfcdf1454a.zip |
Rich Media: Do not cache URLs for preview statuses
Closes #1987
Diffstat (limited to 'test/web/mastodon_api/controllers/status_controller_test.exs')
-rw-r--r-- | test/web/mastodon_api/controllers/status_controller_test.exs | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/test/web/mastodon_api/controllers/status_controller_test.exs b/test/web/mastodon_api/controllers/status_controller_test.exs index 5955d8334..f221884e7 100644 --- a/test/web/mastodon_api/controllers/status_controller_test.exs +++ b/test/web/mastodon_api/controllers/status_controller_test.exs @@ -296,9 +296,45 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do assert real_status == fake_status end + test "fake statuses' preview card is not cached", %{conn: conn} do + clear_config([:rich_media, :enabled], true) + + Tesla.Mock.mock(fn + %{ + method: :get, + url: "https://example.com/twitter-card" + } -> + %Tesla.Env{status: 200, body: File.read!("test/fixtures/rich_media/twitter_card.html")} + + env -> + apply(HttpRequestMock, :request, [env]) + end) + + conn1 = + conn + |> put_req_header("content-type", "application/json") + |> post("/api/v1/statuses", %{ + "status" => "https://example.com/ogp", + "preview" => true + }) + + conn2 = + conn + |> put_req_header("content-type", "application/json") + |> post("/api/v1/statuses", %{ + "status" => "https://example.com/twitter-card", + "preview" => true + }) + + assert %{"card" => %{"title" => "The Rock"}} = json_response_and_validate_schema(conn1, 200) + + assert %{"card" => %{"title" => "Small Island Developing States Photo Submission"}} = + json_response_and_validate_schema(conn2, 200) + end + test "posting a status with OGP link preview", %{conn: conn} do Tesla.Mock.mock(fn env -> apply(HttpRequestMock, :request, [env]) end) - Config.put([:rich_media, :enabled], true) + clear_config([:rich_media, :enabled], true) conn = conn |