def test_has_access(self, mock_method): """ Test get_login_urls() with has_access = False """ # Make sure user is set on the request self.request.user = self.user mock_method.return_value = self.test_token local_settings = sso_settings.copy() local_settings['URL_SSO_IPROVA']['has_access'] = \ lambda request, service: False with override_settings(**local_settings): urls = iprova_plugin.get_login_urls(self.request) self.assertEquals(urls, {}) # No request should have been sent out self.assertFalse(mock_method.called) # Now test with just one service allowed local_settings['URL_SSO_IPROVA']['has_access'] = \ lambda request, service: service == 'iportal' with override_settings(**local_settings): urls = iprova_plugin.get_login_urls(self.request) self.assertEquals(urls, { 'IPROVA_IPORTAL_SSO_URL': 'http://intranet.organisation.com/iportal/?token=' + self.test_token, }) mock_method.assert_called_once_with(self.user.username)
def test_get_login_urls(self, mock_method): """ Test get_login_urls() """ # Make sure user is set on the request self.request.user = self.user mock_method.return_value = self.test_token urls = iprova_plugin.get_login_urls(self.request) self.assertEquals(urls, { 'IPROVA_MANAGEMENT_SSO_URL': 'http://intranet.organisation.com/management/?token=' + self.test_token, 'IPROVA_IDOCUMENT_SSO_URL': 'http://intranet.organisation.com/idocument/?token=' + self.test_token, 'IPROVA_IPORTAL_SSO_URL': 'http://intranet.organisation.com/iportal/?token=' + self.test_token, 'IPROVA_ITASK_SSO_URL': 'http://intranet.organisation.com/itask/?token=' + self.test_token }) mock_method.assert_called_once_with(self.user.username)