Persist project_id and user_id for baymodel object
Implements part of bp multi-tenant Change-Id: Ief01572eeda39e2ea6aa19839d12f1a14feeae4d
This commit is contained in:
parent
576e81c882
commit
7d5baf384a
@ -229,8 +229,12 @@ class BayModelsController(rest.RestController):
|
||||
if self.from_baymodels:
|
||||
raise exception.OperationNotPermitted
|
||||
|
||||
new_baymodel = objects.BayModel(pecan.request.context,
|
||||
**baymodel.as_dict())
|
||||
baymodel_dict = baymodel.as_dict()
|
||||
ctxt = pecan.request.context
|
||||
auth_token = ctxt.auth_token_info['token']
|
||||
baymodel_dict['project_id'] = auth_token['project']['id']
|
||||
baymodel_dict['user_id'] = auth_token['user']['id']
|
||||
new_baymodel = objects.BayModel(ctxt, **baymodel_dict)
|
||||
new_baymodel.create()
|
||||
# Set the HTTP Location Header
|
||||
pecan.response.location = link.build_url('baymodels',
|
||||
|
@ -19,6 +19,7 @@ from six.moves.urllib import parse as urlparse
|
||||
from wsme import types as wtypes
|
||||
|
||||
from magnum.api.controllers.v1 import baymodel as api_baymodel
|
||||
from magnum.common import context
|
||||
from magnum.common import utils
|
||||
from magnum.tests.api import base as api_base
|
||||
from magnum.tests.api import utils as apiutils
|
||||
@ -246,6 +247,15 @@ class TestPatch(api_base.FunctionalTest):
|
||||
|
||||
class TestPost(api_base.FunctionalTest):
|
||||
|
||||
def setUp(self):
|
||||
super(TestPost, self).setUp()
|
||||
p = mock.patch.object(context, 'RequestContext')
|
||||
self.mock_request_context = p.start()
|
||||
mock_auth_token = self.mock_request_context.auth_token_info['token']
|
||||
mock_auth_token['project']['id'].return_value = 'fake_project'
|
||||
mock_auth_token['user']['id'].return_value = 'fake_user'
|
||||
self.addCleanup(p.stop)
|
||||
|
||||
@mock.patch.object(timeutils, 'utcnow')
|
||||
def test_create_baymodel(self, mock_utcnow):
|
||||
cdict = apiutils.baymodel_post_data()
|
||||
|
Loading…
Reference in New Issue
Block a user