]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commitdiff
Fix list comparison for empty list
authorankitagrawal <ankit11.agrawal@nttdata.com>
Tue, 4 Aug 2015 11:20:12 +0000 (04:20 -0700)
committerankitagrawal <ankit11.agrawal@nttdata.com>
Fri, 7 Aug 2015 11:41:24 +0000 (04:41 -0700)
Replaced boolean expression with 'not fields' in "_filter" method.
Also updated unit test cases which calls "_filter" method with
expected value of fields in restore methods.

The unit test "test_restore_vol_meta" was failing for empty list
because after updating the volume metadata, container was passed
to the "_restore_vol_meta" method where "metadata" is expected.
So fixed this unit test by passing the expected value to the
"_restore_vol_meta" method.

Closes-Bug: 1482619
Change-Id: I95c3a390b0b75c0514a3d63699367081440bf414

cinder/backup/driver.py
cinder/tests/unit/test_backup_driver_base.py

index ebbc25c8142ed08b929795ea610b1ce1dc3b4044..7ec321f34ed5ee98abbe0ca73cbb9247924187ab 100644 (file)
@@ -151,7 +151,7 @@ class BackupMetadataAPI(base.Base):
 
         If fields is empty list, the full set is returned.
         """
-        if fields == []:
+        if not fields:
             return metadata
 
         subset = {}
index b19664e178a17df369f48c6f637e0c79667a0cb6..b9a68d2b24e3a2476f2ce1f462d08db337622a93 100644 (file)
@@ -206,7 +206,8 @@ class BackupMetadataAPITestCase(test.TestCase):
             func({}, self.volume_id, fields)
 
     def test_restore_vol_glance_meta(self):
-        fields = {}
+        # Fields is an empty list for _restore_vol_glance_meta method.
+        fields = []
         container = {}
         self.bak_meta_api._save_vol_glance_meta(container, self.volume_id)
         self.bak_meta_api._restore_vol_glance_meta(container, self.volume_id,
@@ -217,16 +218,24 @@ class BackupMetadataAPITestCase(test.TestCase):
                                                    fields)
 
     def test_restore_vol_meta(self):
-        fields = {}
+        # Fields is an empty list for _restore_vol_meta method.
+        fields = []
         container = {}
         self.bak_meta_api._save_vol_meta(container, self.volume_id)
-        self.bak_meta_api._restore_vol_meta(container, self.volume_id, fields)
+        # Extract volume metadata from container.
+        metadata = container.get('volume-metadata', {})
+        self.bak_meta_api._restore_vol_meta(metadata, self.volume_id,
+                                            fields)
         self._add_metadata(vol_meta=True)
         self.bak_meta_api._save_vol_meta(container, self.volume_id)
-        self.bak_meta_api._restore_vol_meta(container, self.volume_id, fields)
+        # Extract volume metadata from container.
+        metadata = container.get('volume-metadata', {})
+        self.bak_meta_api._restore_vol_meta(metadata, self.volume_id, fields)
 
     def test_restore_vol_base_meta(self):
-        fields = {}
+        # Fields is a list with 'encryption_key_id' for
+        # _restore_vol_base_meta method.
+        fields = ['encryption_key_id']
         container = {}
         self.bak_meta_api._save_vol_base_meta(container, self.volume_id)
         self.bak_meta_api._restore_vol_base_meta(container, self.volume_id,