diff options
author | Mark Felder <feld@FreeBSD.org> | 2020-09-09 11:11:36 -0500 |
---|---|---|
committer | Mark Felder <feld@FreeBSD.org> | 2020-09-09 11:11:36 -0500 |
commit | 4ee99dafccd6f7c037270d6bac5e942f322c7efd (patch) | |
tree | 5437905333bb1f2d37488dab6597e647d6776c39 /test/web/mastodon_api/controllers/status_controller_test.exs | |
parent | 563718cab9eb5cf07fd20786697c01b8647db084 (diff) | |
parent | 9d20d29a79f4ea0756f4e2c7f387674f57513b6d (diff) | |
download | pleroma-4ee99dafccd6f7c037270d6bac5e942f322c7efd.tar.gz pleroma-4ee99dafccd6f7c037270d6bac5e942f322c7efd.zip |
Merge branch 'develop' into media-preview-proxy
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 |