Skip to content

Commit 7f28e0f

Browse files
authored
fix: change Node.all_node_regions to use syn (#1592)
1 parent 881b03f commit 7f28e0f

File tree

3 files changed

+16
-4
lines changed

3 files changed

+16
-4
lines changed

lib/realtime/nodes.ex

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -153,9 +153,7 @@ defmodule Realtime.Nodes do
153153
end
154154
end
155155

156-
@all_regions ~w(eu-west-2 us-east-1 us-west-1 ap-southeast-1 ap-southeast-2)
157-
158156
@spec all_node_regions() :: [String.t()]
159157
@doc "List all the regions where nodes can be launched"
160-
def all_node_regions(), do: @all_regions
158+
def all_node_regions(), do: :syn.group_names(RegionNodes)
161159
end

mix.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ defmodule Realtime.MixProject do
44
def project do
55
[
66
app: :realtime,
7-
version: "2.56.4",
7+
version: "2.56.5",
88
elixir: "~> 1.18",
99
elixirc_paths: elixirc_paths(Mix.env()),
1010
start_permanent: Mix.env() == :prod,

test/realtime/nodes_test.exs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,20 @@ defmodule Realtime.NodesTest do
2020
assert_receive :joined
2121
end
2222

23+
describe "all_node_regions/0" do
24+
test "returns all regions with nodes" do
25+
spawn_fake_node("us-east-1", :node_1)
26+
spawn_fake_node("ap-2", :node_2)
27+
spawn_fake_node("ap-2", :node_3)
28+
29+
assert Nodes.all_node_regions() |> Enum.sort() == ["ap-2", "us-east-1"]
30+
end
31+
32+
test "with no other nodes, returns my region only" do
33+
assert Nodes.all_node_regions() == ["us-east-1"]
34+
end
35+
end
36+
2337
describe "region_nodes/1" do
2438
test "nil region returns empty list" do
2539
assert Nodes.region_nodes(nil) == []

0 commit comments

Comments
 (0)