total rebase
[anni] / test / pleroma / web / rich_media / parser / ttl / opengraph_test.exs
1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2024 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
4
5 defmodule Pleroma.Web.RichMedia.Parser.TTL.OpengraphTest do
6   use Pleroma.DataCase
7   use Oban.Testing, repo: Pleroma.Repo
8
9   import Mox
10
11   alias Pleroma.UnstubbedConfigMock, as: ConfigMock
12   alias Pleroma.Web.RichMedia.Card
13
14   setup do
15     ConfigMock
16     |> stub_with(Pleroma.Test.StaticConfig)
17
18     clear_config([:rich_media, :enabled], true)
19
20     :ok
21   end
22
23   test "OpenGraph TTL value is honored" do
24     url = "https://reddit.com/r/somepost"
25
26     Tesla.Mock.mock(fn
27       %{
28         method: :get,
29         url: ^url
30       } ->
31         %Tesla.Env{status: 200, body: File.read!("test/fixtures/rich_media/reddit.html")}
32
33       %{method: :head} ->
34         %Tesla.Env{status: 200}
35     end)
36
37     Card.get_or_backfill_by_url(url)
38
39     assert_enqueued(worker: Pleroma.Workers.RichMediaExpirationWorker, args: %{"url" => url})
40   end
41 end