def test_resources_from_middle(self, mock_remote_app): startup_func = resources_from_middle('MIDDLE_TEST') session = { 'user_data': { 'uuid': 'a82670c2-027e-4079-b5c7-81f2433041b3', 'email': '*****@*****.**', 'accounts': [self.account_uuid], }, 'access_token': ['ZHNkc2VyZWY', '17a799ddbbbfb855f25e89d0bf51ae19'], } response = mock_remote_app.get_instance.return_value.get.return_value response.status = 200 response.data = {'msg': 'some data'} response.headers = {} with patch('flask_identity_client.startup_funcs.session', session): self.assertTrue(startup_func() is None) mock_remote_app.get_instance.assert_called_once_with() mock_remote_app.get_instance.return_value.get.assert_called_once_with( 'http://middle.localhost/resources/' '?oauth_token_secret=17a799ddbbbfb855f25e89d0bf51ae19' '&oauth_scope=http%3A%2F%2Fmiddle.localhost%2Fresources%2F', headers={ 'Accept': 'application/json', 'Authorization': 'Basic WDpZV1J6Wm1Ga2MyWm1aR0Z6WkE=', }) self.assertEqual(session['resources'].data, {'msg': 'some data'}) self.assertTrue(session['resources'].etag is None) self.assertTrue(session['resources'].expires is None)
def test_really_unknown_response(self, mock_remote_app): startup_func = resources_from_middle('MIDDLE_TEST') session = { 'user_data': { 'uuid': 'a82670c2-027e-4079-b5c7-81f2433041b3', 'email': '*****@*****.**', 'accounts': [self.account_uuid], }, 'access_token': ['ZHNkc2VyZWY', '17a799ddbbbfb855f25e89d0bf51ae19'], } response = mock_remote_app.get_instance.return_value.get.return_value response.status = 529 response.data = 'unknown status' response.headers = {} from flask_identity_client.startup_funcs import app with patch('flask_identity_client.startup_funcs.session', session), \ patch.object(app.logger, 'getChild') as mock_child: self.assertTrue(startup_func() is None) mock_child.assert_called_once_with('resources_from_middle') mock_child.return_value.getChild.assert_called_once_with( 'MIDDLE_TEST') call_args = mock_child.return_value.getChild.return_value.error.call_args[ 0] self.assertEqual(call_args[0], '(%s) code:%s - %s') self.assertEqual(call_args[1], 'Code529') self.assertEqual(call_args[2], 529) self.assertTrue(isinstance(call_args[3], HTTPException)) mock_remote_app.get_instance.assert_called_once_with() self.assertTrue(session['resources'] is None)
def test_error(self, mock_remote_app): startup_func = resources_from_middle('MIDDLE_TEST') session = { 'user_data': { 'uuid': 'a82670c2-027e-4079-b5c7-81f2433041b3', 'email': '*****@*****.**', 'accounts': [self.account_uuid], }, 'access_token': ['ZHNkc2VyZWY', '17a799ddbbbfb855f25e89d0bf51ae19'], } from flask_identity_client.startup_funcs import app mock_remote_app.get_instance.return_value.get.side_effect = HttpLib2Error with patch('flask_identity_client.startup_funcs.session', session), \ patch.object(app.logger, 'getChild') as mock_child: self.assertTrue(startup_func() is None) mock_child.assert_called_once_with('resources_from_middle') mock_child.return_value.getChild.assert_called_once_with( 'MIDDLE_TEST') call_args = mock_child.return_value.getChild.return_value.error.call_args[ 0] self.assertEqual(call_args[0], '(%s) %s') self.assertEqual(call_args[1], 'HttpLib2Error') self.assertTrue(isinstance(call_args[2], HttpLib2Error)) mock_remote_app.get_instance.assert_called_once_with() self.assertTrue(session['resources'] is None)
def test_resources_from_middle(self, mock_remote_app): startup_func = resources_from_middle('MIDDLE_TEST') session = { 'user_data': { 'uuid': 'a82670c2-027e-4079-b5c7-81f2433041b3', 'email': '*****@*****.**', 'accounts': [self.account_uuid], }, 'access_token': ['ZHNkc2VyZWY', '17a799ddbbbfb855f25e89d0bf51ae19'], } response = mock_remote_app.get_instance.return_value.get.return_value response.status = 200 response.data = { 'msg': 'some data' } response.headers = {} with patch('flask_identity_client.startup_funcs.session', session): self.assertTrue(startup_func() is None) mock_remote_app.get_instance.assert_called_once_with() mock_remote_app.get_instance.return_value.get.assert_called_once_with( 'http://middle.localhost/resources/' '?oauth_token_secret=17a799ddbbbfb855f25e89d0bf51ae19' '&oauth_scope=http%3A%2F%2Fmiddle.localhost%2Fresources%2F', headers = { 'Accept': 'application/json', 'Authorization': 'Basic WDpZV1J6Wm1Ga2MyWm1aR0Z6WkE=', } ) self.assertEqual(session['resources'].data, { 'msg': 'some data' }) self.assertTrue(session['resources'].etag is None) self.assertTrue(session['resources'].expires is None)
def test_really_unknown_response(self, mock_remote_app): startup_func = resources_from_middle('MIDDLE_TEST') session = { 'user_data': { 'uuid': 'a82670c2-027e-4079-b5c7-81f2433041b3', 'email': '*****@*****.**', 'accounts': [self.account_uuid], }, 'access_token': ['ZHNkc2VyZWY', '17a799ddbbbfb855f25e89d0bf51ae19'], } response = mock_remote_app.get_instance.return_value.get.return_value response.status = 529 response.data = 'unknown status' response.headers = {} from flask_identity_client.startup_funcs import app with patch('flask_identity_client.startup_funcs.session', session), \ patch.object(app.logger, 'getChild') as mock_child: self.assertTrue(startup_func() is None) mock_child.assert_called_once_with('resources_from_middle') mock_child.return_value.getChild.assert_called_once_with('MIDDLE_TEST') call_args = mock_child.return_value.getChild.return_value.error.call_args[0] self.assertEqual(call_args[0], '(%s) code:%s - %s') self.assertEqual(call_args[1], 'Code529') self.assertEqual(call_args[2], 529) self.assertTrue(isinstance(call_args[3], HTTPException)) mock_remote_app.get_instance.assert_called_once_with() self.assertTrue(session['resources'] is None)
def test_error(self, mock_remote_app): startup_func = resources_from_middle('MIDDLE_TEST') session = { 'user_data': { 'uuid': 'a82670c2-027e-4079-b5c7-81f2433041b3', 'email': '*****@*****.**', 'accounts': [self.account_uuid], }, 'access_token': ['ZHNkc2VyZWY', '17a799ddbbbfb855f25e89d0bf51ae19'], } from flask_identity_client.startup_funcs import app mock_remote_app.get_instance.return_value.get.side_effect = HttpLib2Error with patch('flask_identity_client.startup_funcs.session', session), \ patch.object(app.logger, 'getChild') as mock_child: self.assertTrue(startup_func() is None) mock_child.assert_called_once_with('resources_from_middle') mock_child.return_value.getChild.assert_called_once_with('MIDDLE_TEST') call_args = mock_child.return_value.getChild.return_value.error.call_args[0] self.assertEqual(call_args[0], '(%s) %s') self.assertEqual(call_args[1], 'HttpLib2Error') self.assertTrue(isinstance(call_args[2], HttpLib2Error)) mock_remote_app.get_instance.assert_called_once_with() self.assertTrue(session['resources'] is None)
def test_not_expired(self, mock_remote_app): startup_func = resources_from_middle('MIDDLE_TEST') expires = time() + 600 session = { 'user_data': { 'uuid': 'a82670c2-027e-4079-b5c7-81f2433041b3', 'email': '*****@*****.**', 'accounts': [self.account_uuid], }, 'access_token': ['ZHNkc2VyZWY', '17a799ddbbbfb855f25e89d0bf51ae19'], 'resources': ({ 'msg': 'some data' }, '"d41d8cd98f00b204e9800998ecf8427e"', expires), } with patch('flask_identity_client.startup_funcs.session', session): self.assertTrue(startup_func() is None) self.assertFalse(mock_remote_app.get_instance.called) self.assertEqual(session['resources'].data, { 'msg': 'some data' }) self.assertEqual(session['resources'].etag, '"d41d8cd98f00b204e9800998ecf8427e"') self.assertEqual(session['resources'].expires, expires)
def test_not_expired(self, mock_remote_app): startup_func = resources_from_middle('MIDDLE_TEST') expires = time() + 600 session = { 'user_data': { 'uuid': 'a82670c2-027e-4079-b5c7-81f2433041b3', 'email': '*****@*****.**', 'accounts': [self.account_uuid], }, 'access_token': ['ZHNkc2VyZWY', '17a799ddbbbfb855f25e89d0bf51ae19'], 'resources': ({ 'msg': 'some data' }, '"d41d8cd98f00b204e9800998ecf8427e"', expires), } with patch('flask_identity_client.startup_funcs.session', session): self.assertTrue(startup_func() is None) self.assertFalse(mock_remote_app.get_instance.called) self.assertEqual(session['resources'].data, {'msg': 'some data'}) self.assertEqual(session['resources'].etag, '"d41d8cd98f00b204e9800998ecf8427e"') self.assertEqual(session['resources'].expires, expires)