|
|
@ -6,6 +6,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
|
|
|
|
alias Pleroma.Web.{OStatus, CommonAPI}
|
|
|
|
alias Pleroma.Web.{OStatus, CommonAPI}
|
|
|
|
|
|
|
|
|
|
|
|
import Pleroma.Factory
|
|
|
|
import Pleroma.Factory
|
|
|
|
|
|
|
|
import ExUnit.CaptureLog
|
|
|
|
|
|
|
|
|
|
|
|
test "the home timeline", %{conn: conn} do
|
|
|
|
test "the home timeline", %{conn: conn} do
|
|
|
|
user = insert(:user)
|
|
|
|
user = insert(:user)
|
|
|
@ -31,6 +32,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
|
|
|
|
test "the public timeline", %{conn: conn} do
|
|
|
|
test "the public timeline", %{conn: conn} do
|
|
|
|
following = insert(:user)
|
|
|
|
following = insert(:user)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
capture_log fn ->
|
|
|
|
{:ok, _activity} = TwitterAPI.create_status(following, %{"status" => "test"})
|
|
|
|
{:ok, _activity} = TwitterAPI.create_status(following, %{"status" => "test"})
|
|
|
|
{:ok, [_activity]} = OStatus.fetch_activity_from_url("https://shitposter.club/notice/2827873")
|
|
|
|
{:ok, [_activity]} = OStatus.fetch_activity_from_url("https://shitposter.club/notice/2827873")
|
|
|
|
|
|
|
|
|
|
|
@ -49,6 +51,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
|
|
|
|
|
|
|
|
|
|
|
|
assert [%{"content" => "test"}] = json_response(conn, 200)
|
|
|
|
assert [%{"content" => "test"}] = json_response(conn, 200)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
test "posting a status", %{conn: conn} do
|
|
|
|
test "posting a status", %{conn: conn} do
|
|
|
|
user = insert(:user)
|
|
|
|
user = insert(:user)
|
|
|
@ -144,7 +147,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
|
|
|
|
other_user = insert(:user)
|
|
|
|
other_user = insert(:user)
|
|
|
|
|
|
|
|
|
|
|
|
{:ok, activity} = TwitterAPI.create_status(other_user, %{"status" => "hi @#{user.nickname}"})
|
|
|
|
{:ok, activity} = TwitterAPI.create_status(other_user, %{"status" => "hi @#{user.nickname}"})
|
|
|
|
{:ok, [notification]} = Notification.create_notifications(activity)
|
|
|
|
{:ok, [_notification]} = Notification.create_notifications(activity)
|
|
|
|
|
|
|
|
|
|
|
|
conn = conn
|
|
|
|
conn = conn
|
|
|
|
|> assign(:user, user)
|
|
|
|
|> assign(:user, user)
|
|
|
@ -190,7 +193,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
|
|
|
|
other_user = insert(:user)
|
|
|
|
other_user = insert(:user)
|
|
|
|
|
|
|
|
|
|
|
|
{:ok, activity} = TwitterAPI.create_status(other_user, %{"status" => "hi @#{user.nickname}"})
|
|
|
|
{:ok, activity} = TwitterAPI.create_status(other_user, %{"status" => "hi @#{user.nickname}"})
|
|
|
|
{:ok, [notification]} = Notification.create_notifications(activity)
|
|
|
|
{:ok, [_notification]} = Notification.create_notifications(activity)
|
|
|
|
|
|
|
|
|
|
|
|
conn = conn
|
|
|
|
conn = conn
|
|
|
|
|> assign(:user, user)
|
|
|
|
|> assign(:user, user)
|
|
|
@ -338,9 +341,9 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
|
|
|
|
test "hashtag timeline", %{conn: conn} do
|
|
|
|
test "hashtag timeline", %{conn: conn} do
|
|
|
|
following = insert(:user)
|
|
|
|
following = insert(:user)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
capture_log fn ->
|
|
|
|
{:ok, activity} = TwitterAPI.create_status(following, %{"status" => "test #2hu"})
|
|
|
|
{:ok, activity} = TwitterAPI.create_status(following, %{"status" => "test #2hu"})
|
|
|
|
{:ok, [_activity]} = OStatus.fetch_activity_from_url("https://shitposter.club/notice/2827873")
|
|
|
|
{:ok, [_activity]} = OStatus.fetch_activity_from_url("https://shitposter.club/notice/2827873")
|
|
|
|
|
|
|
|
|
|
|
|
conn = conn
|
|
|
|
conn = conn
|
|
|
|
|> get("/api/v1/timelines/tag/2hu")
|
|
|
|
|> get("/api/v1/timelines/tag/2hu")
|
|
|
|
|
|
|
|
|
|
|
@ -348,6 +351,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
|
|
|
|
|
|
|
|
|
|
|
|
assert id == to_string(activity.id)
|
|
|
|
assert id == to_string(activity.id)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
test "getting followers", %{conn: conn} do
|
|
|
|
test "getting followers", %{conn: conn} do
|
|
|
|
user = insert(:user)
|
|
|
|
user = insert(:user)
|
|
|
@ -381,14 +385,14 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
|
|
|
|
|> assign(:user, user)
|
|
|
|
|> assign(:user, user)
|
|
|
|
|> post("/api/v1/accounts/#{other_user.id}/follow")
|
|
|
|
|> post("/api/v1/accounts/#{other_user.id}/follow")
|
|
|
|
|
|
|
|
|
|
|
|
assert %{"id" => id, "following" => true} = json_response(conn, 200)
|
|
|
|
assert %{"id" => _id, "following" => true} = json_response(conn, 200)
|
|
|
|
|
|
|
|
|
|
|
|
user = Repo.get(User, user.id)
|
|
|
|
user = Repo.get(User, user.id)
|
|
|
|
conn = build_conn()
|
|
|
|
conn = build_conn()
|
|
|
|
|> assign(:user, user)
|
|
|
|
|> assign(:user, user)
|
|
|
|
|> post("/api/v1/accounts/#{other_user.id}/unfollow")
|
|
|
|
|> post("/api/v1/accounts/#{other_user.id}/unfollow")
|
|
|
|
|
|
|
|
|
|
|
|
assert %{"id" => id, "following" => false} = json_response(conn, 200)
|
|
|
|
assert %{"id" => _id, "following" => false} = json_response(conn, 200)
|
|
|
|
|
|
|
|
|
|
|
|
user = Repo.get(User, user.id)
|
|
|
|
user = Repo.get(User, user.id)
|
|
|
|
conn = build_conn()
|
|
|
|
conn = build_conn()
|
|
|
@ -407,14 +411,14 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
|
|
|
|
|> assign(:user, user)
|
|
|
|
|> assign(:user, user)
|
|
|
|
|> post("/api/v1/accounts/#{other_user.id}/block")
|
|
|
|
|> post("/api/v1/accounts/#{other_user.id}/block")
|
|
|
|
|
|
|
|
|
|
|
|
assert %{"id" => id, "blocking" => true} = json_response(conn, 200)
|
|
|
|
assert %{"id" => _id, "blocking" => true} = json_response(conn, 200)
|
|
|
|
|
|
|
|
|
|
|
|
user = Repo.get(User, user.id)
|
|
|
|
user = Repo.get(User, user.id)
|
|
|
|
conn = build_conn()
|
|
|
|
conn = build_conn()
|
|
|
|
|> assign(:user, user)
|
|
|
|
|> assign(:user, user)
|
|
|
|
|> post("/api/v1/accounts/#{other_user.id}/unblock")
|
|
|
|
|> post("/api/v1/accounts/#{other_user.id}/unblock")
|
|
|
|
|
|
|
|
|
|
|
|
assert %{"id" => id, "blocking" => false} = json_response(conn, 200)
|
|
|
|
assert %{"id" => _id, "blocking" => false} = json_response(conn, 200)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
test "getting a list of blocks", %{conn: conn} do
|
|
|
|
test "getting a list of blocks", %{conn: conn} do
|
|
|
@ -461,7 +465,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
|
|
|
|
|
|
|
|
|
|
|
|
test "account search", %{conn: conn} do
|
|
|
|
test "account search", %{conn: conn} do
|
|
|
|
user = insert(:user)
|
|
|
|
user = insert(:user)
|
|
|
|
user_two = insert(:user, %{nickname: "shp@shitposter.club"})
|
|
|
|
_user_two = insert(:user, %{nickname: "shp@shitposter.club"})
|
|
|
|
user_three = insert(:user, %{nickname: "shp@heldscal.la", name: "I love 2hu"})
|
|
|
|
user_three = insert(:user, %{nickname: "shp@heldscal.la", name: "I love 2hu"})
|
|
|
|
|
|
|
|
|
|
|
|
conn = conn
|
|
|
|
conn = conn
|
|
|
@ -495,6 +499,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
test "search fetches remote statuses", %{conn: conn} do
|
|
|
|
test "search fetches remote statuses", %{conn: conn} do
|
|
|
|
|
|
|
|
capture_log fn ->
|
|
|
|
conn = conn
|
|
|
|
conn = conn
|
|
|
|
|> get("/api/v1/search", %{"q" => "https://shitposter.club/notice/2827873"})
|
|
|
|
|> get("/api/v1/search", %{"q" => "https://shitposter.club/notice/2827873"})
|
|
|
|
assert results = json_response(conn, 200)
|
|
|
|
assert results = json_response(conn, 200)
|
|
|
@ -502,6 +507,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
|
|
|
|
[status] = results["statuses"]
|
|
|
|
[status] = results["statuses"]
|
|
|
|
assert status["uri"] == "tag:shitposter.club,2017-05-05:noticeId=2827873:objectType=comment"
|
|
|
|
assert status["uri"] == "tag:shitposter.club,2017-05-05:noticeId=2827873:objectType=comment"
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
test "search fetches remote accounts", %{conn: conn} do
|
|
|
|
test "search fetches remote accounts", %{conn: conn} do
|
|
|
|
conn = conn
|
|
|
|
conn = conn
|
|
|
|