Skip to content

Commit

Permalink
mix format is our savior
Browse files Browse the repository at this point in the history
  • Loading branch information
joshk committed Feb 7, 2025
1 parent e394ad8 commit fb2ef27
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 6 deletions.
8 changes: 5 additions & 3 deletions lib/nerves_hub/devices/connections.ex
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,11 @@ defmodule NervesHub.Devices.Connections do

DeviceConnection
|> where(id: ^id)
|> Repo.update_all(set: [
last_seen_at: now,
status: :connected]
|> Repo.update_all(
set: [
last_seen_at: now,
status: :connected
]
)
|> case do
{1, _} -> :ok
Expand Down
6 changes: 5 additions & 1 deletion lib/nerves_hub/devices/device_connection.ex
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,11 @@ defmodule NervesHub.Devices.DeviceConnection do
field(:disconnected_at, :utc_datetime_usec)
field(:disconnected_reason, :string)
field(:metadata, :map, default: %{})
field(:status, Ecto.Enum, values: [:connecting, :connected, :disconnected], default: :connecting)

field(:status, Ecto.Enum,
values: [:connecting, :connected, :disconnected],
default: :connecting
)
end

def create_changeset(params) do
Expand Down
10 changes: 8 additions & 2 deletions test/nerves_hub/devices/connections_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -21,20 +21,26 @@ defmodule NervesHub.Devices.ConnectionsTest do
end

test "device connecting -> connected -> disconnected", %{device: device} do
assert {:ok, %DeviceConnection{id: ref, status: :connecting}} = Connections.device_connecting(device.id)
assert {:ok, %DeviceConnection{id: ref, status: :connecting}} =
Connections.device_connecting(device.id)

assert %DeviceConnection{status: :connecting} = Connections.get_latest_for_device(device.id)

assert :ok = Connections.device_connected(ref)
assert %DeviceConnection{status: :connected} = Connections.get_latest_for_device(device.id)

assert :ok = Connections.device_disconnected(ref)
assert %DeviceConnection{status: :disconnected, disconnected_at: disconnected_at} = Connections.get_latest_for_device(device.id)

assert %DeviceConnection{status: :disconnected, disconnected_at: disconnected_at} =
Connections.get_latest_for_device(device.id)

refute is_nil(disconnected_at)
end

test "device heartbeat", %{device: device} do
assert {:ok, %DeviceConnection{id: connection_id, last_seen_at: first_seen_at} = connection} =
Connections.device_connecting(device.id)

assert :ok = Connections.device_connected(connection_id)

Connections.device_heartbeat(connection_id)
Expand Down

0 comments on commit fb2ef27

Please sign in to comment.