def test_is_authenticated(self, mock_db, mock_get_user_session): mock_session = mock.MagicMock(**{const.USER_OPENID: '*****@*****.**'}) mock_get_user_session.return_value = mock_session mock_get_user = mock_db.user_get mock_get_user.return_value = 'Dobby' self.assertTrue(api_utils.is_authenticated()) mock_db.user_get.called_once_with(mock_session) mock_db.NotFound = db.NotFound mock_get_user.side_effect = mock_db.NotFound('User') self.assertFalse(api_utils.is_authenticated())
def test_is_authenticated(self, mock_db, mock_get_user_session): mock_session = mock.MagicMock(**{const.USER_OPENID: "*****@*****.**"}) mock_get_user_session.return_value = mock_session mock_get_user = mock_db.user_get mock_get_user.return_value = "Dobby" self.assertEqual(True, api_utils.is_authenticated()) mock_db.user_get.called_once_with(mock_session) mock_db.NotFound = db.NotFound mock_get_user.side_effect = mock_db.NotFound("User") self.assertEqual(False, api_utils.is_authenticated())
def signin(self): """Handle signin request.""" session = api_utils.get_user_session() if api_utils.is_authenticated(): pecan.redirect(CONF.ui_url) else: api_utils.delete_params_from_user_session([const.USER_OPENID]) csrf_token = api_utils.get_token() session[const.CSRF_TOKEN] = csrf_token session.save() return_endpoint = parse.urljoin(CONF.api.api_url, CONF.osid.openid_return_to) return_to = api_utils.set_query_params(return_endpoint, {const.CSRF_TOKEN: csrf_token}) params = { const.OPENID_MODE: CONF.osid.openid_mode, const.OPENID_NS: CONF.osid.openid_ns, const.OPENID_RETURN_TO: return_to, const.OPENID_CLAIMED_ID: CONF.osid.openid_claimed_id, const.OPENID_IDENTITY: CONF.osid.openid_identity, const.OPENID_REALM: CONF.api.api_url, const.OPENID_NS_SREG: CONF.osid.openid_ns_sreg, const.OPENID_NS_SREG_REQUIRED: CONF.osid.openid_sreg_required, } url = CONF.osid.openstack_openid_endpoint url = api_utils.set_query_params(url, params) pecan.redirect(location=url)
def signout(self): """Handle signout request.""" if api_utils.is_authenticated(): api_utils.delete_params_from_user_session([const.USER_OPENID]) params = {'openid_logout': CONF.osid.openid_logout_endpoint} url = parse.urljoin(CONF.ui_url, '/#/logout?' + parse.urlencode(params)) pecan.redirect(url)
def signout(self): """Handle signout request.""" if api_utils.is_authenticated(): api_utils.delete_params_from_user_session([const.USER_OPENID]) params = { 'openid_logout': CONF.osid.openid_logout_endpoint } url = parse.urljoin(CONF.ui_url, '/#/logout?' + parse.urlencode(params)) pecan.redirect(url)
def test_is_authenticated(self, mock_request, mock_db, mock_get_user_session): mock_request.headers = {} mock_session = {const.USER_OPENID: '*****@*****.**'} mock_get_user_session.return_value = mock_session mock_get_user = mock_db.user_get mock_get_user.return_value = 'FAKE_USER' self.assertTrue(api_utils.is_authenticated()) mock_db.user_get.assert_called_once_with('*****@*****.**') mock_request.environ = { const.JWT_TOKEN_ENV: {const.USER_OPENID: '*****@*****.**'}} mock_get_user_session.return_value = {} mock_get_user.reset_mock() mock_get_user.return_value = 'FAKE_USER' self.assertTrue(api_utils.is_authenticated()) mock_get_user.assert_called_once_with('*****@*****.**') mock_db.NotFound = db.NotFound mock_get_user.side_effect = mock_db.NotFound('User') self.assertFalse(api_utils.is_authenticated())
def test_is_authenticated(self, mock_request, mock_db, mock_get_user_session): mock_request.headers = {} mock_session = {const.USER_OPENID: '*****@*****.**'} mock_get_user_session.return_value = mock_session mock_get_user = mock_db.user_get mock_get_user.return_value = 'FAKE_USER' self.assertTrue(api_utils.is_authenticated()) mock_db.user_get.assert_called_once_with('*****@*****.**') mock_request.environ = { const.JWT_TOKEN_ENV: { const.USER_OPENID: '*****@*****.**' } } mock_get_user_session.return_value = {} mock_get_user.reset_mock() mock_get_user.return_value = 'FAKE_USER' self.assertTrue(api_utils.is_authenticated()) mock_get_user.assert_called_once_with('*****@*****.**') mock_db.NotFound = db.NotFound mock_get_user.side_effect = mock_db.NotFound('User') self.assertFalse(api_utils.is_authenticated())
def signout(self): """Handle signout request.""" if api_utils.is_authenticated(): api_utils.delete_params_from_user_session([const.USER_OPENID]) pecan.redirect(CONF.ui_url)