1 defmodule Pleroma.Web.RichMedia.RichMediaControllerTest do
2 use Pleroma.Web.ConnCase
9 url: "http://example.com/ogp"
11 %Tesla.Env{status: 200, body: File.read!("test/fixtures/rich_media/ogp.html")}
13 %{method: :get, url: "http://example.com/empty"} ->
14 %Tesla.Env{status: 200, body: "hello"}
20 describe "GET /api/rich_media/parse" do
27 test "returns 404 if not metadata found", %{user: user} do
29 |> with_credentials(user.nickname, "test")
30 |> get("/api/rich_media/parse", %{"url" => "http://example.com/empty"})
34 test "returns OGP metadata", %{user: user} do
37 |> with_credentials(user.nickname, "test")
38 |> get("/api/rich_media/parse", %{"url" => "http://example.com/ogp"})
42 "image" => "http://ia.media-imdb.com/images/rock.jpg",
43 "title" => "The Rock",
44 "type" => "video.movie",
45 "url" => "http://www.imdb.com/title/tt0117500/"
50 defp with_credentials(conn, username, password) do
51 header_content = "Basic " <> Base.encode64("#{username}:#{password}")
52 put_req_header(conn, "authorization", header_content)