diff options
author | lain <lain@soykaf.club> | 2020-09-07 10:19:19 +0000 |
---|---|---|
committer | lain <lain@soykaf.club> | 2020-09-07 10:19:19 +0000 |
commit | fdab01ab56e345afaf9e26547ffaa904e4323337 (patch) | |
tree | 7be23678b47a69601c916b44f486910263f7e4dd /test/web/mastodon_api/controllers/status_controller_test.exs | |
parent | 000c315ee7af9110f77e4cbdeb1a66769b1c4695 (diff) | |
parent | e198ba492e5cb1b6ff81775db08298bfcdf1454a (diff) | |
download | pleroma-fdab01ab56e345afaf9e26547ffaa904e4323337.tar.gz pleroma-fdab01ab56e345afaf9e26547ffaa904e4323337.zip |
Merge branch 'fix/rich-media-fake-statuses' into 'develop'
Rich Media: Do not cache URLs for preview statuses
Closes #1987
See merge request pleroma/pleroma!2956
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 |