From dacc69ea5cc3a35faf05a95e8976cd9a1fdec621 Mon Sep 17 00:00:00 2001 From: NavaL Date: Fri, 22 Jan 2016 16:00:17 +0100 Subject: re-introduced logout functionality for multi-user Issue #576 --- .../test/unit/resources/test_logout_resources.py | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 service/test/unit/resources/test_logout_resources.py (limited to 'service/test/unit/resources/test_logout_resources.py') 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 -- cgit v1.2.3