diff options
author | lain <lain@soykaf.club> | 2020-11-04 15:00:52 +0000 |
---|---|---|
committer | lain <lain@soykaf.club> | 2020-11-04 15:00:52 +0000 |
commit | 4800ee656bbcd8fe21fe56531123d3a18eccc911 (patch) | |
tree | bddda9d9f46dff6d5ae8dc4ea21ca5b22ab9d781 /test | |
parent | 5db4c823b2e345155fbed48e7e7d12cab87eca72 (diff) | |
parent | eb1e1e74945a55c37e4b0dc7cea1a7c926ff981a (diff) | |
download | pleroma-4800ee656bbcd8fe21fe56531123d3a18eccc911.tar.gz pleroma-4800ee656bbcd8fe21fe56531123d3a18eccc911.zip |
Merge branch 'features/federation-status' into 'develop'
Add a federation_status endpoint showing unreachable instances
See merge request pleroma/pleroma!3086
Diffstat (limited to 'test')
-rw-r--r-- | test/pleroma/web/pleroma_api/controllers/instances_controller_test.exs | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/test/pleroma/web/pleroma_api/controllers/instances_controller_test.exs b/test/pleroma/web/pleroma_api/controllers/instances_controller_test.exs new file mode 100644 index 000000000..13491ed9c --- /dev/null +++ b/test/pleroma/web/pleroma_api/controllers/instances_controller_test.exs @@ -0,0 +1,38 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/> +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.PleromaApi.InstancesControllerTest do + use Pleroma.Web.ConnCase + + alias Pleroma.Instances + + setup_all do: clear_config([:instance, :federation_reachability_timeout_days], 1) + + setup do + constant = "http://consistently-unreachable.name/" + eventual = "http://eventually-unreachable.com/path" + + {:ok, %Pleroma.Instances.Instance{unreachable_since: constant_unreachable}} = + Instances.set_consistently_unreachable(constant) + + _eventual_unrechable = Instances.set_unreachable(eventual) + + %{constant_unreachable: constant_unreachable, constant: constant} + end + + test "GET /api/v1/pleroma/federation_status", %{ + conn: conn, + constant_unreachable: constant_unreachable, + constant: constant + } do + constant_host = URI.parse(constant).host + + assert conn + |> put_req_header("content-type", "application/json") + |> get("/api/v1/pleroma/federation_status") + |> json_response_and_validate_schema(200) == %{ + "unreachable" => %{constant_host => to_string(constant_unreachable)} + } + end +end |