Separate Web modules related to Federation
This commit is contained in:
@@ -1,30 +0,0 @@
|
||||
# Portions of this file are derived from Pleroma:
|
||||
# Pleroma: A lightweight social networking server
|
||||
# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
|
||||
# SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
defmodule MobilizonWeb.Plug.FederatingTest do
|
||||
use MobilizonWeb.ConnCase
|
||||
|
||||
test "returns and halt the conn when federating is disabled" do
|
||||
Mobilizon.Config.put([:instance, :federating], false)
|
||||
|
||||
conn =
|
||||
build_conn()
|
||||
|> MobilizonWeb.Plugs.Federating.call(%{})
|
||||
|
||||
assert conn.status == 404
|
||||
assert conn.halted
|
||||
end
|
||||
|
||||
test "does nothing when federating is enabled" do
|
||||
Mobilizon.Config.put([:instance, :federating], true)
|
||||
|
||||
conn =
|
||||
build_conn()
|
||||
|> MobilizonWeb.Plugs.Federating.call(%{})
|
||||
|
||||
refute conn.status
|
||||
refute conn.halted
|
||||
end
|
||||
end
|
||||
@@ -1,60 +0,0 @@
|
||||
# Portions of this file are derived from Pleroma:
|
||||
# Pleroma: A lightweight social networking server
|
||||
# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
|
||||
# SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
defmodule MobilizonWeb.Plugs.MappedSignatureToIdentityPlugTest do
|
||||
use MobilizonWeb.ConnCase
|
||||
use ExVCR.Mock, adapter: ExVCR.Adapter.Hackney
|
||||
alias MobilizonWeb.Plugs.MappedSignatureToIdentity
|
||||
|
||||
defp set_signature(conn, key_id) do
|
||||
conn
|
||||
|> put_req_header("signature", "keyId=\"#{key_id}\"")
|
||||
|> assign(:valid_signature, true)
|
||||
end
|
||||
|
||||
test "it successfully maps a valid identity with a valid signature" do
|
||||
use_cassette "activity_pub/signature/valid" do
|
||||
conn =
|
||||
build_conn(:get, "/doesntmattter")
|
||||
|> set_signature("https://framapiaf.org/users/admin")
|
||||
|> MappedSignatureToIdentity.call(%{})
|
||||
|
||||
refute is_nil(conn.assigns.actor)
|
||||
end
|
||||
end
|
||||
|
||||
test "it successfully maps a valid identity with a valid signature with payload" do
|
||||
use_cassette "activity_pub/signature/valid_payload" do
|
||||
conn =
|
||||
build_conn(:post, "/doesntmattter", %{"actor" => "https://framapiaf.org/users/admin"})
|
||||
|> set_signature("https://framapiaf.org/users/admin")
|
||||
|> MappedSignatureToIdentity.call(%{})
|
||||
|
||||
refute is_nil(conn.assigns.actor)
|
||||
end
|
||||
end
|
||||
|
||||
test "it considers a mapped identity to be invalid when it mismatches a payload" do
|
||||
use_cassette "activity_pub/signature/invalid_payload" do
|
||||
conn =
|
||||
build_conn(:post, "/doesntmattter", %{"actor" => "https://framapiaf.org/users/admin"})
|
||||
|> set_signature("https://niu.moe/users/rye")
|
||||
|> MappedSignatureToIdentity.call(%{})
|
||||
|
||||
assert %{valid_signature: false} == conn.assigns
|
||||
end
|
||||
end
|
||||
|
||||
test "it considers a mapped identity to be invalid when the identity cannot be found" do
|
||||
use_cassette "activity_pub/signature/invalid_not_found" do
|
||||
conn =
|
||||
build_conn(:post, "/doesntmattter", %{"actor" => "https://framapiaf.org/users/admin"})
|
||||
|> set_signature("http://niu.moe/users/rye")
|
||||
|> MappedSignatureToIdentity.call(%{})
|
||||
|
||||
assert %{valid_signature: false} == conn.assigns
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -2,11 +2,14 @@ defmodule MobilizonWeb.Resolvers.EventResolverTest do
|
||||
use MobilizonWeb.ConnCase
|
||||
use Bamboo.Test
|
||||
use Oban.Testing, repo: Mobilizon.Storage.Repo
|
||||
alias Mobilizon.Events
|
||||
alias MobilizonWeb.{AbsintheHelpers, Email}
|
||||
alias Mobilizon.Service.Workers.BuildSearchWorker
|
||||
|
||||
import Mobilizon.Factory
|
||||
|
||||
alias Mobilizon.Events
|
||||
alias Mobilizon.Service.Workers
|
||||
|
||||
alias MobilizonWeb.{AbsintheHelpers, Email}
|
||||
|
||||
@event %{
|
||||
description: "some body",
|
||||
title: "some title",
|
||||
@@ -155,7 +158,7 @@ defmodule MobilizonWeb.Resolvers.EventResolverTest do
|
||||
|
||||
assert json_response(res, 200)["data"]["createEvent"]["title"] == "come to my event"
|
||||
{id, ""} = json_response(res, 200)["data"]["createEvent"]["id"] |> Integer.parse()
|
||||
assert_enqueued(worker: BuildSearchWorker, args: %{event_id: id, op: :insert_search_event})
|
||||
assert_enqueued(worker: Workers.BuildSearch, args: %{event_id: id, op: :insert_search_event})
|
||||
end
|
||||
|
||||
test "create_event/3 creates an event and escapes title and description", %{
|
||||
@@ -201,7 +204,7 @@ defmodule MobilizonWeb.Resolvers.EventResolverTest do
|
||||
"<b>My description</b> <img src=\"http://placekitten.com/g/200/300\" />"
|
||||
|
||||
{id, ""} = res["data"]["createEvent"]["id"] |> Integer.parse()
|
||||
assert_enqueued(worker: BuildSearchWorker, args: %{event_id: id, op: :insert_search_event})
|
||||
assert_enqueued(worker: Workers.BuildSearch, args: %{event_id: id, op: :insert_search_event})
|
||||
end
|
||||
|
||||
test "create_event/3 creates an event as a draft", %{conn: conn, actor: actor, user: user} do
|
||||
@@ -238,7 +241,7 @@ defmodule MobilizonWeb.Resolvers.EventResolverTest do
|
||||
{event_id_int, ""} = Integer.parse(event_id)
|
||||
|
||||
refute_enqueued(
|
||||
worker: BuildSearchWorker,
|
||||
worker: Workers.BuildSearch,
|
||||
args: %{event_id: event_id_int, op: :insert_search_event}
|
||||
)
|
||||
|
||||
@@ -371,7 +374,7 @@ defmodule MobilizonWeb.Resolvers.EventResolverTest do
|
||||
{event_id_int, ""} = Integer.parse(event["id"])
|
||||
|
||||
assert_enqueued(
|
||||
worker: BuildSearchWorker,
|
||||
worker: Workers.BuildSearch,
|
||||
args: %{event_id: event_id_int, op: :insert_search_event}
|
||||
)
|
||||
end
|
||||
@@ -827,7 +830,7 @@ defmodule MobilizonWeb.Resolvers.EventResolverTest do
|
||||
{event_id_int, ""} = Integer.parse(event_res["id"])
|
||||
|
||||
assert_enqueued(
|
||||
worker: BuildSearchWorker,
|
||||
worker: Workers.BuildSearch,
|
||||
args: %{event_id: event_id_int, op: :update_search_event}
|
||||
)
|
||||
|
||||
|
||||
@@ -1,10 +1,14 @@
|
||||
defmodule MobilizonWeb.Resolvers.PersonResolverTest do
|
||||
use MobilizonWeb.ConnCase
|
||||
alias MobilizonWeb.AbsintheHelpers
|
||||
alias Mobilizon.Actors.Actor
|
||||
import Mobilizon.Factory
|
||||
use Oban.Testing, repo: Mobilizon.Storage.Repo
|
||||
|
||||
import Mobilizon.Factory
|
||||
|
||||
alias Mobilizon.Actors.Actor
|
||||
alias Mobilizon.Service.Workers
|
||||
|
||||
alias MobilizonWeb.AbsintheHelpers
|
||||
|
||||
@non_existent_username "nonexistent"
|
||||
|
||||
describe "Person Resolver" do
|
||||
@@ -500,7 +504,7 @@ defmodule MobilizonWeb.Resolvers.PersonResolverTest do
|
||||
assert json_response(res, 200)["errors"] == nil
|
||||
|
||||
assert_enqueued(
|
||||
worker: Mobilizon.Service.Workers.BackgroundWorker,
|
||||
worker: Workers.Background,
|
||||
args: %{"actor_id" => person_id, "op" => "delete_actor"}
|
||||
)
|
||||
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
defmodule MobilizonWeb.Resolvers.SearchResolverTest do
|
||||
use MobilizonWeb.ConnCase
|
||||
alias MobilizonWeb.AbsintheHelpers
|
||||
|
||||
import Mobilizon.Factory
|
||||
alias Mobilizon.Service.Workers.BuildSearchWorker
|
||||
|
||||
alias Mobilizon.Service.Workers
|
||||
alias MobilizonWeb.AbsintheHelpers
|
||||
|
||||
setup %{conn: conn} do
|
||||
user = insert(:user)
|
||||
@@ -17,7 +19,7 @@ defmodule MobilizonWeb.Resolvers.SearchResolverTest do
|
||||
insert(:actor, user: user, preferred_username: "test_person")
|
||||
insert(:actor, type: :Group, preferred_username: "test_group")
|
||||
event = insert(:event, title: "test_event")
|
||||
BuildSearchWorker.insert_search_event(event)
|
||||
Workers.BuildSearch.insert_search_event(event)
|
||||
|
||||
query = """
|
||||
{
|
||||
@@ -51,7 +53,7 @@ defmodule MobilizonWeb.Resolvers.SearchResolverTest do
|
||||
actor = insert(:actor, user: user, preferred_username: "test_person")
|
||||
insert(:actor, type: :Group, preferred_username: "test_group")
|
||||
event = insert(:event, title: "test_event")
|
||||
BuildSearchWorker.insert_search_event(event)
|
||||
Workers.BuildSearch.insert_search_event(event)
|
||||
|
||||
query = """
|
||||
{
|
||||
@@ -84,7 +86,7 @@ defmodule MobilizonWeb.Resolvers.SearchResolverTest do
|
||||
insert(:actor, user: user, preferred_username: "test_person")
|
||||
group = insert(:actor, type: :Group, preferred_username: "test_group")
|
||||
event = insert(:event, title: "test_event")
|
||||
BuildSearchWorker.insert_search_event(event)
|
||||
Workers.BuildSearch.insert_search_event(event)
|
||||
|
||||
query = """
|
||||
{
|
||||
@@ -118,9 +120,9 @@ defmodule MobilizonWeb.Resolvers.SearchResolverTest do
|
||||
event1 = insert(:event, title: "Pineapple fashion week")
|
||||
event2 = insert(:event, title: "I love pineAPPLE")
|
||||
event3 = insert(:event, title: "Hello")
|
||||
BuildSearchWorker.insert_search_event(event1)
|
||||
BuildSearchWorker.insert_search_event(event2)
|
||||
BuildSearchWorker.insert_search_event(event3)
|
||||
Workers.BuildSearch.insert_search_event(event1)
|
||||
Workers.BuildSearch.insert_search_event(event2)
|
||||
Workers.BuildSearch.insert_search_event(event3)
|
||||
|
||||
query = """
|
||||
{
|
||||
@@ -161,9 +163,9 @@ defmodule MobilizonWeb.Resolvers.SearchResolverTest do
|
||||
event1 = insert(:event, title: "Pineapple fashion week")
|
||||
event2 = insert(:event, title: "I love pineAPPLE")
|
||||
event3 = insert(:event, title: "Hello")
|
||||
BuildSearchWorker.insert_search_event(event1)
|
||||
BuildSearchWorker.insert_search_event(event2)
|
||||
BuildSearchWorker.insert_search_event(event3)
|
||||
Workers.BuildSearch.insert_search_event(event1)
|
||||
Workers.BuildSearch.insert_search_event(event2)
|
||||
Workers.BuildSearch.insert_search_event(event3)
|
||||
|
||||
query = """
|
||||
{
|
||||
@@ -198,7 +200,7 @@ defmodule MobilizonWeb.Resolvers.SearchResolverTest do
|
||||
insert(:actor, user: user, preferred_username: "person", name: "Torréfaction du Kafé")
|
||||
insert(:actor, type: :Group, preferred_username: "group", name: "Kafé group")
|
||||
event = insert(:event, title: "Tour du monde des Kafés")
|
||||
BuildSearchWorker.insert_search_event(event)
|
||||
Workers.BuildSearch.insert_search_event(event)
|
||||
|
||||
# Elaborate query
|
||||
query = """
|
||||
@@ -230,7 +232,7 @@ defmodule MobilizonWeb.Resolvers.SearchResolverTest do
|
||||
insert(:actor, user: user, preferred_username: "person", name: "Torréfaction du Kafé")
|
||||
group = insert(:actor, type: :Group, preferred_username: "group", name: "Kafé group")
|
||||
event = insert(:event, title: "Tour du monde des Kafés")
|
||||
BuildSearchWorker.insert_search_event(event)
|
||||
Workers.BuildSearch.insert_search_event(event)
|
||||
|
||||
# Elaborate query
|
||||
query = """
|
||||
|
||||
Reference in New Issue
Block a user