Add ListOfUUIDField

This adds a simple ListOfUUIDField which is copied from
kuryr-kubernetes and is also needed in nova.

Change-Id: Ife866af6e07c887774689fd98ac6fde6fa55d6de
This commit is contained in:
Matt Riedemann 2019-02-04 09:34:18 -05:00
parent 2847ec2f58
commit 6d62263009
2 changed files with 22 additions and 0 deletions

View File

@ -1180,6 +1180,10 @@ class ListOfObjectsField(AutoTypedField):
super(ListOfObjectsField, self).__init__(**kwargs)
class ListOfUUIDField(AutoTypedField):
AUTO_TYPE = List(UUID())
class IPAddressField(AutoTypedField):
AUTO_TYPE = IPAddress()

View File

@ -851,6 +851,24 @@ class TestListOfIntegers(TestField):
self.assertEqual('[[1, 2]]', self.field.stringify([[1, 2]]))
class TestListOfUUIDField(TestField):
def setUp(self):
super(TestListOfUUIDField, self).setUp()
self.field = fields.ListOfUUIDField()
self.uuid1 = '6b2097ea-d0e3-44dd-b131-95472b3ea8fd'
self.uuid2 = '478c193d-2533-4e71-ab2b-c7683f67d7f9'
self.coerce_good_values = [([self.uuid1, self.uuid2],
[self.uuid1, self.uuid2])]
# coerce_bad_values is intentionally ignored since the UUID field
# allows non-UUID values for now. See TestUUIDField for examples.
self.to_primitive_values = [([self.uuid1], [self.uuid1])]
self.from_primitive_values = [([self.uuid1], [self.uuid1])]
def test_stringify(self):
self.assertEqual('[%s,%s]' % (self.uuid1, self.uuid2),
self.field.stringify([self.uuid1, self.uuid2]))
class TestLocalMethods(test.TestCase):
@mock.patch.object(obj_base.LOG, 'exception')
def test__make_class_properties_setter_value_error(self, mock_log):