Skip to content

Commit

Permalink
Only broadcast HostRemovedFromCluster message when a host is part o…
Browse files Browse the repository at this point in the history
…f a cluster (#1611)
  • Loading branch information
jamie-suse authored Jul 11, 2023
1 parent 74402c1 commit 68d8614
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 0 deletions.
11 changes: 11 additions & 0 deletions lib/trento/application/projectors/host_projector.ex
Original file line number Diff line number Diff line change
Expand Up @@ -275,6 +275,17 @@ defmodule Trento.HostProjector do
end
end

def after_update(
%HostRemovedFromCluster{host_id: host_id},
_,
%{host: %Trento.HostReadModel{cluster_id: nil}}
) do
TrentoWeb.Endpoint.broadcast("monitoring:hosts", "host_details_updated", %{
id: host_id,
cluster_id: nil
})
end

def after_update(
%HostDetailsUpdated{},
_,
Expand Down
6 changes: 6 additions & 0 deletions test/trento/application/projectors/host_projector_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,10 @@ defmodule Trento.HostProjectorTest do
projection = Repo.get!(HostReadModel, host_id)

assert nil == projection.cluster_id

assert_broadcast "host_details_updated",
%{id: ^host_id, cluster_id: nil},
1000
end

test "should not set the cluster_id to nil if a HostRemovedFromCluster event is received and the host is not part of the cluster anymore" do
Expand All @@ -172,6 +176,8 @@ defmodule Trento.HostProjectorTest do
projection = Repo.get!(HostReadModel, host_id)

assert cluster_id == projection.cluster_id

refute_broadcast "host_details_updated", %{id: ^host_id}
end

test "should update an existing host when HostDetailsUpdated event is received", %{
Expand Down

0 comments on commit 68d8614

Please sign in to comment.