Files
parrhesia/test/parrhesia/fanout/multi_node_test.exs

26 lines
672 B
Elixir

defmodule Parrhesia.Fanout.MultiNodeTest do
use ExUnit.Case, async: false
alias Parrhesia.Fanout.MultiNode
alias Parrhesia.Subscriptions.Index
test "publishes remote fanout events across pg members" do
remote_bus = start_supervised!({MultiNode, name: nil})
assert :ok = Index.upsert(Index, self(), "sub-multi", [%{"kinds" => [1]}])
event = %{
"id" => String.duplicate("a", 64),
"kind" => 1,
"pubkey" => String.duplicate("b", 64),
"tags" => [],
"content" => "x"
}
assert :ok = MultiNode.publish(MultiNode, event)
assert_receive {:fanout_event, "sub-multi", ^event}
assert is_pid(remote_bus)
end
end