Merge "tests: don't override base object test class attributes"
This commit is contained in:
commit
27928c0ddf
|
@ -11,7 +11,6 @@
|
|||
# under the License.
|
||||
|
||||
import itertools
|
||||
from operator import itemgetter
|
||||
|
||||
from oslo_utils import uuidutils
|
||||
|
||||
|
@ -60,24 +59,11 @@ class DNSNameServerDbObjectTestCase(obj_test_base.BaseDbObjectTestCase,
|
|||
|
||||
def setUp(self):
|
||||
super(DNSNameServerDbObjectTestCase, self).setUp()
|
||||
# (NOTE) If two object have the same value for a field and
|
||||
# they are sorted using that field, the order is not deterministic.
|
||||
# To avoid breaking the tests we ensure unique values for every field
|
||||
while not self._is_objects_unique():
|
||||
self.db_objs = list(self.get_random_fields() for _ in range(3))
|
||||
self.obj_fields = [self._test_class.modify_fields_from_db(db_obj)
|
||||
for db_obj in self.db_objs]
|
||||
self._create_test_network()
|
||||
self._create_test_subnet(self._network)
|
||||
for obj in itertools.chain(self.db_objs, self.obj_fields, self.objs):
|
||||
obj['subnet_id'] = self._subnet['id']
|
||||
|
||||
def _is_objects_unique(self):
|
||||
order_set = set([x['order'] for x in self.db_objs])
|
||||
subnet_id_set = set([x['subnet_id'] for x in self.db_objs])
|
||||
address_set = set([x['address'] for x in self.db_objs])
|
||||
return 3 == len(order_set) == len(subnet_id_set) == len(address_set)
|
||||
|
||||
def _create_dnsnameservers(self):
|
||||
for obj in self.obj_fields:
|
||||
dns = self._make_object(obj)
|
||||
|
@ -86,32 +72,24 @@ class DNSNameServerDbObjectTestCase(obj_test_base.BaseDbObjectTestCase,
|
|||
def test_get_objects_sort_by_order_asc(self):
|
||||
self._create_dnsnameservers()
|
||||
objs = self._test_class.get_objects(self.context)
|
||||
fields_sorted = sorted([dict(obj) for obj in self.obj_fields],
|
||||
key=itemgetter('order'))
|
||||
self.assertEqual(
|
||||
fields_sorted,
|
||||
[obj_test_base.get_obj_db_fields(obj) for obj in objs])
|
||||
fields_sorted = sorted([obj['order'] for obj in self.obj_fields])
|
||||
self.assertEqual(fields_sorted, [obj.order for obj in objs])
|
||||
|
||||
def test_get_objects_sort_by_order_desc(self):
|
||||
self._create_dnsnameservers()
|
||||
pager = obj_base.Pager(sorts=[('order', False)])
|
||||
objs = self._test_class.get_objects(self.context, _pager=pager,
|
||||
subnet_id=self._subnet.id)
|
||||
fields_sorted = sorted([dict(obj) for obj in self.obj_fields],
|
||||
key=itemgetter('order'), reverse=True)
|
||||
self.assertEqual(
|
||||
fields_sorted,
|
||||
[obj_test_base.get_obj_db_fields(obj) for obj in objs])
|
||||
fields_sorted = sorted([obj['order'] for obj in self.obj_fields],
|
||||
reverse=True)
|
||||
self.assertEqual(fields_sorted, [obj.order for obj in objs])
|
||||
|
||||
def test_get_objects_sort_by_address_asc_using_pager(self):
|
||||
self._create_dnsnameservers()
|
||||
pager = obj_base.Pager(sorts=[('address', True)])
|
||||
objs = self._test_class.get_objects(self.context, _pager=pager)
|
||||
fields_sorted = sorted([dict(obj) for obj in self.obj_fields],
|
||||
key=itemgetter('address'))
|
||||
self.assertEqual(
|
||||
fields_sorted,
|
||||
[obj_test_base.get_obj_db_fields(obj) for obj in objs])
|
||||
fields_sorted = sorted([obj['address'] for obj in self.obj_fields])
|
||||
self.assertEqual(fields_sorted, [obj.address for obj in objs])
|
||||
|
||||
|
||||
class RouteObjectIfaceTestCase(obj_test_base.BaseObjectIfaceTestCase):
|
||||
|
|
Loading…
Reference in New Issue