def test_auth_remove_no_sess(self, mock_forget): ret = auth_remove(self.req, 'test.route') mock_forget.assert_called_once_with(self.req) self.req.route_url.assert_called_once_with('test.route') self.assertIsInstance(ret, HTTPFound) self.assertEqual(ret.location, '/testurl')
def test_auth_remove_sess2(self, mock_forget): self.sess['auth.settings'] = 'DUMMY' ret = auth_remove(self.req, 'test.route') mock_forget.assert_called_once_with(self.req) self.req.route_url.assert_called_once_with('test.route') self.assertIsInstance(ret, HTTPFound) self.assertEqual(ret.location, '/testurl') self.assertEqual(self.sess, {}) self.sess.invalidate.assert_called_once_with() self.sess.new_csrf_token.assert_called_once_with()
def _goto_login(request): if request.matched_route: if request.matched_route.name == 'extrouter': raise auth_remove(request, 'core.logout.direct') raise auth_remove(request, 'core.login')
def do_logout(request): return auth_remove(request, 'core.login')