eileennoonan
I’m making HTTP requests from inside a Poolboy pool.
I’m having a hell of a time trying to use Req.Test stubs in ExUnit in an e2e workflow sort of test.
Typically the error I get is:
** (EXIT from #PID<0.1312.0>) an exception was raised:
** (RuntimeError) cannot find mock/stub MyApp.WorkerStatusRequest in process #PID<0.1318.0>
I know that I need to use Req.Test.allow, but getting my test process pid into the code where poolboy runs has proven a challenge.
I’ve gone as far as trying to do an if Application.get_env(:my_app, :env_name) == :test do ... sort of check, using an agent to store a parent pid, but that feels hacky, plus it doesn’t allow me to configure my mocks for each individual tests. The more I try the more tangled of a mess I seem to make.
I can’t help but think there must be an elegant solution here. Can anyone point me to any examples?
Trending in Questions
I having some trouble figuring out if I have set myself too strict of standards for my production server. Currently I can handle 75% of r...
New
Documentation
While reading the Scoped Routes section, I noticed that the documentation currently refers to a problem without explainin...
New
Hello,
I’m trying to build a basic Phoenix web-app, and I’d like to use Tailwind.
However, when I launch mix phx.server, I get an error...
New
Hi everyone,
I am toying with the idea of building a “match maker” for giving personal help to people that wants to start coding.
I sta...
New
I recently noticed that Elixir’s Logger defaults its primary log level to :debug when no :logger, :level application configuration is pre...
New
I’m working on a small exercise involving update_in/3, and I came up with this solution:
data = %{
name: "Periodic Table",
category:...
New
I’ve got trouble wrapping my head around the order in which functions are called in this snippet (from Phoenix’s authentication):
toke...
New
Other Trending Topics
Edit: 2026 May 15 - This post is archived.
Mob is alive!!
Main docs: mob v0.7.11 — Documentation
A bit of explanation for the slightly c...
New
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
I am happy to introduce the very α version of the new programming language compiled to BEAM.
Welcome Cure.
It has literally three kille...
New
Hobbes is a low-level distributed database for the Elixir programming language.
Hobbes provides a simple, safe, and scalable storage lay...
New
Hi everyone!
The first release candidate for the Expert language server project is now available!
We’ve published a press release detai...
New
A little off-topic, but I feel like people here have a good head on their shoulders.
I used to be quite good at making software. Was luc...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ai
- #ecto-query
- #elixirconf-us
- #blog-post
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #elixirconf-eu
- #api
- #forms
- #metaprogramming
- #hex










Showing Posts 1 to 5- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
wojtekmach
The mechanism described in Req.Test — req v0.6.2 is a sort of escape hatch I guess. Hope that helps!
jswanner
Are you writing the poolboy worker yourself? If so, you can set the
:"$callers"in the process dictionary of the worker process, which is then used by the ownership mechanism in Req.Test.eileennoonan
I got this working! Took a few different tries and I had to have Claude help understand some of the errors but this was the approach that did it. Thank you Wojtek for an awesome library!
eileennoonan
Thanks! I tried this but it didn’t work -
$callerswas always empty in my case although there could be a lot of reasons for that. I ended up going with the:telemetrybased approach above.jswanner
Glad you got it to work!
I should have mentioned that setting callers would mean you wouldn’t need to allow the poolboy worker, but you might need to allow whatever is starting the worker (or pass the callers through whatever process that is) if that’s not happening in the test process itself.