• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

supabase / realtime / dc895efc11fc051c5a9513ab7e548e0e053185d8-PR-1354

01 May 2025 10:42PM UTC coverage: 79.314% (-2.5%) from 81.779%
dc895efc11fc051c5a9513ab7e548e0e053185d8-PR-1354

Pull #1354

github

filipecabaco
more test fixing
Pull Request #1354: fix: connect backoff mechanism

15 of 17 new or added lines in 3 files covered. (88.24%)

65 existing lines in 13 files now uncovered.

1687 of 2127 relevant lines covered (79.31%)

1012.24 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

41.67
/lib/realtime_web/controllers/fallback_controller.ex
1
defmodule RealtimeWeb.FallbackController do
2
  @moduledoc """
3
  Translates controller action results into valid `Plug.Conn` responses.
4

5
  See `Phoenix.Controller.action_fallback/1` for more details.
6
  """
7
  use RealtimeWeb, :controller
8
  import RealtimeWeb.ErrorHelpers
9
  import Realtime.Logs
10

11
  def call(conn, {:error, :not_found}) do
12
    conn
13
    |> put_status(:not_found)
14
    |> put_view(RealtimeWeb.ErrorView)
15
    |> render("error.json", message: "Not found")
×
16
  end
17

18
  def call(conn, {:error, %Ecto.Changeset{} = changeset}) do
19
    log_error(
1✔
20
      "UnprocessableEntity",
21
      Ecto.Changeset.traverse_errors(changeset, &translate_error/1)
22
    )
23

24
    conn
25
    |> put_status(:unprocessable_entity)
26
    |> put_view(RealtimeWeb.ChangesetView)
27
    |> render("error.json", changeset: changeset)
1✔
28
  end
29

30
  def call(conn, {:error, _}) do
31
    conn
32
    |> put_status(:unauthorized)
33
    |> put_view(RealtimeWeb.ErrorView)
UNCOV
34
    |> render("error.json", message: "Unauthorized")
1✔
35
  end
36

37
  def call(conn, {:error, status, message}) when is_atom(status) and is_binary(message) do
UNCOV
38
    log_error("UnprocessableEntity", message)
×
39

40
    conn
41
    |> put_status(status)
42
    |> put_view(RealtimeWeb.ErrorView)
UNCOV
43
    |> render("error.json", message: message)
×
44
  end
45

46
  def call(conn, %Ecto.Changeset{valid?: true} = changeset) do
47
    log_error(
×
48
      "UnprocessableEntity",
49
      Ecto.Changeset.traverse_errors(changeset, &translate_error/1)
50
    )
51

52
    conn
53
    |> put_status(:unprocessable_entity)
54
    |> put_view(RealtimeWeb.ChangesetView)
55
    |> render("error.json", changeset: changeset)
×
56
  end
57

58
  def call(conn, %Ecto.Changeset{valid?: false} = changeset) do
59
    log_error(
2✔
60
      "UnprocessableEntity",
61
      Ecto.Changeset.traverse_errors(changeset, &translate_error/1)
62
    )
63

64
    conn
65
    |> put_status(:unprocessable_entity)
66
    |> put_view(RealtimeWeb.ChangesetView)
67
    |> render("error.json", changeset: changeset)
2✔
68
  end
69

70
  def call(conn, response) do
71
    log_error("UnknownErrorOnController", response)
×
72

73
    conn
74
    |> put_status(:unprocessable_entity)
75
    |> put_view(RealtimeWeb.ErrorView)
76
    |> render("error.json", message: "Unknown error")
×
77
  end
78
end
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc