Devise has become the de-facto library if you ever need Authentication. Tonnes of pluggable components which you can easily enable/disable.
For our application we had to reset session and easiest and cleanest way to do was to extend the devise - SessionsController:

For testing this controller, one of the way is to:

With smiling face I ran the spec buuuuuuttttttttttttttttt arrrrggghhhh:

AbstractController::ActionNotFound

Checking the devise filters helped with some direction:

Keep hacking!!