Upgrading `bamboo_smtp` breaks test suite but not the app

Hi all,

I’m the maintainer of Plausible Analytics.

We recently found a problem with our email pipeline. Upgrading bamboo_smtp to v3.0 should fix the problem since the underlying problem was fixed in the adapter.

However, upgrading the adapter from v2.1 to v3.1 completely breaks our test suite. We get 75 failing tests with this error message:

     ** (RuntimeError) could not lookup Ecto repo Plausible.Repo because it was not started or it does not exist

I have tried to debug this for hours now with no luck. Has anybody run into the same issue? It’s weird

Here’s the commit that breaks the test suite. Feel free to pull and run the suite yourself: Update bamboo_smtp · plausible/analytics@b99033c · GitHub

I’ve tried removing deps and _build and running mix deps.get again, no luck.

1 Like

Hello. :wave:

I’m one of the maintainers of BambooSMTP. I’m sorry to hear that you encounter some issue with our library.

We will investigate on our side to see if the issue is related to our latest releases. In the meantime, can you try the following?

  • Bump to the latest version of BambooSMTP, which is 4.0.0.

  • Don’t use the extra_applications key in mix.exs to load applications from dependencies. Elixir can do it by itself based on the return value of deps/0. Trying to load everything manually this way can lead to strange behaviour. Our README is misleading regarding that, sorry. :pensive:

1 Like

Thanks for your reply.

I will try these suggestions later today. Just wanted to say that I can reproduce the issue just by bumping bamboo from 1.6.0 from 1.7.0. I suspect it has something to do with Bamboo.Test.

I don’t think bamboo_smtp is the crux of the problem. It just forced an upgrade to Bamboo which seems to be the real cause of the issue. I’m not saying Bamboo is wrong or broken, we’re just probably using it the wrong way. I will RTFM later today to see if we’re doing something different from their testing docs.

1 Like