0

When running an automated test with a omniauth mock, I get:

Run options: -b --seed 58490    

# Running:

D, [2023-02-14T18:24:28.454047 #7345] DEBUG -- omniauth: (github) Setup endpoint detected, running now.
E, [2023-02-14T18:24:28.457195 #7345] ERROR -- omniauth: (github) Authentication failure! undefined method `settings_object' for nil:NilClass: NoMethodError, undefined method `settings_object' for nil:NilClass
F

Failure:
Sessions::OmniauthControllerTes#test_should_create_a_github_session [/opt/web/test/controllers/sessions/omniauth_controller_test.rb:13]:
"Session.count" didn't change by 1.
Expected: 1
  Actual: 0


rails test test/controllers/sessions/omniauth_controller_test.rb:10



Finished in 2.899824s, 0.3448 runs/s, 0.3448 assertions/s.
1 runs, 1 assertions, 1 failures, 0 errors, 0 skips

Even with -b, I don't get a backtrace for "Authentication failure!". I'm assuming this is either because:

  • Omniauth is catching the error
  • The testing environment is simulating a second http connection and this error is happening in that second connection

I've looked in log/test.log. I don't see any clues where this error is happening.

How to I get a backtrace for the "Authentication failure!" error so I know where to put a debugger call and further inspect?

Julien Lamarche
  • 931
  • 1
  • 12
  • 29

1 Answers1

0

I was able to find the location where to put the debugger call by running in the container:

$ grep 'Authentication failure!' -rin `find / -iname 'gem*' -type d `

But if there's a way for minitest to bring the backgrace into the forefront, I'd like to know it.

Julien Lamarche
  • 931
  • 1
  • 12
  • 29