Fix return IPv4 address after validation
Closes-Bug: #1459155 Change-Id: Idaefe0a3c2fde70d6608eeffd818b4ddbcc985fb
This commit is contained in:
parent
2b2970d53b
commit
2680d408c7
|
@ -217,5 +217,6 @@ class IPv4AddressType(wtypes.UserType):
|
|||
def validate(value):
|
||||
try:
|
||||
netaddr.IPAddress(value, version=4, flags=netaddr.INET_PTON)
|
||||
return value
|
||||
except netaddr.AddrFormatError as e:
|
||||
raise ValueError(six.text_type(e))
|
||||
|
|
|
@ -519,6 +519,16 @@ class TestPost(api_base.FunctionalTest):
|
|||
response = self.post_json('/baymodels', cdict, expect_errors=True)
|
||||
self.assertEqual(400, response.status_int)
|
||||
|
||||
@mock.patch.object(api_baymodel.BayModelsController, '_get_image_data')
|
||||
def test_create_baymodel_with_dns(self, mock_image_data):
|
||||
mock_image_data.return_value = {'name': 'mock_name',
|
||||
'os_distro': 'fedora-atomic'}
|
||||
cdict = apiutils.baymodel_post_data()
|
||||
response = self.post_json('/baymodels', cdict)
|
||||
self.assertEqual(201, response.status_int)
|
||||
self.assertEqual(cdict['dns_nameserver'],
|
||||
response.json['dns_nameserver'])
|
||||
|
||||
|
||||
class TestDelete(api_base.FunctionalTest):
|
||||
|
||||
|
|
|
@ -225,3 +225,15 @@ class TestNameType(base.FunctionalTest):
|
|||
def test_invalid_name(self):
|
||||
self.assertRaises(exception.InvalidName, types.NameType.validate, None)
|
||||
self.assertRaises(exception.InvalidName, types.NameType.validate, '')
|
||||
|
||||
|
||||
class TestIPv4AddressType(base.FunctionalTest):
|
||||
|
||||
def test_valid_value(self):
|
||||
v = types.IPv4AddressType()
|
||||
self.assertEqual('192.168.0.1', v.validate('192.168.0.1'))
|
||||
|
||||
def test_invalid_value(self):
|
||||
v = types.IPv4AddressType()
|
||||
self.assertRaises(ValueError, v.validate, "")
|
||||
self.assertRaises(ValueError, v.validate, "1")
|
||||
|
|
Loading…
Reference in New Issue