diff options
author | NavaL <mnandri@thoughtworks.com> | 2016-01-22 16:00:17 +0100 |
---|---|---|
committer | NavaL <mnandri@thoughtworks.com> | 2016-01-22 16:00:17 +0100 |
commit | dacc69ea5cc3a35faf05a95e8976cd9a1fdec621 (patch) | |
tree | 79227ee17296b72f9ac1a93b3d8a486fcd21afdb /service/test/unit | |
parent | d0c5c8a05327e8af38ab4c3a2f6024ce582c9a99 (diff) |
re-introduced logout functionality for multi-user
Issue #576
Diffstat (limited to 'service/test/unit')
-rw-r--r-- | service/test/unit/resources/test_logout_resources.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/service/test/unit/resources/test_logout_resources.py b/service/test/unit/resources/test_logout_resources.py new file mode 100644 index 00000000..bb0aea9e --- /dev/null +++ b/service/test/unit/resources/test_logout_resources.py @@ -0,0 +1,30 @@ +from mock import patch +from mockito import mock +from twisted.trial import unittest +from twisted.web.test.requesthelper import DummyRequest + +from pixelated.resources.logout_resource import LogoutResource +from test.unit.resources import DummySite + + +class TestLogoutResource(unittest.TestCase): + def setUp(self): + self.services_factory = mock() + self.resource = LogoutResource(self.services_factory) + self.web = DummySite(self.resource) + + @patch('twisted.web.util.redirectTo') + def test_logout(self, mock_redirect): + request = DummyRequest(['/logout']) + + mock_redirect.return_value = 'haha' + + d = self.web.get(request) + + def expire_session_and_redirect(_): + session = self.resource.get_session(request) + self.assertFalse(session.is_logged_in()) + mock_redirect.assert_called_once_with('/login', request) + + d.addCallback(expire_session_and_redirect) + return d |