Skip to content

Commit 964e089

Browse files
committed
refactor(e2e): delete http data triggers
Signed-off-by: ArnelaL <arnela.lisic@secomind.com>
1 parent 3a34d70 commit 964e089

File tree

1 file changed

+42
-2
lines changed

1 file changed

+42
-2
lines changed

tools/astarte_e2e/lib/astarte_e2e/data_trigger.ex

Lines changed: 42 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,9 +98,48 @@ defmodule AstarteE2E.DataTrigger do
9898
%{"value" => value} = event
9999

100100
case pop_trigger(state.messages, trigger, value) do
101-
{:ok, []} -> {:stop, :normal, :ok, %{state | messages: []}}
101+
{:ok, []} -> {:reply, :ok, %{state | messages: []}, {:continue, :delete_triggers}}
102102
{:ok, new_messages} -> {:reply, :ok, %{state | messages: new_messages}}
103-
{:error, :not_found} -> {:reply, {:error, :not_founnd}, state}
103+
{:error, :not_found} -> {:reply, {:error, :not_found}, state}
104+
end
105+
end
106+
107+
@impl GenServer
108+
def handle_continue(:delete_triggers, state) do
109+
base_url = Config.realm_management_url!()
110+
realm = Config.realm!()
111+
astarte_jwt = Config.jwt!() || raise "Missing JWT"
112+
113+
headers = [
114+
{"Authorization", "Bearer #{astarte_jwt}"}
115+
]
116+
117+
triggers = [@properties_trigger, @datastream_trigger]
118+
119+
result =
120+
Enum.reduce_while(triggers, :ok, fn trigger, :ok ->
121+
url = Path.join([base_url, "v1", realm, "triggers", trigger])
122+
123+
case HTTPoison.delete(url, headers) do
124+
{:ok, %HTTPoison.Response{status_code: code}} when code in [200, 202, 204] ->
125+
{:cont, :ok}
126+
127+
{:ok, %HTTPoison.Response{status_code: code, body: body}} ->
128+
{:halt, {:error, %{status: code, body: body}}}
129+
130+
{:error, %HTTPoison.Error{} = error} ->
131+
{:halt, {:error, error}}
132+
end
133+
end)
134+
135+
case result do
136+
:ok ->
137+
Logger.info("Http Data Triggers deleted successfully")
138+
{:stop, :normal, state}
139+
140+
{:error, error} ->
141+
Logger.error("Failed to delete triggers: #{inspect(error)}")
142+
{:stop, error, state}
104143
end
105144
end
106145

@@ -120,6 +159,7 @@ defmodule AstarteE2E.DataTrigger do
120159
]
121160

122161
trigger_url = Config.base_url!() |> Path.join("triggers/data")
162+
Logger.warning("Trigger url #{trigger_url}")
123163

124164
triggers = [
125165
%{

0 commit comments

Comments
 (0)