Skip to content

Commit cfe64e4

Browse files
committed
test: improve SearchOperationsTest postgres coverage
1 parent f001299 commit cfe64e4

2 files changed

Lines changed: 14 additions & 22 deletions

File tree

lib/logflare/logs/search_operations.ex

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,8 @@ defmodule Logflare.Logs.SearchOperations do
7373
backend = postgres_backend(so)
7474

7575
PostgresAdaptor.execute_query(backend, so.query, query_type: :search)
76+
rescue
77+
error -> {:error, error}
7678
end
7779

7880
defp execute_backend_query(%SO{} = so) do

test/logflare/logs/search_operations_test.exs

Lines changed: 12 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ defmodule Logflare.Logs.SearchOperationsTest do
33

44
import Ecto.Query
55
import Logflare.Utils.Guards
6+
import Logflare.TestUtils
67

78
alias Logflare.Backends
89
alias Logflare.Backends.Adaptor.BigQueryAdaptor
@@ -197,11 +198,11 @@ defmodule Logflare.Logs.SearchOperationsTest do
197198
end
198199

199200
describe "postgres chart aggregation" do
201+
setup_single_tenant(backend_type: :postgres)
202+
200203
setup %{user: user} do
201204
source = insert(:source, user: user)
202205

203-
stub(Backends, :get_default_backend, fn ^user -> %{type: :postgres} end)
204-
205206
base_so =
206207
@postgres_search_attrs
207208
|> Map.merge(%{source: source, type: :aggregates})
@@ -279,11 +280,11 @@ defmodule Logflare.Logs.SearchOperationsTest do
279280
end
280281

281282
describe "postgres query defaults and rules" do
283+
setup_single_tenant(backend_type: :postgres)
284+
282285
setup %{user: user} do
283286
source = insert(:source, user: user)
284287

285-
stub(Backends, :get_default_backend, fn ^user -> %{type: :postgres} end)
286-
287288
so =
288289
%{@postgres_search_attrs | source: source}
289290
|> SO.new()
@@ -333,11 +334,11 @@ defmodule Logflare.Logs.SearchOperationsTest do
333334
end
334335

335336
describe "postgres timestamp filter rules" do
337+
setup_single_tenant(backend_type: :postgres)
338+
336339
setup %{user: user} do
337340
source = insert(:source, user: user)
338341

339-
stub(Backends, :get_default_backend, fn ^user -> %{type: :postgres} end)
340-
341342
base_so =
342343
@postgres_search_attrs
343344
|> Map.merge(%{
@@ -461,14 +462,14 @@ defmodule Logflare.Logs.SearchOperationsTest do
461462
end
462463

463464
describe "postgres backend adaptor integration" do
465+
setup_single_tenant(backend_type: :postgres)
466+
464467
setup %{user: user} do
465468
Mimic.copy(PostgresAdaptor)
466469

467470
source = insert(:source, user: user)
468471
backend = build(:backend, type: :postgres)
469472

470-
stub(Backends, :get_default_backend, fn ^user -> backend end)
471-
472473
base_so =
473474
%{@postgres_search_attrs | source: source, query: from("test_table")}
474475
|> SO.new()
@@ -509,15 +510,8 @@ defmodule Logflare.Logs.SearchOperationsTest do
509510
{:ok, QueryResult.new(rows, %{total_rows: length(rows)})}
510511
end)
511512

512-
PostgresAdaptor
513-
|> expect(:ecto_to_sql, fn %Ecto.Query{}, [] ->
514-
{:ok, {"SELECT * FROM test_table", ["param"]}}
515-
end)
516-
517513
result_so = SearchOperations.do_query(base_so)
518514

519-
assert result_so.sql_string == "SELECT * FROM test_table"
520-
assert result_so.sql_params == ["param"]
521515
assert result_so.rows == rows
522516
refute result_so.error
523517
end
@@ -528,12 +522,13 @@ defmodule Logflare.Logs.SearchOperationsTest do
528522

529523
PostgresAdaptor
530524
|> expect(:execute_query, fn ^backend, %Ecto.Query{}, [query_type: :search] ->
531-
{:error, :postgres_failed}
525+
raise Postgrex.Error,
526+
postgres: %{code: :invalid_sql_statement_name, message: "connection refused"}
532527
end)
533528

534529
result_so = SearchOperations.do_query(base_so)
535530

536-
assert result_so.error == :postgres_failed
531+
assert %Postgrex.Error{} = result_so.error
537532
end
538533

539534
test "do_query/1 renames count to value for aggregates and process_query_result/1 adds datetime",
@@ -552,11 +547,6 @@ defmodule Logflare.Logs.SearchOperationsTest do
552547
{:ok, QueryResult.new(rows, %{total_rows: length(rows)})}
553548
end)
554549

555-
PostgresAdaptor
556-
|> expect(:ecto_to_sql, fn %Ecto.Query{}, [] ->
557-
{:ok, {"SELECT count(*) FROM test_table", []}}
558-
end)
559-
560550
result_so =
561551
%{base_so | type: :aggregates}
562552
|> SearchOperations.do_query()

0 commit comments

Comments
 (0)