'AllowedValues': ['EC2', 'ELB'],
'Implemented': False},
'LoadBalancerNames': {'Type': 'List'},
- 'Tags': {'Type': 'List',
- 'Schema': tags_schema}
+ 'Tags': {'Type': 'List', 'Schema': {'Type': 'Map',
+ 'Schema': tags_schema}}
}
def __init__(self, name, json_snippet, stack):
'BlockDeviceMappings': {'Type': 'String',
'Implemented': False},
'NovaSchedulerHints': {'Type': 'List',
- 'Schema': tags_schema},
+ 'Schema': {'Type': 'Map',
+ 'Schema': tags_schema}},
}
def __init__(self, name, json_snippet, stack):
'SubnetId': {'Type': 'String',
'Implemented': False},
'Tags': {'Type': 'List',
- 'Schema': tags_schema},
+ 'Schema': {'Type': 'Map',
+ 'Schema': tags_schema}},
'NovaSchedulerHints': {'Type': 'List',
- 'Schema': tags_schema},
+ 'Schema': {
+ 'Type': 'Map',
+ 'Schema': tags_schema
+ }},
'Tenancy': {'Type': 'String',
'AllowedValues': ['dedicated', 'default'],
'Implemented': False},
'Schema': healthcheck_schema},
'Instances': {'Type': 'List'},
'Listeners': {'Type': 'List',
- 'Schema': listeners_schema},
+ 'Schema': {'Type': 'Map',
+ 'Schema': listeners_schema}},
'AppCookieStickinessPolicy': {'Type': 'String',
'Implemented': False},
'LBCookieStickinessPolicy': {'Type': 'String',
self._check_allowed(v)
if SCHEMA in self.schema:
- prop = Property({TYPE: MAP, SCHEMA: self.schema[SCHEMA]})
+ prop = Property(self.schema[SCHEMA])
children = [prop.validate_data(d) for d in value]
else:
children = value
'Default': {}},
'admin_state_up': {'Default': True},
'fixed_ips': {'Type': 'List',
- 'Schema': fixed_ip_schema},
+ 'Schema': {'Type': 'Map',
+ 'Schema': fixed_ip_schema}},
'mac_address': {'Type': 'String'},
'device_id': {'Type': 'String'},
}
'Default': 4},
'gateway_ip': {'Type': 'String'},
'allocation_pools': {'Type': 'List',
- 'Schema': allocation_schema}
+ 'Schema': {
+ 'Type': 'Map',
+ 'Schema': allocation_schema
+ }}
}
def __init__(self, name, json_snippet, stack):
def test_list_schema_good(self):
map_schema = {'valid': {'Type': 'Boolean'}}
- p = properties.Property({'Type': 'List', 'Schema': map_schema})
+ list_schema = {'Type': 'Map', 'Schema': map_schema}
+ p = properties.Property({'Type': 'List', 'Schema': list_schema})
self.assertEqual(p.validate_data([{'valid': 'TRUE'},
{'valid': 'False'}]),
[{'valid': 'true'},
def test_list_schema_bad_data(self):
map_schema = {'valid': {'Type': 'Boolean'}}
- p = properties.Property({'Type': 'List', 'Schema': map_schema})
+ list_schema = {'Type': 'Map', 'Schema': map_schema}
+ p = properties.Property({'Type': 'List', 'Schema': list_schema})
self.assertRaises(ValueError, p.validate_data, [{'valid': 'True'},
{'valid': 'fish'}])
+ def test_list_schema_int_good(self):
+ list_schema = {'Type': 'Integer'}
+ p = properties.Property({'Type': 'List', 'Schema': list_schema})
+ self.assertEqual(p.validate_data([1, 2, 3]), [1, 2, 3])
+
+ def test_list_schema_int_bad_data(self):
+ list_schema = {'Type': 'Integer'}
+ p = properties.Property({'Type': 'List', 'Schema': list_schema})
+ self.assertRaises(TypeError, p.validate_data, [42, 'fish'])
+
@attr(tag=['unit', 'properties'])
@attr(speed='fast')