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
yes
here is the code.
@base_url “http://administration.example.com/api/checks”
setup do
admin = AppCount.UserHelper.new_admin(%{roles: [“Admin”]})
{:ok, %{check: insert(:check), admin: admin}}
end
test “SHOW /api/checks/:id”, %{check: check, admin: admin, conn: conn} do
response =
conn
|> admin_request(admin)
|> get(@base_url <> “/#{check.id}”)
|> json_response(200)
assert is_binary(response)
end
getting error in this test case
al2o3cr
5
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