From f01881e82a48b4177f943c73338d013010719040 Mon Sep 17 00:00:00 2001 From: Chris McCord Date: Thu, 11 Jul 2019 16:33:20 -0400 Subject: Add federated test infrastructure --- test/federation/federation_test.exs | 43 +++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 test/federation/federation_test.exs (limited to 'test/federation') diff --git a/test/federation/federation_test.exs b/test/federation/federation_test.exs new file mode 100644 index 000000000..7400d2abc --- /dev/null +++ b/test/federation/federation_test.exs @@ -0,0 +1,43 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2018 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Integration.FederationTest do + use Pleroma.DataCase + + import Pleroma.Cluster + + @federated1 :"federated1@127.0.0.1" + + describe "federated cluster primitives" do + test "within/2 captures local bindings and executes block on remote node" do + captured_binding = :captured + + result = + within @federated1 do + user = Pleroma.Factory.insert(:user) + {captured_binding, node(), user} + end + + assert {:captured, @federated1, user} = result + refute Pleroma.User.get_by_id(user.id) + assert user.id == within(@federated1, do: Pleroma.User.get_by_id(user.id)).id + end + + test "runs webserver on customized port" do + {nickname, url, url_404} = + within @federated1 do + import Pleroma.Web.Router.Helpers + user = Pleroma.Factory.insert(:user) + user_url = mastodon_api_url(Pleroma.Web.Endpoint, :user, user) + url_404 = mastodon_api_url(Pleroma.Web.Endpoint, :user, "not-exists") + + {user.nickname, user_url, url_404} + end + + assert {:ok, {{_, 200, _}, _headers, body}} = :httpc.request(~c"#{url}") + assert %{"acct" => ^nickname} = Jason.decode!(body) + assert {:ok, {{_, 404, _}, _headers, _body}} = :httpc.request(~c"#{url_404}") + end + end +end -- cgit v1.2.3 From 717d246491f65024957546fbbbaa7209d92d96d1 Mon Sep 17 00:00:00 2001 From: lain Date: Mon, 22 Jul 2019 16:17:18 +0200 Subject: Tests: Don't run federated tests by default --- test/federation/federation_test.exs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'test/federation') diff --git a/test/federation/federation_test.exs b/test/federation/federation_test.exs index 7400d2abc..8b8e8c870 100644 --- a/test/federation/federation_test.exs +++ b/test/federation/federation_test.exs @@ -4,11 +4,15 @@ defmodule Pleroma.Integration.FederationTest do use Pleroma.DataCase - + @moduletag :federated import Pleroma.Cluster - @federated1 :"federated1@127.0.0.1" + setup_all do + Pleroma.Cluster.spawn_default_cluster() + :ok + end + @federated1 :"federated1@127.0.0.1" describe "federated cluster primitives" do test "within/2 captures local bindings and executes block on remote node" do captured_binding = :captured -- cgit v1.2.3 From bd1984f054b075c04f2098afc5fe326fbc610c10 Mon Sep 17 00:00:00 2001 From: stwf Date: Tue, 26 Nov 2019 15:24:34 -0500 Subject: update tests and Oban --- test/federation/federation_test.exs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'test/federation') diff --git a/test/federation/federation_test.exs b/test/federation/federation_test.exs index 8b8e8c870..45800568a 100644 --- a/test/federation/federation_test.exs +++ b/test/federation/federation_test.exs @@ -33,8 +33,8 @@ defmodule Pleroma.Integration.FederationTest do within @federated1 do import Pleroma.Web.Router.Helpers user = Pleroma.Factory.insert(:user) - user_url = mastodon_api_url(Pleroma.Web.Endpoint, :user, user) - url_404 = mastodon_api_url(Pleroma.Web.Endpoint, :user, "not-exists") + user_url = account_url(Pleroma.Web.Endpoint, :show, user) + url_404 = account_url(Pleroma.Web.Endpoint, :show, "not-exists") {user.nickname, user_url, url_404} end -- cgit v1.2.3