Merge "Set project_id and user_id from context directly"
This commit is contained in:
commit
a6f744b8dd
@ -268,9 +268,8 @@ class BaysController(rest.RestController):
|
||||
"""
|
||||
bay_dict = bay.as_dict()
|
||||
context = pecan.request.context
|
||||
auth_token = context.auth_token_info['token']
|
||||
bay_dict['project_id'] = auth_token['project']['id']
|
||||
bay_dict['user_id'] = auth_token['user']['id']
|
||||
bay_dict['project_id'] = context.project_id
|
||||
bay_dict['user_id'] = context.user_id
|
||||
# NOTE(suro-patz): Apply default node_count is 1, None -> 1
|
||||
if bay_dict.get('node_count', None) is None:
|
||||
bay_dict['node_count'] = 1
|
||||
|
@ -278,9 +278,8 @@ class BayModelsController(rest.RestController):
|
||||
"""
|
||||
baymodel_dict = baymodel.as_dict()
|
||||
context = pecan.request.context
|
||||
auth_token = context.auth_token_info['token']
|
||||
baymodel_dict['project_id'] = auth_token['project']['id']
|
||||
baymodel_dict['user_id'] = auth_token['user']['id']
|
||||
baymodel_dict['project_id'] = context.project_id
|
||||
baymodel_dict['user_id'] = context.user_id
|
||||
image_data = self._get_image_data(context, baymodel_dict['image_id'])
|
||||
if image_data.get('os_distro'):
|
||||
baymodel_dict['cluster_distro'] = image_data['os_distro']
|
||||
|
@ -360,9 +360,8 @@ class ContainersController(rest.RestController):
|
||||
"""
|
||||
container_dict = container.as_dict()
|
||||
context = pecan.request.context
|
||||
auth_token = context.auth_token_info['token']
|
||||
container_dict['project_id'] = auth_token['project']['id']
|
||||
container_dict['user_id'] = auth_token['user']['id']
|
||||
container_dict['project_id'] = context.project_id
|
||||
container_dict['user_id'] = context.user_id
|
||||
new_container = objects.Container(context, **container_dict)
|
||||
new_container.create()
|
||||
res_container = pecan.request.rpcapi.container_create(new_container)
|
||||
|
@ -206,9 +206,8 @@ class NodesController(rest.RestController):
|
||||
"""
|
||||
node_dict = node.as_dict()
|
||||
context = pecan.request.context
|
||||
auth_token = context.auth_token_info['token']
|
||||
node_dict['project_id'] = auth_token['project']['id']
|
||||
node_dict['user_id'] = auth_token['user']['id']
|
||||
node_dict['project_id'] = context.project_id
|
||||
node_dict['user_id'] = context.user_id
|
||||
new_node = objects.Node(context, **node_dict)
|
||||
new_node.create()
|
||||
# Set the HTTP Location Header
|
||||
|
@ -257,9 +257,8 @@ class PodsController(rest.RestController):
|
||||
pod.parse_manifest()
|
||||
pod_dict = pod.as_dict()
|
||||
context = pecan.request.context
|
||||
auth_token = context.auth_token_info['token']
|
||||
pod_dict['project_id'] = auth_token['project']['id']
|
||||
pod_dict['user_id'] = auth_token['user']['id']
|
||||
pod_dict['project_id'] = context.project_id
|
||||
pod_dict['user_id'] = context.user_id
|
||||
pod_obj = objects.Pod(context, **pod_dict)
|
||||
new_pod = pecan.request.rpcapi.pod_create(pod_obj)
|
||||
# Set the HTTP Location Header
|
||||
|
@ -291,9 +291,8 @@ class ReplicationControllersController(rest.RestController):
|
||||
rc.parse_manifest()
|
||||
rc_dict = rc.as_dict()
|
||||
context = pecan.request.context
|
||||
auth_token = context.auth_token_info['token']
|
||||
rc_dict['project_id'] = auth_token['project']['id']
|
||||
rc_dict['user_id'] = auth_token['user']['id']
|
||||
rc_dict['project_id'] = context.project_id
|
||||
rc_dict['user_id'] = context.user_id
|
||||
rc_obj = objects.ReplicationController(context, **rc_dict)
|
||||
new_rc = pecan.request.rpcapi.rc_create(rc_obj)
|
||||
if not new_rc:
|
||||
|
@ -268,9 +268,8 @@ class ServicesController(rest.RestController):
|
||||
service.parse_manifest()
|
||||
service_dict = service.as_dict()
|
||||
context = pecan.request.context
|
||||
auth_token = context.auth_token_info['token']
|
||||
service_dict['project_id'] = auth_token['project']['id']
|
||||
service_dict['user_id'] = auth_token['user']['id']
|
||||
service_dict['project_id'] = context.project_id
|
||||
service_dict['user_id'] = context.user_id
|
||||
service_obj = objects.Service(context, **service_dict)
|
||||
new_service = pecan.request.rpcapi.service_create(service_obj)
|
||||
if new_service is None:
|
||||
|
@ -244,9 +244,8 @@ class X509KeyPairController(rest.RestController):
|
||||
"""
|
||||
x509keypair_dict = x509keypair.as_dict()
|
||||
context = pecan.request.context
|
||||
auth_token = context.auth_token_info['token']
|
||||
x509keypair_dict['project_id'] = auth_token['project']['id']
|
||||
x509keypair_dict['user_id'] = auth_token['user']['id']
|
||||
x509keypair_dict['project_id'] = context.project_id
|
||||
x509keypair_dict['user_id'] = context.user_id
|
||||
x509keypair_obj = objects.X509KeyPair(context, **x509keypair_dict)
|
||||
new_x509keypair = pecan.request.rpcapi.x509keypair_create(
|
||||
x509keypair_obj)
|
||||
|
@ -433,6 +433,18 @@ class TestPost(api_base.FunctionalTest):
|
||||
response.json['created_at']).replace(tzinfo=None)
|
||||
self.assertEqual(test_time, return_created_at)
|
||||
|
||||
def test_create_bay_set_project_id_and_user_id(self):
|
||||
bdict = apiutils.bay_post_data()
|
||||
|
||||
def _simulate_rpc_bay_create(bay, bay_create_timeout):
|
||||
self.assertEqual(bay.project_id, self.context.project_id)
|
||||
self.assertEqual(bay.user_id, self.context.user_id)
|
||||
bay.create()
|
||||
return bay
|
||||
self.mock_bay_create.side_effect = _simulate_rpc_bay_create
|
||||
|
||||
self.post_json('/bays', bdict)
|
||||
|
||||
def test_create_bay_doesnt_contain_id(self):
|
||||
with mock.patch.object(self.dbapi, 'create_bay',
|
||||
wraps=self.dbapi.create_bay) as cc_mock:
|
||||
|
@ -388,6 +388,21 @@ class TestPost(api_base.FunctionalTest):
|
||||
response.json['created_at']).replace(tzinfo=None)
|
||||
self.assertEqual(test_time, return_created_at)
|
||||
|
||||
@mock.patch.object(api_baymodel.BayModelsController, '_get_image_data')
|
||||
def test_create_baymodel_set_project_id_and_user_id(self, mock_image_data):
|
||||
|
||||
with mock.patch.object(self.dbapi, 'create_baymodel',
|
||||
wraps=self.dbapi.create_baymodel) as cc_mock:
|
||||
mock_image_data.return_value = {'name': 'mock_name',
|
||||
'os_distro': 'fedora-atomic'}
|
||||
bdict = apiutils.baymodel_post_data()
|
||||
self.post_json('/baymodels', bdict)
|
||||
cc_mock.assert_called_once_with(mock.ANY)
|
||||
self.assertEqual(cc_mock.call_args[0][0]['project_id'],
|
||||
self.context.project_id)
|
||||
self.assertEqual(cc_mock.call_args[0][0]['user_id'],
|
||||
self.context.user_id)
|
||||
|
||||
@mock.patch.object(api_baymodel.BayModelsController, '_get_image_data')
|
||||
def test_create_baymodel_doesnt_contain_id(self, mock_image_data):
|
||||
with mock.patch.object(self.dbapi, 'create_baymodel',
|
||||
|
@ -52,6 +52,22 @@ class TestContainerController(api_base.FunctionalTest):
|
||||
self.assertEqual(response.status_int, 201)
|
||||
self.assertTrue(mock_container_create.called)
|
||||
|
||||
@patch('magnum.conductor.api.API.container_create')
|
||||
def test_create_container_set_project_id_and_user_id(
|
||||
self, mock_container_create):
|
||||
def _create_side_effect(container):
|
||||
self.assertEqual(container.project_id, self.context.project_id)
|
||||
self.assertEqual(container.user_id, self.context.user_id)
|
||||
return container
|
||||
mock_container_create.side_effect = _create_side_effect
|
||||
|
||||
params = ('{"name": "My Docker", "image": "ubuntu",'
|
||||
'"command": "env",'
|
||||
'"bay_uuid": "fff114da-3bfa-4a0f-a123-c0dffad9718e"}')
|
||||
self.app.post('/v1/containers',
|
||||
params=params,
|
||||
content_type='application/json')
|
||||
|
||||
@patch('magnum.conductor.api.API.container_show')
|
||||
@patch('magnum.conductor.api.API.container_create')
|
||||
@patch('magnum.conductor.api.API.container_delete')
|
||||
|
@ -247,6 +247,17 @@ class TestPost(api_base.FunctionalTest):
|
||||
response.json['created_at']).replace(tzinfo=None)
|
||||
self.assertEqual(test_time, return_created_at)
|
||||
|
||||
def test_create_node_set_project_id_and_user_id(self):
|
||||
with mock.patch.object(self.dbapi, 'create_node',
|
||||
wraps=self.dbapi.create_node) as cc_mock:
|
||||
node_dict = apiutils.node_post_data()
|
||||
self.post_json('/nodes', node_dict)
|
||||
cc_mock.assert_called_once_with(mock.ANY)
|
||||
self.assertEqual(cc_mock.call_args[0][0]['project_id'],
|
||||
self.context.project_id)
|
||||
self.assertEqual(cc_mock.call_args[0][0]['user_id'],
|
||||
self.context.user_id)
|
||||
|
||||
def test_create_node_doesnt_contain_id(self):
|
||||
with mock.patch.object(self.dbapi, 'create_node',
|
||||
wraps=self.dbapi.create_node) as cn_mock:
|
||||
|
@ -425,6 +425,18 @@ class TestPost(api_base.FunctionalTest):
|
||||
response.json['created_at']).replace(tzinfo=None)
|
||||
self.assertEqual(test_time, return_created_at)
|
||||
|
||||
def test_create_pod_set_project_id_and_user_id(self):
|
||||
pdict = apiutils.pod_post_data()
|
||||
|
||||
def _simulate_rpc_pod_create(pod):
|
||||
self.assertEqual(pod.project_id, self.context.project_id)
|
||||
self.assertEqual(pod.user_id, self.context.user_id)
|
||||
pod.create()
|
||||
return pod
|
||||
self.mock_pod_create.side_effect = _simulate_rpc_pod_create
|
||||
|
||||
self.post_json('/pods', pdict)
|
||||
|
||||
def test_create_pod_doesnt_contain_id(self):
|
||||
with mock.patch.object(self.dbapi, 'create_pod',
|
||||
wraps=self.dbapi.create_pod) as cc_mock:
|
||||
|
@ -412,6 +412,18 @@ class TestPost(api_base.FunctionalTest):
|
||||
response.json['created_at']).replace(tzinfo=None)
|
||||
self.assertEqual(test_time, return_created_at)
|
||||
|
||||
def test_create_rc_set_project_id_and_user_id(self):
|
||||
rc_dict = apiutils.rc_post_data()
|
||||
|
||||
def _simulate_rpc_rc_create(rc):
|
||||
self.assertEqual(rc.project_id, self.context.project_id)
|
||||
self.assertEqual(rc.user_id, self.context.user_id)
|
||||
rc.create()
|
||||
return rc
|
||||
self.mock_rc_create.side_effect = _simulate_rpc_rc_create
|
||||
|
||||
self.post_json('/rcs', rc_dict)
|
||||
|
||||
def test_create_rc_doesnt_contain_id(self):
|
||||
with mock.patch.object(self.dbapi, 'create_rc',
|
||||
wraps=self.dbapi.create_rc) as cc_mock:
|
||||
|
@ -366,6 +366,18 @@ class TestPost(api_base.FunctionalTest):
|
||||
response.json['created_at']).replace(tzinfo=None)
|
||||
self.assertEqual(test_time, return_created_at)
|
||||
|
||||
def test_create_service_set_project_id_and_user_id(self):
|
||||
sdict = apiutils.service_post_data()
|
||||
|
||||
def _simulate_rpc_service_create(service):
|
||||
self.assertEqual(service.project_id, self.context.project_id)
|
||||
self.assertEqual(service.user_id, self.context.user_id)
|
||||
service.create()
|
||||
return service
|
||||
self.mock_service_create.side_effect = _simulate_rpc_service_create
|
||||
|
||||
self.post_json('/services', sdict)
|
||||
|
||||
def test_create_service_doesnt_contain_id(self):
|
||||
with mock.patch.object(self.dbapi, 'create_service',
|
||||
wraps=self.dbapi.create_service) as cc_mock:
|
||||
|
@ -191,6 +191,18 @@ class TestPost(api_base.FunctionalTest):
|
||||
response.json['created_at']).replace(tzinfo=None)
|
||||
self.assertEqual(test_time, return_created_at)
|
||||
|
||||
def test_create_x509keypair_set_project_id_and_user_id(self):
|
||||
cdict = apiutils.x509keypair_post_data()
|
||||
|
||||
def _simulate_keypair_create(x509keypair):
|
||||
self.assertEqual(x509keypair.project_id, self.context.project_id)
|
||||
self.assertEqual(x509keypair.user_id, self.context.user_id)
|
||||
x509keypair.create()
|
||||
return x509keypair
|
||||
self.mock_x509keypair_create.side_effect = _simulate_keypair_create
|
||||
|
||||
self.post_json('/x509keypairs', cdict)
|
||||
|
||||
def test_create_x509keypair_doesnt_contain_id(self):
|
||||
with mock.patch.object(self.dbapi, 'create_x509keypair',
|
||||
wraps=self.dbapi.create_x509keypair) as cc_mock:
|
||||
|
Loading…
x
Reference in New Issue
Block a user