1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
5 defmodule Pleroma.Web.RichMedia.RichMediaControllerTest do
6 use Pleroma.Web.ConnCase
11 mock(fn env -> apply(HttpRequestMock, :request, [env]) end)
15 describe "GET /api/rich_media/parse" do
22 test "returns 404 if not metadata found", %{user: user} do
24 |> with_credentials(user.nickname, "test")
25 |> get("/api/rich_media/parse", %{"url" => "http://example.com/empty"})
29 test "returns OGP metadata", %{user: user} do
32 |> with_credentials(user.nickname, "test")
33 |> get("/api/rich_media/parse", %{"url" => "http://example.com/ogp"})
37 "image" => "http://ia.media-imdb.com/images/rock.jpg",
38 "title" => "The Rock",
39 "type" => "video.movie",
40 "url" => "http://www.imdb.com/title/tt0117500/"
45 defp with_credentials(conn, username, password) do
46 header_content = "Basic " <> Base.encode64("#{username}:#{password}")
47 put_req_header(conn, "authorization", header_content)