Merge branch 'develop' into 'public-polls'
# Conflicts: # docs/development/API/differences_in_mastoapi_responses.md
This commit is contained in:
commit
ab3f03a04a
482 changed files with 4326 additions and 1430 deletions
|
|
@ -127,7 +127,10 @@ defmodule Pleroma.Cluster do
|
|||
|
||||
defp start_slave({node_host, override_configs}) do
|
||||
log(node_host, "booting federated VM")
|
||||
{:ok, node} = :slave.start(~c"127.0.0.1", node_name(node_host), vm_args())
|
||||
|
||||
{:ok, node} =
|
||||
do_start_slave(%{host: "127.0.0.1", name: node_name(node_host), args: vm_args()})
|
||||
|
||||
add_code_paths(node)
|
||||
load_apps_and_transfer_configuration(node, override_configs)
|
||||
ensure_apps_started(node)
|
||||
|
|
@ -219,4 +222,14 @@ defmodule Pleroma.Cluster do
|
|||
|> Enum.at(0)
|
||||
|> String.to_atom()
|
||||
end
|
||||
|
||||
defp do_start_slave(%{host: host, name: name, args: args} = opts) do
|
||||
peer_module = Application.get_env(__MODULE__, :peer_module)
|
||||
|
||||
if peer_module == :peer do
|
||||
peer_module.start(opts)
|
||||
else
|
||||
peer_module.start(host, name, args)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -115,6 +115,7 @@ defmodule Pleroma.DataCase do
|
|||
Mox.stub_with(Pleroma.Web.ActivityPub.ActivityPubMock, Pleroma.Web.ActivityPub.ActivityPub)
|
||||
Mox.stub_with(Pleroma.Web.FederatorMock, Pleroma.Web.Federator)
|
||||
Mox.stub_with(Pleroma.ConfigMock, Pleroma.Config)
|
||||
Mox.stub_with(Pleroma.StaticStubbedConfigMock, Pleroma.Test.StaticConfig)
|
||||
end
|
||||
|
||||
def ensure_local_uploader(context) do
|
||||
|
|
|
|||
|
|
@ -212,7 +212,7 @@ defmodule Pleroma.Factory do
|
|||
end
|
||||
|
||||
def direct_note_factory do
|
||||
user2 = insert(:user)
|
||||
user2 = insert(:user, local: false, inbox: "http://example.com/inbox")
|
||||
|
||||
%Pleroma.Object{data: data} = note_factory()
|
||||
%Pleroma.Object{data: Map.merge(data, %{"to" => [user2.ap_id]})}
|
||||
|
|
|
|||
|
|
@ -10,6 +10,39 @@ defmodule Pleroma.Tests.Helpers do
|
|||
|
||||
require Logger
|
||||
|
||||
@doc "Accepts two URLs/URIs and sorts the query parameters before comparing"
|
||||
def uri_equal?(a, b) do
|
||||
a_sorted = uri_query_sort(a)
|
||||
b_sorted = uri_query_sort(b)
|
||||
|
||||
match?(^a_sorted, b_sorted)
|
||||
end
|
||||
|
||||
@doc "Accepts a URL/URI and sorts the query parameters"
|
||||
def uri_query_sort(uri) do
|
||||
parsed = URI.parse(uri)
|
||||
|
||||
sorted_query =
|
||||
String.split(parsed.query, "&")
|
||||
|> Enum.sort()
|
||||
|> Enum.join("&")
|
||||
|
||||
parsed
|
||||
|> Map.put(:query, sorted_query)
|
||||
|> URI.to_string()
|
||||
end
|
||||
|
||||
@doc "Returns the value of the specified query parameter for the provided URL"
|
||||
def get_query_parameter(url, param) do
|
||||
url
|
||||
|> URI.parse()
|
||||
|> Map.get(:query)
|
||||
|> URI.query_decoder()
|
||||
|> Enum.to_list()
|
||||
|> Enum.into(%{}, fn {x, y} -> {x, y} end)
|
||||
|> Map.get(param)
|
||||
end
|
||||
|
||||
defmacro clear_config(config_path) do
|
||||
quote do
|
||||
clear_config(unquote(config_path)) do
|
||||
|
|
@ -41,7 +74,7 @@ defmodule Pleroma.Tests.Helpers do
|
|||
# NOTE: `clear_config([section, key], value)` != `clear_config([section], key: value)` (!)
|
||||
# Displaying a warning to prevent unintentional clearing of all but one keys in section
|
||||
if Keyword.keyword?(temp_setting) and length(temp_setting) == 1 do
|
||||
Logger.warn(
|
||||
Logger.warning(
|
||||
"Please change `clear_config([section], key: value)` to `clear_config([section, key], value)`"
|
||||
)
|
||||
end
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ defmodule HttpRequestMock do
|
|||
else
|
||||
error ->
|
||||
with {:error, message} <- error do
|
||||
Logger.warn(to_string(message))
|
||||
Logger.warning(to_string(message))
|
||||
end
|
||||
|
||||
{_, _r} = error
|
||||
|
|
@ -178,7 +178,7 @@ defmodule HttpRequestMock do
|
|||
end
|
||||
|
||||
def get(
|
||||
"https://social.heldscal.la/.well-known/webfinger?resource=nonexistant@social.heldscal.la",
|
||||
"https://social.heldscal.la/.well-known/webfinger?resource=nonexistent@social.heldscal.la",
|
||||
_,
|
||||
_,
|
||||
[{"accept", "application/xrd+xml,application/jrd+json"}]
|
||||
|
|
@ -186,7 +186,7 @@ defmodule HttpRequestMock do
|
|||
{:ok,
|
||||
%Tesla.Env{
|
||||
status: 200,
|
||||
body: File.read!("test/fixtures/tesla_mock/nonexistant@social.heldscal.la.xml")
|
||||
body: File.read!("test/fixtures/tesla_mock/nonexistent@social.heldscal.la.xml")
|
||||
}}
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -26,5 +26,11 @@ Mox.defmock(Pleroma.Web.ActivityPub.SideEffectsMock,
|
|||
Mox.defmock(Pleroma.Web.FederatorMock, for: Pleroma.Web.Federator.Publishing)
|
||||
|
||||
Mox.defmock(Pleroma.ConfigMock, for: Pleroma.Config.Getting)
|
||||
Mox.defmock(Pleroma.UnstubbedConfigMock, for: Pleroma.Config.Getting)
|
||||
Mox.defmock(Pleroma.StaticStubbedConfigMock, for: Pleroma.Config.Getting)
|
||||
|
||||
Mox.defmock(Pleroma.LoggerMock, for: Pleroma.Logging)
|
||||
|
||||
Mox.defmock(Pleroma.User.Backup.ProcessorMock, for: Pleroma.User.Backup.ProcessorAPI)
|
||||
|
||||
Mox.defmock(Pleroma.Uploaders.S3.ExAwsMock, for: Pleroma.Uploaders.S3.ExAwsAPI)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue