** (EXIT from #PID<0.8019.0>) an exception was raised: ** (ArgumentError) errors were found at the given arguments

HI, i am running my integration test in terminal and got this error…

** (EXIT from #PID<0.8019.0>) an exception was raised:
** (ArgumentError) errors were found at the given arguments:

   * 1st argument: the table identifier does not refer to an existing ETS table
         (stdlib 3.16.1) :ets.lookup(:fake_http_client, :responses)
         (app_count 0.2.0) lib/app_count/core/ets.ex:16: AppCount.Core.ETS.get/2
         (app_count 0.2.0) test/support/http_client.ex:57: AppCount.Support.HTTPClient.next_response/1
         (app_count 0.2.0) lib/app_count/core/http_client.ex:5: AppCount.Core.HTTPClient.get/3
         (app_count 0.2.0) lib/app_count/data/utils/pdf.ex:26: AppCount.Data.Utils.PDF.write_tmp_pdf/2
         (elixir 1.13.0) lib/task/supervised.ex:89: Task.Supervised.invoke_mfa/2
         (elixir 1.13.0) lib/task/supervised.ex:34: Task.Supervised.reply/4
         (stdlib 3.16.1) proc_lib.erl:226: :proc_lib.init_p_do_apply/3
1 Like

Hello and welcome,

Can You provide some code?

It’s hard to understand what You are trying to do…

1 Like

here is the code.


setup do
admin = AppCount.UserHelper.new_admin(%{roles: [“Admin”]})

{:ok, %{check: insert(:check), admin: admin}}

test “SHOW /api/checks/:id”, %{check: check, admin: admin, conn: conn} do
response =
|> admin_request(admin)
|> get(@base_url <> “/#{check.id}”)
|> json_response(200)

assert is_binary(response)


getting error in this test case

The code you posted doesn’t seem directly related to this error, but here’s what I can gather from the stacktrace:

  • something (maybe in another test?) is starting a Task that calls AppCount.Data.Utils.PDF.write_tmp_pdf/2
  • that function depends on an ETS table named :fake_http_client
  • that table doesn’t exist anymore. Maybe it’s deleted by code in an on_exit?

This can happen if you’re testing something that launches a Task as a side-effect but not waiting for the task to complete.

1 Like