Merge "Restructured node template testcases in file test_toscatplvalidation.py"

This commit is contained in:
Jenkins 2015-09-24 09:39:26 +00:00 committed by Gerrit Code Review
commit 6a9483180d

View File

@ -294,23 +294,17 @@ custom_types/wordpress.yaml
custom_types[name] = defintion
return custom_types
def _single_node_template_content_test(self, tpl_snippet, expectederror,
expectedmessage):
def _single_node_template_content_test(self, tpl_snippet):
nodetemplates = (toscaparser.utils.yamlparser.
simple_ordered_parse(tpl_snippet))['node_templates']
name = list(nodetemplates.keys())[0]
try:
nodetemplate = NodeTemplate(name, nodetemplates,
self._custom_types())
nodetemplate.validate()
nodetemplate.requirements
nodetemplate.get_capabilities_objects()
nodetemplate.get_properties_objects()
nodetemplate.interfaces
except Exception as err:
self.assertTrue(isinstance(err, expectederror))
self.assertEqual(expectedmessage, err.__str__())
nodetemplate = NodeTemplate(name, nodetemplates,
self._custom_types())
nodetemplate.validate()
nodetemplate.requirements
nodetemplate.get_capabilities_objects()
nodetemplate.get_properties_objects()
nodetemplate.interfaces
def test_node_templates(self):
tpl_snippet = '''
@ -331,10 +325,10 @@ custom_types/wordpress.yaml
'''
expectedmessage = ('Template server is missing '
'required field: "type".')
self._single_node_template_content_test(
tpl_snippet,
err = self.assertRaises(
exception.MissingRequiredFieldError,
expectedmessage)
lambda: self._single_node_template_content_test(tpl_snippet))
self.assertEqual(expectedmessage, err.__str__())
def test_node_template_with_wrong_properties_keyname(self):
"""Node template keyname 'properties' given as 'propertiessss'."""
@ -349,9 +343,10 @@ custom_types/wordpress.yaml
expectedmessage = ('Node template mysql_dbms '
'contain(s) unknown field: "propertiessss", '
'refer to the definition to verify valid values.')
self._single_node_template_content_test(tpl_snippet,
exception.UnknownFieldError,
expectedmessage)
err = self.assertRaises(
exception.UnknownFieldError,
lambda: self._single_node_template_content_test(tpl_snippet))
self.assertEqual(expectedmessage, err.__str__())
def test_node_template_with_wrong_requirements_keyname(self):
"""Node template keyname 'requirements' given as 'requirement'."""
@ -368,9 +363,10 @@ custom_types/wordpress.yaml
expectedmessage = ('Node template mysql_dbms '
'contain(s) unknown field: "requirement", '
'refer to the definition to verify valid values.')
self._single_node_template_content_test(tpl_snippet,
exception.UnknownFieldError,
expectedmessage)
err = self.assertRaises(
exception.UnknownFieldError,
lambda: self._single_node_template_content_test(tpl_snippet))
self.assertEqual(expectedmessage, err.__str__())
def test_node_template_with_wrong_interfaces_keyname(self):
"""Node template keyname 'interfaces' given as 'interfac'."""
@ -390,9 +386,10 @@ custom_types/wordpress.yaml
expectedmessage = ('Node template mysql_dbms '
'contain(s) unknown field: "interfac", '
'refer to the definition to verify valid values.')
self._single_node_template_content_test(tpl_snippet,
exception.UnknownFieldError,
expectedmessage)
err = self.assertRaises(
exception.UnknownFieldError,
lambda: self._single_node_template_content_test(tpl_snippet))
self.assertEqual(expectedmessage, err.__str__())
def test_node_template_with_wrong_capabilities_keyname(self):
"""Node template keyname 'capabilities' given as 'capabilitiis'."""
@ -412,9 +409,10 @@ custom_types/wordpress.yaml
expectedmessage = ('Node template mysql_database '
'contain(s) unknown field: "capabilitiis", '
'refer to the definition to verify valid values.')
self._single_node_template_content_test(tpl_snippet,
exception.UnknownFieldError,
expectedmessage)
err = self.assertRaises(
exception.UnknownFieldError,
lambda: self._single_node_template_content_test(tpl_snippet))
self.assertEqual(expectedmessage, err.__str__())
def test_node_template_with_wrong_artifacts_keyname(self):
"""Node template keyname 'artifacts' given as 'artifactsss'."""
@ -430,9 +428,10 @@ custom_types/wordpress.yaml
expectedmessage = ('Node template mysql_database '
'contain(s) unknown field: "artifactsss", '
'refer to the definition to verify valid values.')
self._single_node_template_content_test(tpl_snippet,
exception.UnknownFieldError,
expectedmessage)
err = self.assertRaises(
exception.UnknownFieldError,
lambda: self._single_node_template_content_test(tpl_snippet))
self.assertEqual(expectedmessage, err.__str__())
def test_node_template_with_multiple_wrong_keynames(self):
"""Node templates given with multiple wrong keynames."""
@ -452,9 +451,10 @@ custom_types/wordpress.yaml
expectedmessage = ('Node template mysql_dbms '
'contain(s) unknown field: "propertieees", '
'refer to the definition to verify valid values.')
self._single_node_template_content_test(tpl_snippet,
exception.UnknownFieldError,
expectedmessage)
err = self.assertRaises(
exception.UnknownFieldError,
lambda: self._single_node_template_content_test(tpl_snippet))
self.assertEqual(expectedmessage, err.__str__())
tpl_snippet = '''
node_templates:
@ -479,9 +479,10 @@ custom_types/wordpress.yaml
expectedmessage = ('Node template mysql_database '
'contain(s) unknown field: "capabilitiiiies", '
'refer to the definition to verify valid values.')
self._single_node_template_content_test(tpl_snippet,
exception.UnknownFieldError,
expectedmessage)
err = self.assertRaises(
exception.UnknownFieldError,
lambda: self._single_node_template_content_test(tpl_snippet))
self.assertEqual(expectedmessage, err.__str__())
def test_node_template_type(self):
tpl_snippet = '''
@ -504,9 +505,10 @@ custom_types/wordpress.yaml
'''
expectedmessage = ('Type "tosca.nodes.Databases" is not '
'a valid type.')
self._single_node_template_content_test(tpl_snippet,
exception.InvalidTypeError,
expectedmessage)
err = self.assertRaises(
exception.InvalidTypeError,
lambda: self._single_node_template_content_test(tpl_snippet))
self.assertEqual(expectedmessage, err.__str__())
def test_node_template_requirements(self):
tpl_snippet = '''
@ -522,9 +524,10 @@ custom_types/wordpress.yaml
'''
expectedmessage = ('Requirements of template webserver '
'must be of type: "list".')
self._single_node_template_content_test(tpl_snippet,
exception.TypeMismatchError,
expectedmessage)
err = self.assertRaises(
exception.TypeMismatchError,
lambda: self._single_node_template_content_test(tpl_snippet))
self.assertEqual(expectedmessage, err.__str__())
tpl_snippet = '''
node_templates:
@ -548,9 +551,10 @@ custom_types/wordpress.yaml
expectedmessage = ('Requirements of template mysql_database '
'contain(s) unknown field: "database_endpoint", '
'refer to the definition to verify valid values.')
self._single_node_template_content_test(tpl_snippet,
exception.UnknownFieldError,
expectedmessage)
err = self.assertRaises(
exception.UnknownFieldError,
lambda: self._single_node_template_content_test(tpl_snippet))
self.assertEqual(expectedmessage, err.__str__())
def test_node_template_requirements_with_wrong_node_keyname(self):
"""Node template requirements keyname 'node' given as 'nodes'."""
@ -566,9 +570,10 @@ custom_types/wordpress.yaml
expectedmessage = ('Requirements of template mysql_database '
'contain(s) unknown field: "nodes", refer to the '
'definition to verify valid values.')
self._single_node_template_content_test(tpl_snippet,
exception.UnknownFieldError,
expectedmessage)
err = self.assertRaises(
exception.UnknownFieldError,
lambda: self._single_node_template_content_test(tpl_snippet))
self.assertEqual(expectedmessage, err.__str__())
def test_node_template_requirements_with_wrong_capability_keyname(self):
"""Incorrect node template requirements keyname
@ -593,9 +598,10 @@ custom_types/wordpress.yaml
expectedmessage = ('Requirements of template mysql_database '
'contain(s) unknown field: "capabilityy", refer to '
'the definition to verify valid values.')
self._single_node_template_content_test(tpl_snippet,
exception.UnknownFieldError,
expectedmessage)
err = self.assertRaises(
exception.UnknownFieldError,
lambda: self._single_node_template_content_test(tpl_snippet))
self.assertEqual(expectedmessage, err.__str__())
def test_node_template_requirements_with_wrong_relationship_keyname(self):
"""Incorrect node template requirements keyname
@ -620,9 +626,10 @@ custom_types/wordpress.yaml
expectedmessage = ('Requirements of template mysql_database '
'contain(s) unknown field: "relationshipppp", refer'
' to the definition to verify valid values.')
self._single_node_template_content_test(tpl_snippet,
exception.UnknownFieldError,
expectedmessage)
err = self.assertRaises(
exception.UnknownFieldError,
lambda: self._single_node_template_content_test(tpl_snippet))
self.assertEqual(expectedmessage, err.__str__())
def test_node_template_requirements_with_wrong_occurrences_keyname(self):
"""Incorrect node template requirements keyname
@ -647,9 +654,10 @@ custom_types/wordpress.yaml
expectedmessage = ('Requirements of template mysql_database '
'contain(s) unknown field: "occurences", refer'
' to the definition to verify valid values.')
self._single_node_template_content_test(tpl_snippet,
exception.UnknownFieldError,
expectedmessage)
err = self.assertRaises(
exception.UnknownFieldError,
lambda: self._single_node_template_content_test(tpl_snippet))
self.assertEqual(expectedmessage, err.__str__())
def test_node_template_requirements_with_multiple_wrong_keynames(self):
"""Node templates given with multiple wrong requirements keynames."""
@ -670,9 +678,10 @@ custom_types/wordpress.yaml
expectedmessage = ('Requirements of template mysql_database '
'contain(s) unknown field: "nod", refer'
' to the definition to verify valid values.')
self._single_node_template_content_test(tpl_snippet,
exception.UnknownFieldError,
expectedmessage)
err = self.assertRaises(
exception.UnknownFieldError,
lambda: self._single_node_template_content_test(tpl_snippet))
self.assertEqual(expectedmessage, err.__str__())
tpl_snippet = '''
node_templates:
@ -691,9 +700,10 @@ custom_types/wordpress.yaml
expectedmessage = ('Requirements of template mysql_database '
'contain(s) unknown field: "capabilit", refer'
' to the definition to verify valid values.')
self._single_node_template_content_test(tpl_snippet,
exception.UnknownFieldError,
expectedmessage)
err = self.assertRaises(
exception.UnknownFieldError,
lambda: self._single_node_template_content_test(tpl_snippet))
self.assertEqual(expectedmessage, err.__str__())
def test_node_template_requirements_invalid_occurrences(self):
tpl_snippet = '''
@ -706,10 +716,10 @@ custom_types/wordpress.yaml
occurrences: [0, -1]
'''
expectedmessage = ('Value of property "[0, -1]" is invalid.')
self._single_node_template_content_test(
tpl_snippet,
err = self.assertRaises(
exception.InvalidPropertyValueError,
expectedmessage)
lambda: self._single_node_template_content_test(tpl_snippet))
self.assertEqual(expectedmessage, err.__str__())
tpl_snippet = '''
node_templates:
@ -721,10 +731,10 @@ custom_types/wordpress.yaml
occurrences: [a, w]
'''
expectedmessage = ('"a" is not an integer')
self._single_node_template_content_test(
tpl_snippet,
err = self.assertRaises(
ValueError,
expectedmessage)
lambda: self._single_node_template_content_test(tpl_snippet))
self.assertEqual(expectedmessage, err.__str__())
tpl_snippet = '''
node_templates:
@ -736,10 +746,10 @@ custom_types/wordpress.yaml
occurrences: -1
'''
expectedmessage = ('"-1" is not a list')
self._single_node_template_content_test(
tpl_snippet,
err = self.assertRaises(
ValueError,
expectedmessage)
lambda: self._single_node_template_content_test(tpl_snippet))
self.assertEqual(expectedmessage, err.__str__())
tpl_snippet = '''
node_templates:
@ -751,10 +761,10 @@ custom_types/wordpress.yaml
occurrences: [5, 1]
'''
expectedmessage = ('Value of property "[5, 1]" is invalid.')
self._single_node_template_content_test(
tpl_snippet,
err = self.assertRaises(
exception.InvalidPropertyValueError,
expectedmessage)
lambda: self._single_node_template_content_test(tpl_snippet))
self.assertEqual(expectedmessage, err.__str__())
tpl_snippet = '''
node_templates:
@ -766,10 +776,10 @@ custom_types/wordpress.yaml
occurrences: [0, 0]
'''
expectedmessage = ('Value of property "[0, 0]" is invalid.')
self._single_node_template_content_test(
tpl_snippet,
err = self.assertRaises(
exception.InvalidPropertyValueError,
expectedmessage)
lambda: self._single_node_template_content_test(tpl_snippet))
self.assertEqual(expectedmessage, err.__str__())
def test_node_template_requirements_valid_occurrences(self):
tpl_snippet = '''
@ -781,11 +791,7 @@ custom_types/wordpress.yaml
capability: log_endpoint
occurrences: [2, 2]
'''
expectedmessage = ''
self._single_node_template_content_test(
tpl_snippet,
None,
expectedmessage)
self._single_node_template_content_test(tpl_snippet)
def test_node_template_capabilities(self):
tpl_snippet = '''
@ -809,9 +815,10 @@ custom_types/wordpress.yaml
expectedmessage = ('Capabilities of template mysql_database '
'contain(s) unknown field: "http_endpoint", '
'refer to the definition to verify valid values.')
self._single_node_template_content_test(tpl_snippet,
exception.UnknownFieldError,
expectedmessage)
err = self.assertRaises(
exception.UnknownFieldError,
lambda: self._single_node_template_content_test(tpl_snippet))
self.assertEqual(expectedmessage, err.__str__())
def test_node_template_properties(self):
tpl_snippet = '''
@ -836,9 +843,10 @@ custom_types/wordpress.yaml
expectedmessage = ('Properties of template server contain(s) '
'unknown field: "os_image", refer to the '
'definition to verify valid values.')
self._single_node_template_content_test(tpl_snippet,
exception.UnknownFieldError,
expectedmessage)
err = self.assertRaises(
exception.UnknownFieldError,
lambda: self._single_node_template_content_test(tpl_snippet))
self.assertEqual(expectedmessage, err.__str__())
def test_node_template_interfaces(self):
tpl_snippet = '''
@ -865,9 +873,10 @@ custom_types/wordpress.yaml
'contain(s) unknown field: '
'"Standards", '
'refer to the definition to verify valid values.')
self._single_node_template_content_test(tpl_snippet,
exception.UnknownFieldError,
expectedmessage)
err = self.assertRaises(
exception.UnknownFieldError,
lambda: self._single_node_template_content_test(tpl_snippet))
self.assertEqual(expectedmessage, err.__str__())
tpl_snippet = '''
node_templates:
@ -892,9 +901,10 @@ custom_types/wordpress.yaml
expectedmessage = ('Interfaces of template wordpress contain(s) '
'unknown field: "config", refer to the definition'
' to verify valid values.')
self._single_node_template_content_test(tpl_snippet,
exception.UnknownFieldError,
expectedmessage)
err = self.assertRaises(
exception.UnknownFieldError,
lambda: self._single_node_template_content_test(tpl_snippet))
self.assertEqual(expectedmessage, err.__str__())
tpl_snippet = '''
node_templates:
@ -908,7 +918,7 @@ custom_types/wordpress.yaml
create: wordpress_install.sh
configure:
implementation: wordpress_configure.sh
inputs:
input:
wp_db_name: { get_property: [ mysql_database, db_name ] }
wp_db_user: { get_property: [ mysql_database, db_user ] }
wp_db_password: { get_property: [ mysql_database, \
@ -917,11 +927,12 @@ custom_types/wordpress.yaml
database_endpoint, port ] }
'''
expectedmessage = ('Interfaces of template wordpress contain(s) '
'unknown field: "inputs", refer to the definition'
'unknown field: "input", refer to the definition'
' to verify valid values.')
self._single_node_template_content_test(tpl_snippet,
exception.UnknownFieldError,
expectedmessage)
err = self.assertRaises(
exception.UnknownFieldError,
lambda: self._single_node_template_content_test(tpl_snippet))
self.assertEqual(expectedmessage, err.__str__())
def test_relationship_template_properties(self):
tpl_snippet = '''
@ -984,11 +995,10 @@ custom_types/wordpress.yaml
expectedmessage = ('Properties of template server is missing '
'required field: '
'"[\'max_instances\']".')
self._single_node_template_content_test(
tpl_snippet,
err = self.assertRaises(
exception.MissingRequiredFieldError,
expectedmessage)
lambda: self._single_node_template_content_test(tpl_snippet))
self.assertEqual(expectedmessage, err.__str__())
# validatating capability property values
tpl_snippet = '''
@ -1003,10 +1013,10 @@ custom_types/wordpress.yaml
expectedmessage = ('initiator: test is not an valid value '
'"[source, target, peer]".')
self._single_node_template_content_test(
tpl_snippet,
err = self.assertRaises(
exception.ValidationError,
expectedmessage)
lambda: self._single_node_template_content_test(tpl_snippet))
self.assertEqual(expectedmessage, err.__str__())
tpl_snippet = '''
node_templates:
@ -1033,11 +1043,10 @@ custom_types/wordpress.yaml
expectedmessage = ('Properties of template server : '
'default_instances value is not between'
' min_instances and max_instances')
self._single_node_template_content_test(
tpl_snippet,
err = self.assertRaises(
exception.ValidationError,
expectedmessage)
lambda: self._single_node_template_content_test(tpl_snippet))
self.assertEqual(expectedmessage, err.__str__())
def test_node_template_objectstorage_without_required_property(self):
tpl_snippet = '''
@ -1050,11 +1059,10 @@ custom_types/wordpress.yaml
expectedmessage = ('Properties of template server is missing '
'required field: '
'"[\'name\']".')
self._single_node_template_content_test(
tpl_snippet,
err = self.assertRaises(
exception.MissingRequiredFieldError,
expectedmessage)
lambda: self._single_node_template_content_test(tpl_snippet))
self.assertEqual(expectedmessage, err.__str__())
def test_node_template_objectstorage_with_invalid_scalar_unit(self):
tpl_snippet = '''
@ -1066,10 +1074,10 @@ custom_types/wordpress.yaml
maxsize: -1
'''
expectedmessage = ('"-1" is not a valid scalar-unit')
self._single_node_template_content_test(
tpl_snippet,
err = self.assertRaises(
ValueError,
expectedmessage)
lambda: self._single_node_template_content_test(tpl_snippet))
self.assertEqual(expectedmessage, err.__str__())
def test_node_template_objectstorage_with_invalid_scalar_type(self):
tpl_snippet = '''
@ -1081,7 +1089,7 @@ custom_types/wordpress.yaml
maxsize: 1 XB
'''
expectedmessage = ('"1 XB" is not a valid scalar-unit')
self._single_node_template_content_test(
tpl_snippet,
err = self.assertRaises(
ValueError,
expectedmessage)
lambda: self._single_node_template_content_test(tpl_snippet))
self.assertEqual(expectedmessage, err.__str__())