Add UUID in API model
The only way we have currently to find the id of a ressource when querying the API (for instance GET /v1/plans) is to parse the uri field of the json object we get as a result This patch simply add the uuid field to the api model. It also disable the possibility for someone to specify its own uuid when creating an object and fix a bug in fakes.py (comma at the end of line) that was causing tests failures in this patch Change-Id: Ie38fc2646b2d7e2cc146dc34382c2c841af0fa33
This commit is contained in:
@@ -24,6 +24,9 @@ class Base(wtypes.Base):
|
||||
uri = common_types.Uri
|
||||
"URI to the resource."
|
||||
|
||||
uuid = wtypes.text
|
||||
"Unique Identifier of the resource"
|
||||
|
||||
name = wtypes.text
|
||||
"Name of the resource."
|
||||
|
||||
|
||||
@@ -47,8 +47,8 @@ class AssemblyHandler(handler.Handler):
|
||||
def create(self, data):
|
||||
"""Create a new resource."""
|
||||
db_obj = objects.registry.Assembly()
|
||||
db_obj.uuid = str(uuid.uuid4())
|
||||
self._update_db_object(db_obj, data)
|
||||
db_obj.uuid = str(uuid.uuid4())
|
||||
db_obj.create(None)
|
||||
return db_obj
|
||||
|
||||
|
||||
@@ -48,8 +48,8 @@ class ExtensionHandler(handler.Handler):
|
||||
def create(self, data):
|
||||
"""Create a new extension."""
|
||||
db_obj = objects.registry.Extension()
|
||||
db_obj.uuid = str(uuid.uuid4())
|
||||
self._update_db_object(db_obj, data)
|
||||
db_obj.uuid = str(uuid.uuid4())
|
||||
db_obj.create()
|
||||
return db_obj
|
||||
|
||||
|
||||
@@ -52,8 +52,8 @@ class PlanHandler(handler.Handler):
|
||||
def create(self, data):
|
||||
"""Create a new resource."""
|
||||
db_obj = objects.registry.Plan()
|
||||
db_obj.uuid = str(uuid.uuid4())
|
||||
self._update_db_object(db_obj, data)
|
||||
db_obj.uuid = str(uuid.uuid4())
|
||||
db_obj.create(None)
|
||||
return db_obj
|
||||
|
||||
|
||||
@@ -48,8 +48,8 @@ class SensorHandler(handler.Handler):
|
||||
def create(self, data):
|
||||
"""Create a new sensor."""
|
||||
db_obj = objects.registry.Sensor()
|
||||
db_obj.uuid = str(uuid.uuid4())
|
||||
self._update_db_object(db_obj, data)
|
||||
db_obj.uuid = str(uuid.uuid4())
|
||||
db_obj.create()
|
||||
return db_obj
|
||||
|
||||
|
||||
@@ -47,8 +47,8 @@ class ServiceHandler(handler.Handler):
|
||||
def create(self, data):
|
||||
"""Create a new resource."""
|
||||
db_obj = objects.registry.Service()
|
||||
db_obj.uuid = str(uuid.uuid4())
|
||||
self._update_db_object(db_obj, data)
|
||||
db_obj.uuid = str(uuid.uuid4())
|
||||
db_obj.create(None)
|
||||
return db_obj
|
||||
|
||||
|
||||
@@ -48,10 +48,12 @@ class TestAssemblyHandler(base.BaseTestCase):
|
||||
'test_id')
|
||||
|
||||
def test_create(self, mock_registry):
|
||||
data = {'user_id': 'new_user_id'}
|
||||
data = {'user_id': 'new_user_id',
|
||||
'uuid': 'input_uuid'}
|
||||
handler = assembly_handler.AssemblyHandler()
|
||||
res = handler.create(data)
|
||||
self.assertEqual('new_user_id', res.user_id)
|
||||
self.assertNotEqual('uuid', res.uuid)
|
||||
|
||||
def test_delete(self, mock_registry):
|
||||
db_obj = fakes.FakeAssembly()
|
||||
|
||||
@@ -55,10 +55,12 @@ class TestExtensionHandler(base.BaseTestCase):
|
||||
'test_id')
|
||||
|
||||
def test_extension_create(self, mock_registry):
|
||||
data = {'user_id': 'new_user_id'}
|
||||
data = {'user_id': 'new_user_id',
|
||||
'uuid': 'input_uuid'}
|
||||
handler = extension.ExtensionHandler()
|
||||
res = handler.create(data)
|
||||
self.assertEqual('new_user_id', res.user_id)
|
||||
self.assertNotEqual('uuid', res.uuid)
|
||||
|
||||
def test_extension_delete(self, mock_registry):
|
||||
db_obj = fakes.FakeExtension()
|
||||
|
||||
@@ -48,10 +48,12 @@ class TestPlanHandler(base.BaseTestCase):
|
||||
'test_id')
|
||||
|
||||
def test_plan_create(self, mock_registry):
|
||||
data = {'user_id': 'new_user_id'}
|
||||
data = {'user_id': 'new_user_id',
|
||||
'uuid': 'input_uuid'}
|
||||
handler = plan_handler.PlanHandler()
|
||||
res = handler.create(data)
|
||||
self.assertEqual('new_user_id', res.user_id)
|
||||
self.assertNotEqual('uuid', res.uuid)
|
||||
|
||||
def test_plan_delete(self, mock_registry):
|
||||
db_obj = fakes.FakePlan()
|
||||
|
||||
@@ -56,10 +56,12 @@ class TestSensorHandler(base.BaseTestCase):
|
||||
'test_id')
|
||||
|
||||
def test_sensor_create(self, mock_registry):
|
||||
data = {'user_id': 'new_user_id'}
|
||||
data = {'user_id': 'new_user_id',
|
||||
'uuid': 'input_uuid'}
|
||||
handler = sensor.SensorHandler()
|
||||
res = handler.create(data)
|
||||
self.assertEqual('new_user_id', res.user_id)
|
||||
self.assertNotEqual('uuid', res.uuid)
|
||||
|
||||
def test_sensor_delete(self, mock_registry):
|
||||
db_obj = fakes.FakeSensor()
|
||||
|
||||
@@ -48,10 +48,12 @@ class TestServiceHandler(base.BaseTestCase):
|
||||
'test_id')
|
||||
|
||||
def test_create(self, mock_registry):
|
||||
data = {'user_id': 'new_user_id'}
|
||||
data = {'user_id': 'new_user_id',
|
||||
'uuid': 'input_uuid'}
|
||||
handler = service_handler.ServiceHandler()
|
||||
res = handler.create(data)
|
||||
self.assertEqual('new_user_id', res.user_id)
|
||||
self.assertNotEqual('uuid', res.uuid)
|
||||
|
||||
def test_delete(self, mock_registry):
|
||||
db_obj = fakes.FakeService()
|
||||
|
||||
@@ -111,7 +111,7 @@ class FakeExtension(mock.Mock):
|
||||
self.__resource__ = 'extension'
|
||||
self.user_id = 'user_id'
|
||||
self.project_id = 'test_id'
|
||||
self.uuid = '44du3dx',
|
||||
self.uuid = '44du3dx'
|
||||
self.documentation = 'http://test_documentation.com'
|
||||
self.description = 'test_desc'
|
||||
self.id = 'test_id'
|
||||
|
||||
Reference in New Issue
Block a user