Пример #1
0
 def _assertEqualsVolumeOrderResult(
     self,
     correct_order,
     limit=None,
     sort_key="created_at",
     sort_dir="asc",
     filters=None,
     project_id=None,
     match_keys=["id", "display_name", "volume_metadata", "created_at"],
 ):
     """"Verifies that volumes are returned in the correct order."""
     if project_id:
         result = db.volume_get_all_by_project(
             self.ctxt, project_id, None, limit, sort_key, sort_dir, filters=filters
         )
     else:
         result = db.volume_get_all(self.ctxt, None, limit, sort_key, sort_dir, filters=filters)
     self.assertEqual(len(correct_order), len(result))
     for vol1, vol2 in zip(result, correct_order):
         for key in match_keys:
             val1 = vol1.get(key)
             val2 = vol2.get(key)
             # metadata is a dict, compare the 'key' and 'value' of each
             if key == "volume_metadata":
                 self.assertEqual(len(val1), len(val2))
                 val1_dict = dict((x.key, x.value) for x in val1)
                 val2_dict = dict((x.key, x.value) for x in val2)
                 self.assertDictMatch(val1_dict, val2_dict)
             else:
                 self.assertEqual(val1, val2)
Пример #2
0
 def get_all_by_project(
     cls, context, project_id, marker, limit, sort_keys=None, sort_dirs=None, filters=None, offset=None
 ):
     volumes = db.volume_get_all_by_project(
         context, project_id, marker, limit, sort_keys=sort_keys, sort_dirs=sort_dirs, filters=filters, offset=offset
     )
     expected_attrs = ["admin_metadata", "metadata"]
     return base.obj_make_list(context, cls(context), objects.Volume, volumes, expected_attrs=expected_attrs)
Пример #3
0
 def test_volume_get_all_by_project(self):
     volumes = []
     for i in xrange(3):
         volumes.append([db.volume_create(self.ctxt, {"project_id": "p%d" % i}) for j in xrange(3)])
     for i in xrange(3):
         self._assertEqualListsOfObjects(
             volumes[i], db.volume_get_all_by_project(self.ctxt, "p%d" % i, None, None, "host", None)
         )
Пример #4
0
 def get_all_by_project(cls, context, project_id, marker, limit,
                        sort_keys=None, sort_dirs=None, filters=None,
                        offset=None):
     volumes = db.volume_get_all_by_project(context, project_id, marker,
                                            limit, sort_keys=sort_keys,
                                            sort_dirs=sort_dirs,
                                            filters=filters, offset=offset)
     expected_attrs = cls._get_expected_attrs(context)
     return base.obj_make_list(context, cls(context), objects.Volume,
                               volumes, expected_attrs=expected_attrs)
Пример #5
0
 def test_volume_get_all_by_project(self):
     volumes = []
     for i in xrange(3):
         volumes.append([db.volume_create(self.ctxt, {
             'project_id': 'p%d' % i}) for j in xrange(3)])
     for i in xrange(3):
         self._assertEqualListsOfObjects(volumes[i],
                                         db.volume_get_all_by_project(
                                         self.ctxt, 'p%d' % i, None,
                                         None, 'host', None))