From 7b5395c63830c50373c737f38f1de02c970e4649 Mon Sep 17 00:00:00 2001 From: Graham McIntire Date: Wed, 30 Jul 2025 14:33:11 -0500 Subject: [PATCH] fix: Resolve GenServer errors in tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Fix invalid CSS selector in user registration test by replacing `fl-contains` with proper href attribute selector - Disable telemetry database metrics collection in test environment to prevent database ownership errors from telemetry poller This eliminates the GenServer termination errors that were occurring during test runs due to invalid CSS selectors and database access issues in background telemetry processes. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- lib/aprsme/telemetry/database_metrics.ex | 9 +++++++++ test/aprsme_web/live/user_registration_live_test.exs | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/aprsme/telemetry/database_metrics.ex b/lib/aprsme/telemetry/database_metrics.ex index ab7bec4..bfd9b14 100644 --- a/lib/aprsme/telemetry/database_metrics.ex +++ b/lib/aprsme/telemetry/database_metrics.ex @@ -125,6 +125,15 @@ defmodule Aprsme.Telemetry.DatabaseMetrics do end def collect_postgres_metrics do + # Skip database metrics collection in test environment + if Application.get_env(:aprsme, :env) == :test do + :ok + else + do_collect_postgres_metrics() + end + end + + defp do_collect_postgres_metrics do # Database size case Aprsme.Repo.query("SELECT pg_database_size(current_database()) as size") do {:ok, %{rows: [[size]]}} -> diff --git a/test/aprsme_web/live/user_registration_live_test.exs b/test/aprsme_web/live/user_registration_live_test.exs index 8ce7c7d..4bd0780 100644 --- a/test/aprsme_web/live/user_registration_live_test.exs +++ b/test/aprsme_web/live/user_registration_live_test.exs @@ -77,7 +77,7 @@ defmodule AprsmeWeb.UserRegistrationLiveTest do {:ok, _login_live, login_html} = lv - |> element(~s|main a:fl-contains("Sign in")|) + |> element(~s|main a[href="/users/log_in"]|) |> render_click() |> follow_redirect(conn, ~p"/users/log_in")