Merge "rehome get_updatable_fields into object utils"
This commit is contained in:
commit
e1da9733cb
|
@ -98,3 +98,11 @@ class NotEqual(FilterObj):
|
|||
|
||||
def filter(self, column):
|
||||
return column != self.value
|
||||
|
||||
|
||||
def get_updatable_fields(cls, fields):
|
||||
fields = fields.copy()
|
||||
for field in cls.fields_no_update:
|
||||
if field in fields:
|
||||
del fields[field]
|
||||
return fields
|
||||
|
|
|
@ -10,6 +10,8 @@
|
|||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
import mock
|
||||
|
||||
from neutron_lib.objects import utils as obj_utils
|
||||
from neutron_lib.tests import _base as base
|
||||
|
||||
|
@ -31,13 +33,15 @@ class TestUtils(base.BaseTestCase):
|
|||
|
||||
filter_obj = obj_utils.NotIn([1, 2, 3])
|
||||
fake_column = FakeColumn([1, 2, 4, 5])
|
||||
self.assertEqual([4, 5], filter_obj.filter(fake_column))
|
||||
self.assertEqual([4, 5],
|
||||
sorted(filter_obj.filter(fake_column)))
|
||||
|
||||
fake_column = FakeColumn([1, 2])
|
||||
self.assertEqual([], filter_obj.filter(fake_column))
|
||||
|
||||
fake_column = FakeColumn([4, 5])
|
||||
self.assertEqual([4, 5], filter_obj.filter(fake_column))
|
||||
self.assertEqual([4, 5],
|
||||
sorted(filter_obj.filter(fake_column)))
|
||||
|
||||
def test_get_objects_with_filters_not_equal(self):
|
||||
|
||||
|
@ -50,10 +54,23 @@ class TestUtils(base.BaseTestCase):
|
|||
|
||||
filter_obj = obj_utils.NotEqual(1)
|
||||
fake_column = FakeColumn([1, 2, 4, 5])
|
||||
self.assertEqual([2, 4, 5], filter_obj.filter(fake_column))
|
||||
self.assertEqual([2, 4, 5],
|
||||
sorted(filter_obj.filter(fake_column)))
|
||||
|
||||
fake_column = FakeColumn([1])
|
||||
self.assertEqual([], filter_obj.filter(fake_column))
|
||||
|
||||
fake_column = FakeColumn([4, 5])
|
||||
self.assertEqual([4, 5], filter_obj.filter(fake_column))
|
||||
self.assertEqual([4, 5],
|
||||
sorted(filter_obj.filter(fake_column)))
|
||||
|
||||
def test_get_updatable_fields(self):
|
||||
mock_class = mock.Mock()
|
||||
mock_class.fields_no_update = [0, 2, 6]
|
||||
|
||||
mock_fields = mock.Mock()
|
||||
mock_fields.copy.return_value = {k: k for k in range(7)}
|
||||
|
||||
updatable = obj_utils.get_updatable_fields(mock_class, mock_fields)
|
||||
self.assertEqual([1, 3, 4, 5],
|
||||
sorted(list(updatable.keys())))
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
features:
|
||||
- The ``get_updatable_fields`` function from ``neutron.objects.base`` is now
|
||||
available in ``neutron_lib.object.utils``.
|
Loading…
Reference in New Issue