From 2835c8aeb39313e927a4c13a7ce78d5386c4d909 Mon Sep 17 00:00:00 2001
From: Peter Penchev <openstack-dev@storpool.com>
Date: Tue, 17 Jan 2023 01:20:59 +0200
Subject: [PATCH 05/10] StorPool: fix the "rename volume" unit test emulation

Also update the "name" field of the actual data structure in
the fake list of volumes.

Change-Id: Iee9e3feea1af4f3d0acdf05ea1b540ecf59e755b
---
 cinder/tests/unit/volume/drivers/test_storpool.py | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/cinder/tests/unit/volume/drivers/test_storpool.py b/cinder/tests/unit/volume/drivers/test_storpool.py
index 2e6f56526..f878c6d26 100644
--- a/cinder/tests/unit/volume/drivers/test_storpool.py
+++ b/cinder/tests/unit/volume/drivers/test_storpool.py
@@ -135,7 +135,10 @@ class MockAPI(object):
             volumes[name]['size'] = data['size']
 
         if 'rename' in data and data['rename'] != name:
-            volumes[data['rename']] = volumes[name]
+            new_name = data['rename']
+            volumes[new_name] = volumes[name]
+            if volumes[new_name]['name'] == name:
+                volumes[new_name]['name'] = new_name
             del volumes[name]
 
 
@@ -259,6 +262,8 @@ class StorPoolTestCase(test.TestCase):
     def assertVolumeNames(self, names):
         self.assertListEqual(sorted([volumeName(n) for n in names]),
                              sorted(volumes.keys()))
+        self.assertListEqual(sorted([volumeName(n) for n in names]),
+                             sorted(data['name'] for data in volumes.values()))
 
     @mock_volume_types
     def test_create_delete_volume(self):
-- 
2.42.0

