I set up http basic authentication, as a quick way to show user-specific data for a demo I'm going to be doing. Of course this broke my functional tests.
I found a solution here (thanks Flip!) -- manually adding an entry to session.env. However, before I found that, I was digging through some of the rails code, and found a way to create the encoded credentials, which eliminates the string concatenation of Flip's solution (and may be a bit more robust going forward, in case the encoding changes in the future):
@request.env['HTTP_AUTHORIZATION'] =
ActionController::HttpAuthentication::
Basic.encode_credentials('username', 'password')
(sorry about the line breaks -- tried to make it readable
without wrapping)
If anyone comes up with a more elegant solution, please let me know!