Add OGP parser

This commit is contained in:
Maxim Filippov 2019-01-01 23:26:40 +03:00
commit 2aab4e03c3
7 changed files with 86 additions and 1 deletions

9
test/fixtures/rich_media/ogp.html vendored Normal file
View file

@ -0,0 +1,9 @@
<html prefix="og: http://ogp.me/ns#">
<head>
<title>The Rock (1996)</title>
<meta property="og:title" content="The Rock" />
<meta property="og:type" content="video.movie" />
<meta property="og:url" content="http://www.imdb.com/title/tt0117500/" />
<meta property="og:image" content="http://ia.media-imdb.com/images/rock.jpg" />
</head>
</html>

View file

@ -0,0 +1,26 @@
defmodule Pleroma.Web.RichMedia.ParserTest do
use ExUnit.Case, async: true
setup do
Tesla.Mock.mock(fn
%{
method: :get,
url: "http://example.com/ogp"
} ->
%Tesla.Env{status: 200, body: File.read!("test/fixtures/rich_media/ogp.html")}
end)
:ok
end
test "parses ogp" do
assert Pleroma.Web.RichMedia.Parser.parse("http://example.com/ogp") ==
%Pleroma.Web.RichMedia.Data{
description: nil,
image: "http://ia.media-imdb.com/images/rock.jpg",
title: "The Rock",
type: "video.movie",
url: "http://www.imdb.com/title/tt0117500/"
}
end
end