File tree Expand file tree Collapse file tree 4 files changed +100
-1
lines changed
lib/astarte_core/triggers/simple_events
test/astarte_core/triggers Expand file tree Collapse file tree 4 files changed +100
-1
lines changed Original file line number Diff line number Diff line change 11# This file is responsible for configuring your application
22# and its dependencies with the aid of the Mix.Config module.
3- use Mix. Config
3+ import Config
44
55# This configuration is loaded before any dependency and is restricted
66# to this project. If another project depends on this project, this
Original file line number Diff line number Diff line change @@ -67,6 +67,39 @@ defmodule Astarte.Core.Triggers.SimpleEvents.Encoder do
6767 end
6868 end
6969
70+ defimpl Jason.Encoder , for: SimpleEvents.DeviceRegisteredEvent do
71+ alias Astarte.Core.Triggers.SimpleEvents.DeviceRegisteredEvent
72+
73+ def encode ( % DeviceRegisteredEvent { } , opts ) do
74+ % {
75+ "type" => "device_registered"
76+ }
77+ |> Jason.Encoder . encode ( opts )
78+ end
79+ end
80+
81+ defimpl Jason.Encoder , for: SimpleEvents.DeviceDeletionStartedEvent do
82+ alias Astarte.Core.Triggers.SimpleEvents.DeviceDeletionStartedEvent
83+
84+ def encode ( % DeviceDeletionStartedEvent { } , opts ) do
85+ % {
86+ "type" => "device_deletion_started"
87+ }
88+ |> Jason.Encoder . encode ( opts )
89+ end
90+ end
91+
92+ defimpl Jason.Encoder , for: SimpleEvents.DeviceDeletionFinishedEvent do
93+ alias Astarte.Core.Triggers.SimpleEvents.DeviceDeletionFinishedEvent
94+
95+ def encode ( % DeviceDeletionFinishedEvent { } , opts ) do
96+ % {
97+ "type" => "device_deletion_finished"
98+ }
99+ |> Jason.Encoder . encode ( opts )
100+ end
101+ end
102+
70103 defimpl Jason.Encoder , for: SimpleEvents.IncomingDataEvent do
71104 alias Astarte.Core.Triggers.SimpleEvents.IncomingDataEvent
72105
Original file line number Diff line number Diff line change @@ -53,6 +53,42 @@ defmodule Astarte.Core.SimpleEventsEncoderTest do
5353 assert roundtrip == % { "type" => "device_disconnected" }
5454 end
5555
56+ test "works for DeviceRegisteredEvent" do
57+ alias Astarte.Core.Triggers.SimpleEvents.DeviceRegisteredEvent
58+
59+ event = % DeviceRegisteredEvent { }
60+
61+ roundtrip =
62+ Jason . encode! ( event )
63+ |> Jason . decode! ( )
64+
65+ assert roundtrip == % { "type" => "device_registered" }
66+ end
67+
68+ test "works for DeviceDeletionStartedEvent" do
69+ alias Astarte.Core.Triggers.SimpleEvents.DeviceDeletionStartedEvent
70+
71+ event = % DeviceDeletionStartedEvent { }
72+
73+ roundtrip =
74+ Jason . encode! ( event )
75+ |> Jason . decode! ( )
76+
77+ assert roundtrip == % { "type" => "device_deletion_started" }
78+ end
79+
80+ test "works for DeviceDeletionFinishedEvent" do
81+ alias Astarte.Core.Triggers.SimpleEvents.DeviceDeletionFinishedEvent
82+
83+ event = % DeviceDeletionFinishedEvent { }
84+
85+ roundtrip =
86+ Jason . encode! ( event )
87+ |> Jason . decode! ( )
88+
89+ assert roundtrip == % { "type" => "device_deletion_finished" }
90+ end
91+
5692 test "works for IncomingDataEvent" do
5793 alias Astarte.Core.Triggers.SimpleEvents.IncomingDataEvent
5894
Original file line number Diff line number Diff line change @@ -48,6 +48,36 @@ defmodule Astarte.Core.SimpleEventsTest do
4848 assert DeviceErrorEvent . decode ( serialized_event ) == event
4949 end
5050
51+ test "still works for DeviceRegisteredEvent" do
52+ alias Astarte.Core.Triggers.SimpleEvents.DeviceRegisteredEvent
53+
54+ serialized_event = << >>
55+ event = % DeviceRegisteredEvent { }
56+
57+ assert DeviceRegisteredEvent . encode ( event ) == serialized_event
58+ assert DeviceRegisteredEvent . decode ( serialized_event ) == event
59+ end
60+
61+ test "still works for DeviceDeletionStartedEvent" do
62+ alias Astarte.Core.Triggers.SimpleEvents.DeviceDeletionStartedEvent
63+
64+ serialized_event = << >>
65+ event = % DeviceDeletionStartedEvent { }
66+
67+ assert DeviceDeletionStartedEvent . encode ( event ) == serialized_event
68+ assert DeviceDeletionStartedEvent . decode ( serialized_event ) == event
69+ end
70+
71+ test "still works for DeviceDeletionFinishedEvent" do
72+ alias Astarte.Core.Triggers.SimpleEvents.DeviceDeletionFinishedEvent
73+
74+ serialized_event = << >>
75+ event = % DeviceDeletionFinishedEvent { }
76+
77+ assert DeviceDeletionFinishedEvent . encode ( event ) == serialized_event
78+ assert DeviceDeletionFinishedEvent . decode ( serialized_event ) == event
79+ end
80+
5181 test "still works for IncomingDataEvent" do
5282 alias Astarte.Core.Triggers.SimpleEvents.IncomingDataEvent
5383
You can’t perform that action at this time.
0 commit comments