e2e_fix
Some checks failed
CI / Test (OTP 27.2 / Elixir 1.18.2) (push) Failing after 0s
CI / Test (OTP 28.4 / Elixir 1.19.4 + E2E) (push) Failing after 0s

This commit is contained in:
2026-03-19 10:20:02 +01:00
parent c6bd582068
commit 6f1777c229

View File

@@ -2,12 +2,14 @@ defmodule NodeSyncE2E.RelayClient do
use WebSockex
def start_link(url, owner, opts \\ []) do
WebSockex.start_link(
url,
__MODULE__,
owner,
Keyword.put(opts, :handle_initial_conn_failure, true)
)
ws_opts =
opts
|> Keyword.put_new(:handle_initial_conn_failure, true)
|> Keyword.put_new(:async, true)
|> Keyword.put_new(:socket_connect_timeout, 2_000)
|> Keyword.put_new(:socket_recv_timeout, 2_000)
WebSockex.start_link(url, __MODULE__, owner, ws_opts)
end
def send_json(pid, payload) do
@@ -460,9 +462,14 @@ defmodule NodeSyncE2E.Runner do
end
defp ensure_event_absent(config, node, event_id) do
broad_filter = %{"ids" => [event_id], "limit" => 1}
filter = %{
"kinds" => [5001],
"#r" => [config.resource],
"ids" => [event_id],
"limit" => 1
}
case query_events(node, config.client_private_key, broad_filter) do
case query_events(node, config.client_private_key, filter) do
{:ok, []} ->
:ok
@@ -473,8 +480,8 @@ defmodule NodeSyncE2E.Runner do
:ok
end
{:error, _reason} ->
:ok
{:error, reason} ->
{:error, {:event_absence_query_failed, reason}}
end
end
@@ -572,7 +579,8 @@ defmodule NodeSyncE2E.Runner do
[filter],
[],
false,
nil
nil,
0
)
after
RelayClient.close(client)
@@ -588,10 +596,14 @@ defmodule NodeSyncE2E.Runner do
filters,
events,
authenticated?,
auth_event_id
auth_event_id,
auth_attempts
) do
receive do
{:node_sync_e2e_relay_client, ^client, :frame, ["AUTH", challenge]} ->
if auth_attempts >= 5 do
{:error, :too_many_auth_challenges}
else
auth_event =
auth_event(relay_auth_url, challenge)
|> sign_event!(private_key)
@@ -606,8 +618,10 @@ defmodule NodeSyncE2E.Runner do
filters,
events,
authenticated?,
auth_event["id"]
auth_event["id"],
auth_attempts + 1
)
end
{:node_sync_e2e_relay_client, ^client, :frame, ["OK", event_id, true, _message]}
when event_id == auth_event_id ->
@@ -621,7 +635,8 @@ defmodule NodeSyncE2E.Runner do
filters,
events,
true,
nil
nil,
auth_attempts
)
{:node_sync_e2e_relay_client, ^client, :frame, ["OK", event_id, false, message]}
@@ -637,7 +652,8 @@ defmodule NodeSyncE2E.Runner do
filters,
[event | events],
authenticated?,
auth_event_id
auth_event_id,
auth_attempts
)
{:node_sync_e2e_relay_client, ^client, :frame, ["EOSE", ^subscription_id]} ->
@@ -658,7 +674,8 @@ defmodule NodeSyncE2E.Runner do
filters,
events,
authenticated?,
auth_event_id
auth_event_id,
auth_attempts
)
true ->