diff --git a/test/microwaveprop/propagation/asos_nudge_test.exs b/test/microwaveprop/propagation/asos_nudge_test.exs index b4a8d304..c445bee0 100644 --- a/test/microwaveprop/propagation/asos_nudge_test.exs +++ b/test/microwaveprop/propagation/asos_nudge_test.exs @@ -159,7 +159,7 @@ defmodule Microwaveprop.Propagation.AsosNudgeTest do results = AsosNudge.compute([obs], @valid_time, [hrrr]) - assert length(results) > 0 + assert results != [] for result <- results do assert result.lat == 32.0 @@ -189,7 +189,7 @@ defmodule Microwaveprop.Propagation.AsosNudgeTest do results = AsosNudge.compute([], @valid_time, [far_cell], rain_grid) - assert length(results) > 0 + assert results != [] lat_lons = results |> Enum.map(&{&1.lat, &1.lon}) |> Enum.uniq() assert {40.0, -85.0} in lat_lons end diff --git a/test/microwaveprop/workers/backfill_enqueue_worker_test.exs b/test/microwaveprop/workers/backfill_enqueue_worker_test.exs index 2b48df40..d7920f63 100644 --- a/test/microwaveprop/workers/backfill_enqueue_worker_test.exs +++ b/test/microwaveprop/workers/backfill_enqueue_worker_test.exs @@ -56,11 +56,19 @@ defmodule Microwaveprop.Workers.BackfillEnqueueWorkerTest do :ok end + # ERA5 goes through Copernicus CDS API which is async (submit → poll → download) + # and has no Req.Test plug hook, so inline Oban would block on Process.sleep. + # These tests exercise the non-ERA5 enrichment path; ERA5 has its own coverage. + @non_era5_types ["hrrr", "weather", "terrain", "iemre"] + describe "perform/1" do test "enqueues enrichment jobs for pending contacts" do create_contact() - assert :ok = BackfillEnqueueWorker.perform(%Oban.Job{args: %{"limit" => 10}}) + assert :ok = + BackfillEnqueueWorker.perform(%Oban.Job{ + args: %{"limit" => 10, "types" => @non_era5_types} + }) end test "does not enqueue for already-complete contacts" do @@ -75,7 +83,10 @@ defmodule Microwaveprop.Workers.BackfillEnqueueWorkerTest do }) |> Repo.update!() - assert :ok = BackfillEnqueueWorker.perform(%Oban.Job{args: %{"limit" => 10}}) + assert :ok = + BackfillEnqueueWorker.perform(%Oban.Job{ + args: %{"limit" => 10, "types" => @non_era5_types} + }) end test "respects limit parameter" do @@ -84,7 +95,10 @@ defmodule Microwaveprop.Workers.BackfillEnqueueWorkerTest do create_contact(%{qso_timestamp: ts}) end - assert :ok = BackfillEnqueueWorker.perform(%Oban.Job{args: %{"limit" => 2}}) + assert :ok = + BackfillEnqueueWorker.perform(%Oban.Job{ + args: %{"limit" => 2, "types" => @non_era5_types} + }) end test "broadcasts enqueue_complete with count" do @@ -92,7 +106,10 @@ defmodule Microwaveprop.Workers.BackfillEnqueueWorkerTest do create_contact() - assert :ok = BackfillEnqueueWorker.perform(%Oban.Job{args: %{"limit" => 10}}) + assert :ok = + BackfillEnqueueWorker.perform(%Oban.Job{ + args: %{"limit" => 10, "types" => @non_era5_types} + }) assert_receive {:enqueue_complete, 1} end