Fix some logic
Add tests for Session.request