After trying my ROTS baby, I realized that it won’t work as I was expecting (duh)…
When doing a cucumber feature like the following:
Scenario: The user authenticates successfully with a valid OpenID credential for the first time
When I go to /
And I fill in "openid_url" with "http://localhost:1123/john.doe?openid.success=true"
And I press "Go"
Then I should see "New user from OpenID"
I was expecting that the redirections will follow smoothly, but it is not like that… as you may recall, the site of the test server is “http://example.org” (at least in the Merb), If you do a redirection to the ROTS server, when the server redirects back, your app won’t receive the request (is not a freaking server remember?).
I will have to do some implementations with the OpenID::Server API of the ruby-openid gem. I will “cheat” the api of this gem to work with test environments. I will keep my promise! no mocks at all.
The weird thing though, is that you will still have to have the rots server up, because it will still need the lookup of the identity page to work as expected. So it’s an hybrid solution. I’ll start tomorrow with that when I can be focused 100% on that.