logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma
commit: e89645e15342b863e654bd5105cc4296ca73820f
parent: 267e714357ec8ea689a6f06a7ae101db15081925
Author: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
Date:   Sat, 29 Feb 2020 06:14:02 +0100

Add fixtures on honk

Diffstat:

Atest/fixtures/tesla_mock/honk-event.json1+
Atest/fixtures/tesla_mock/honk-user.json1+
Mtest/object/fetcher_test.exs7+++++++
Mtest/support/http_request_mock.ex18++++++++++++++++++
Mtest/web/mastodon_api/views/status_view_test.exs15+++++++++++++++
5 files changed, 42 insertions(+), 0 deletions(-)

diff --git a/test/fixtures/tesla_mock/honk-event.json b/test/fixtures/tesla_mock/honk-event.json @@ -0,0 +1 @@ +{"@context":"https://www.w3.org/ns/activitystreams","attributedTo":"https://honk.tedunangst.com/u/tedu","content":"EuroBSDCon 2020.<br><br>Ich liebe Wien.<br><br><a class=\"mention u-url\" href=\"https://2020.eurobsdcon.org/\" rel=noreferrer>https://2020.eurobsdcon.org/</a>","context":"data:,electrichonkytonk-l6H6FZm3jyV8QS3sKr","conversation":"data:,electrichonkytonk-l6H6FZm3jyV8QS3sKr","id":"https://honk.tedunangst.com/u/tedu/h/8dkPX284T8286Mm9HD","published":"2020-02-17T06:05:45Z","startTime":"2020-09-17T09:00:00-04:00","summary":"","to":"https://www.w3.org/ns/activitystreams#Public","type":"Event","url":"https://honk.tedunangst.com/u/tedu/h/8dkPX284T8286Mm9HD"} diff --git a/test/fixtures/tesla_mock/honk-user.json b/test/fixtures/tesla_mock/honk-user.json @@ -0,0 +1 @@ +{"@context":"https://www.w3.org/ns/activitystreams","followers":"https://honk.tedunangst.com/u/tedu/followers","following":"https://honk.tedunangst.com/u/tedu/following","icon":{"mediaType":"image/png","type":"Image","url":"https://honk.tedunangst.com/a?a=https%3A%2F%2Fhonk.tedunangst.com%2Fu%2Ftedu"},"id":"https://honk.tedunangst.com/u/tedu","inbox":"https://honk.tedunangst.com/u/tedu/inbox","name":"tedu","outbox":"https://honk.tedunangst.com/u/tedu/outbox","preferredUsername":"tedu","publicKey":{"id":"https://honk.tedunangst.com/u/tedu#key","owner":"https://honk.tedunangst.com/u/tedu","publicKeyPem":"-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA593GZ9TYrvWgMaMKQ6k6\ngkItUapUgNnNXzU9J63GRtYZ7CE/Zi39Kgpsxu77hHBj34vwjr1Oc9AMrVDIMfu9\nEirW1RWxPvrjThBU56VgkpkAXVsieaffJo80BA00QzV4x69Jgat6OT7ox/HMvMxR\nyZ6CXNCPKQALYqQF6v1fX1kO9lhIA+mPd0JN/qMKvZfd1NXABEk9nORUneH7Audt\nIHNdJzKMHC6wPSQWC7SmXT0/nq6o5mR2SgvwTI/JUx6T5r8NDrwSaqB69e+EMJqR\nxKOh9N4A1ba/AQOQZbO/YkFyYY2VE4HWbvS9XpYL74yT9D6Fp4cUovJiXC+ziam0\nNwIDAQAB\n-----END PUBLIC KEY-----\n"},"summary":"Honker in chief.","type":"Person","url":"https://honk.tedunangst.com/u/tedu"} diff --git a/test/object/fetcher_test.exs b/test/object/fetcher_test.exs @@ -150,6 +150,13 @@ defmodule Pleroma.Object.FetcherTest do assert object end + test "it can fetch Honk events" do + {:ok, object} = + Fetcher.fetch_object_from_id("https://honk.tedunangst.com/u/tedu/h/8dkPX284T8286Mm9HD") + + assert object + end + test "it can fetch wedistribute articles" do {:ok, object} = Fetcher.fetch_object_from_id("https://wedistribute.org/wp-json/pterotype/v1/object/85810") diff --git a/test/support/http_request_mock.ex b/test/support/http_request_mock.ex @@ -366,6 +366,24 @@ defmodule HttpRequestMock do }} end + def get("https://honk.tedunangst.com/u/tedu/h/8dkPX284T8286Mm9HD", _, _, + Accept: "application/activity+json" + ) do + {:ok, + %Tesla.Env{ + status: 200, + body: File.read!("test/fixtures/tesla_mock/honk-event.json") + }} + end + + def get("https://honk.tedunangst.com/u/tedu", _, _, Accept: "application/activity+json") do + {:ok, + %Tesla.Env{ + status: 200, + body: File.read!("test/fixtures/tesla_mock/honk-user.json") + }} + end + def get("https://baptiste.gelez.xyz/@/BaptisteGelez", _, _, _) do {:ok, %Tesla.Env{ diff --git a/test/web/mastodon_api/views/status_view_test.exs b/test/web/mastodon_api/views/status_view_test.exs @@ -519,6 +519,21 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do assert represented[:id] == to_string(activity.id) end + test "a Honk event" do + user = insert(:user) + + {:ok, object} = + Pleroma.Object.Fetcher.fetch_object_from_id( + "https://honk.tedunangst.com/u/tedu/h/8dkPX284T8286Mm9HD" + ) + + %Activity{} = activity = Activity.get_create_by_object_ap_id(object.data["id"]) + + represented = StatusView.render("show.json", %{for: user, activity: activity}) + + assert represented[:id] == to_string(activity.id) + end + describe "build_tags/1" do test "it returns a a dictionary tags" do object_tags = [