示例#1
0
 def put(self, data):
     """Modify this extension."""
     handler = extension_handler.ExtensionHandler(
         pecan.request.security_context)
     obj = handler.update(self._id,
                          data.as_dict(objects.registry.Extension))
     return extension.Extension.from_db_model(obj, pecan.request.host_url)
示例#2
0
    def get(self):
        euri = uris.EXTNS_URI_STR % pecan.request.host_url
        desc = "Solum CAMP API extensions collection resource."

        handlr = (extension_handler.ExtensionHandler(
            pecan.request.security_context))
        ext_objs = handlr.get_all()
        e_links = []
        for m in ext_objs:
            e_links.append(
                common_types.Link(href=uris.EXTN_URI_STR %
                                  (pecan.request.host_url, m.uuid),
                                  target_name=m.name))

        # if there aren't any extensions, avoid returning a resource with an
        # empty extension_links array
        if len(e_links) > 0:
            res = model.Extensions(uri=euri,
                                   name="Solum_CAMP_extensions",
                                   type='extensions',
                                   description=desc,
                                   extension_links=e_links)
        else:
            res = model.Extensions(uri=euri,
                                   name="Solum_CAMP_extensions",
                                   type='extensions',
                                   description=desc)
        return res
示例#3
0
 def test_extension_get(self, mock_registry):
     mock_registry.Extension.get_by_uuid.return_value = {}
     handler = extension.ExtensionHandler(self.ctx)
     res = handler.get('test_id')
     self.assertIsNotNone(res)
     mock_registry.Extension.get_by_uuid.assert_called_once_with(
         self.ctx, 'test_id')
示例#4
0
 def get_all(self):
     """Return all extensions, based on the query provided."""
     handler = extension_handler.ExtensionHandler(
         pecan.request.security_context)
     return [
         extension.Extension.from_db_model(obj, pecan.request.host_url)
         for obj in handler.get_all()
     ]
示例#5
0
 def get(self):
     """Return this extension."""
     policy.check('show_extension', pecan.request.security_context)
     handler = extension_handler.ExtensionHandler(
         pecan.request.security_context)
     host_url = pecan.request.application_url.rstrip('/')
     return extension.Extension.from_db_model(handler.get(self._id),
                                              host_url)
示例#6
0
 def post(self, data):
     """Create a new extension."""
     policy.check('create_extension', pecan.request.security_context)
     handler = extension_handler.ExtensionHandler(
         pecan.request.security_context)
     obj = handler.create(data.as_dict(objects.registry.Extension))
     host_url = pecan.request.application_url.rstrip('/')
     return extension.Extension.from_db_model(obj, host_url)
示例#7
0
 def test_extension_delete(self, mock_registry):
     db_obj = fakes.FakeExtension()
     mock_registry.Extension.get_by_uuid.return_value = db_obj
     handler = extension.ExtensionHandler(self.ctx)
     handler.delete('test_id')
     db_obj.destroy.assert_called_once_with(self.ctx)
     mock_registry.Extension.get_by_uuid.assert_called_once_with(
         self.ctx, 'test_id')
示例#8
0
 def test_extension_create(self, mock_registry):
     data = {'name': 'new_name', 'uuid': 'input_uuid'}
     db_obj = fakes.FakeExtension()
     mock_registry.Extension.return_value = db_obj
     handler = extension.ExtensionHandler(self.ctx)
     res = handler.create(data)
     db_obj.update.assert_called_once_with(data)
     db_obj.create.assert_called_once_with(self.ctx)
     self.assertEqual(db_obj, res)
示例#9
0
 def put(self, data):
     """Modify this extension."""
     policy.check('update_extension', pecan.request.security_context)
     handler = extension_handler.ExtensionHandler(
         pecan.request.security_context)
     obj = handler.update(self._id,
                          data.as_dict(objects.registry.Extension))
     host_url = pecan.request.application_url.rstrip('/')
     return extension.Extension.from_db_model(obj, host_url)
示例#10
0
 def get_all(self):
     """Return all extensions, based on the query provided."""
     policy.check('get_extensions', pecan.request.security_context)
     handler = extension_handler.ExtensionHandler(
         pecan.request.security_context)
     host_url = pecan.request.application_url.rstrip('/')
     return [
         extension.Extension.from_db_model(obj, host_url)
         for obj in handler.get_all()
     ]
示例#11
0
 def test_extension_update(self, mock_registry):
     data = {'user_id': 'new_user_id'}
     db_obj = fakes.FakeExtension()
     mock_registry.Extension.get_by_uuid.return_value = db_obj
     handler = extension.ExtensionHandler()
     res = handler.update('test_id', data)
     self.assertEqual(db_obj.user_id, res.user_id)
     self.assertEqual(db_obj.project_id, res.project_id)
     self.assertEqual(db_obj.name, res.name)
     self.assertEqual(db_obj.value, res.value)
     self.assertEqual(db_obj.version, res.version)
     self.assertEqual(db_obj.uuid, res.uuid)
     self.assertEqual(db_obj.uri, res.uri)
     self.assertEqual(db_obj.type, res.type)
     db_obj.save.assert_called_once_with(None)
     mock_registry.Extension.get_by_uuid.assert_called_once_with(
         None, 'test_id')
示例#12
0
 def __init__(self, extension_id):
     self._id = extension_id
     self._handler = extension_handler.ExtensionHandler()
示例#13
0
 def test_extension_create(self, mock_registry):
     data = {'user_id': 'new_user_id'}
     handler = extension.ExtensionHandler()
     res = handler.create(data)
     self.assertEqual('new_user_id', res.user_id)
示例#14
0
 def delete(self):
     """Delete this extension."""
     policy.check('delete_extension', pecan.request.security_context)
     handler = extension_handler.ExtensionHandler(
         pecan.request.security_context)
     handler.delete(self._id)
示例#15
0
 def get(self):
     """Return this extension."""
     handler = extension_handler.ExtensionHandler(
         pecan.request.security_context)
     return extension.Extension.from_db_model(handler.get(self._id),
                                              pecan.request.host_url)
示例#16
0
 def delete(self):
     """Delete this extension."""
     handler = extension_handler.ExtensionHandler(
         pecan.request.security_context)
     handler.delete(self._id)
示例#17
0
 def test_extension_update(self, mock_registry):
     data = {'name': 'new_name'}
     handler = extension.ExtensionHandler(self.ctx)
     handler.update('test_id', data)
     mock_registry.Extension.update_and_save.assert_called_once_with(
         self.ctx, 'test_id', data)
示例#18
0
 def post(self, data):
     """Create a new extension."""
     handler = extension_handler.ExtensionHandler(
         pecan.request.security_context)
     obj = handler.create(data.as_dict(objects.registry.Extension))
     return extension.Extension.from_db_model(obj, pecan.request.host_url)
示例#19
0
 def test_extension_get_all(self, mock_registry):
     mock_registry.ExtensionList.get_all.return_value = {}
     handler = extension.ExtensionHandler(self.ctx)
     res = handler.get_all()
     self.assertIsNotNone(res)
     mock_registry.ExtensionList.get_all.assert_called_once_with(self.ctx)
示例#20
0
 def __init__(self):
     super(ExtensionsController, self).__init__()
     self._handler = extension_handler.ExtensionHandler()
示例#21
0
 def test_extension_get(self):
     handler = extension.ExtensionHandler()
     res = handler.get('test_id')
     self.assertIsNotNone(res)
示例#22
0
文件: extension.py 项目: alex/solum
 def get(self):
     """Return this extension."""
     handler = extension_handler.ExtensionHandler()
     return handler.get(self._id)