Merge "Add SupportStatus class for resources"
This commit is contained in:
commit
942ae95ed5
|
@ -90,6 +90,29 @@ class Metadata(object):
|
|||
rs.update_and_save({'rsrc_metadata': metadata})
|
||||
|
||||
|
||||
class SupportStatus(object):
|
||||
SUPPORT_STATUSES = (UNKNOWN, SUPPORTED, PROTOTYPE, DEPRECATED,
|
||||
UNSUPPORTED) = ('UNKNOWN', 'SUPPORTED', 'PROTOTYPE',
|
||||
'DEPRECATED', 'UNSUPPORTED')
|
||||
|
||||
def __init__(self, status=SUPPORTED, message=None, version=None):
|
||||
if status in self.SUPPORT_STATUSES:
|
||||
self.status = status
|
||||
self.message = message
|
||||
self.version = version
|
||||
else:
|
||||
self.status = self.UNKNOWN
|
||||
self.message = _("Specified status is invalid, defaulting to"
|
||||
" %s") % self.UNKNOWN
|
||||
|
||||
self.version = None
|
||||
|
||||
def to_dict(self):
|
||||
return {'status': self.status,
|
||||
'message': self.message,
|
||||
'version': self.version}
|
||||
|
||||
|
||||
class Resource(object):
|
||||
ACTIONS = (INIT, CREATE, DELETE, UPDATE, ROLLBACK, SUSPEND, RESUME
|
||||
) = ('INIT', 'CREATE', 'DELETE', 'UPDATE', 'ROLLBACK',
|
||||
|
@ -126,6 +149,8 @@ class Resource(object):
|
|||
# If set to None no limit will be applied.
|
||||
physical_resource_name_limit = 255
|
||||
|
||||
support_status = SupportStatus()
|
||||
|
||||
def __new__(cls, name, json, stack):
|
||||
'''Create a new Resource of the appropriate class for its type.'''
|
||||
|
||||
|
|
|
@ -1105,3 +1105,26 @@ class ReducePhysicalResourceNameTest(HeatTestCase):
|
|||
else:
|
||||
# check that nothing has changed
|
||||
self.assertEqual(self.original, reduced)
|
||||
|
||||
|
||||
class SupportStatusTest(HeatTestCase):
|
||||
def test_valid_status(self):
|
||||
status = resource.SupportStatus(
|
||||
status='DEPRECATED',
|
||||
message='test_message',
|
||||
version='test_version'
|
||||
)
|
||||
self.assertEqual('DEPRECATED', status.status)
|
||||
self.assertEqual('test_message', status.message)
|
||||
self.assertEqual('test_version', status.version)
|
||||
|
||||
def test_invalid_status(self):
|
||||
status = resource.SupportStatus(
|
||||
status='RANDOM',
|
||||
message='test_message',
|
||||
version='test_version'
|
||||
)
|
||||
self.assertEqual('UNKNOWN', status.status)
|
||||
self.assertEqual('Specified status is invalid, defaulting to UNKNOWN',
|
||||
status.message)
|
||||
self.assertEqual(None, status.version)
|
||||
|
|
Loading…
Reference in New Issue