File tree Expand file tree Collapse file tree 3 files changed +20
-0
lines changed
Expand file tree Collapse file tree 3 files changed +20
-0
lines changed Original file line number Diff line number Diff line change @@ -1160,6 +1160,8 @@ defmodule NervesHub.Devices do
11601160 )
11611161 end
11621162
1163+ @ spec save_device_health ( health_report :: map ( ) ) ::
1164+ { :ok , DeviceHealth . t ( ) } | { :error , Ecto.Changeset . t ( ) }
11631165 def save_device_health ( device_status ) do
11641166 Multi . new ( )
11651167 |> Multi . insert ( :insert_health , DeviceHealth . save ( device_status ) )
Original file line number Diff line number Diff line change @@ -43,6 +43,7 @@ defmodule NervesHub.Devices.Device do
4343 has_many ( :device_certificates , DeviceCertificate , on_delete: :delete_all )
4444 has_many ( :device_connections , DeviceConnection , on_delete: :delete_all )
4545 has_many ( :device_metrics , DeviceMetric , on_delete: :delete_all )
46+ has_many ( :device_health , DeviceHealth , on_delete: :delete_all )
4647
4748 field ( :identifier , :string )
4849 field ( :description , :string )
Original file line number Diff line number Diff line change @@ -7,7 +7,9 @@ defmodule NervesHub.DevicesTest do
77 alias NervesHub.Deployments
88 alias NervesHub.Devices
99 alias NervesHub.Devices.CACertificate
10+ alias NervesHub.Devices.Device
1011 alias NervesHub.Devices.DeviceCertificate
12+ alias NervesHub.Devices.DeviceHealth
1113 alias NervesHub.Firmwares
1214 alias NervesHub.Fixtures
1315 alias NervesHub.Products
@@ -77,6 +79,21 @@ defmodule NervesHub.DevicesTest do
7779 assert { :error , _ } = Devices . get_device_by_org ( org , device . id )
7880 end
7981
82+ test "destroy_device" , % { device: device } do
83+ { :ok , _ } =
84+ Devices . save_device_health ( % {
85+ "device_id" => device . id ,
86+ "data" => % { } ,
87+ "status" => :healthy ,
88+ "status_reasons" => % { }
89+ } )
90+
91+ { :ok , _device } = Devices . destroy_device ( device )
92+
93+ assert is_nil ( Repo . get ( Device , device . id ) )
94+ refute Repo . exists? ( where ( DeviceHealth , device_id: ^ device . id ) )
95+ end
96+
8097 test "can tag multiple devices" , % {
8198 user: user ,
8299 device: device ,
You can’t perform that action at this time.
0 commit comments