1717from openstackclient .tests .unit .volume .v3 import fakes as volume_fakes
1818from openstackclient .volume .v3 import block_storage_cleanup
1919
20-
21- class TestBlockStorage (volume_fakes .TestVolume ):
22- def setUp (self ):
23- super ().setUp ()
24-
25- # Get a shortcut to the BlockStorageWorkerManager Mock
26- self .worker_mock = self .volume_client .workers
27- self .worker_mock .reset_mock ()
28-
29-
30- class TestBlockStorageCleanup (TestBlockStorage ):
31- cleaning , unavailable = volume_fakes .create_cleanup_records ()
32-
20+ FAKE_CLEANING = [
21+ {
22+ 'id' : 1 ,
23+ 'host' : 'devstack@fakedriver-1' ,
24+ 'binary' : 'cinder-volume' ,
25+ 'cluster_name' : 'fake_cluster' ,
26+ }
27+ ]
28+ FAKE_UNAVAILABLE = [
29+ {
30+ 'id' : 2 ,
31+ 'host' : 'devstack@fakedriver-2' ,
32+ 'binary' : 'cinder-scheduler' ,
33+ 'cluster_name' : 'new_cluster' ,
34+ }
35+ ]
36+ FAKE_CLEANUP_RESPONSE = {
37+ 'cleaning' : FAKE_CLEANING ,
38+ 'unavailable' : FAKE_UNAVAILABLE ,
39+ }
40+
41+
42+ class TestBlockStorageCleanup (volume_fakes .TestVolume ):
3343 def setUp (self ):
3444 super ().setUp ()
3545
36- self .worker_mock .clean .return_value = (self .cleaning , self .unavailable )
46+ self .volume_sdk_client .cleanup_service_workers .return_value = (
47+ FAKE_CLEANUP_RESPONSE
48+ )
3749
38- # Get the command object to test
3950 self .cmd = block_storage_cleanup .BlockStorageCleanup (self .app , None )
4051
4152 def test_cleanup (self ):
@@ -55,24 +66,28 @@ def test_cleanup(self):
5566 parsed_args = self .check_parser (self .cmd , arglist , verifylist )
5667
5768 expected_columns = ('ID' , 'Cluster Name' , 'Host' , 'Binary' , 'Status' )
58- cleaning_data = tuple (
59- (obj .id , obj .cluster_name , obj .host , obj .binary , 'Cleaning' )
60- for obj in self .cleaning
69+ expected_data = (
70+ (
71+ 1 ,
72+ 'fake_cluster' ,
73+ 'devstack@fakedriver-1' ,
74+ 'cinder-volume' ,
75+ 'Cleaning' ,
76+ ),
77+ (
78+ 2 ,
79+ 'new_cluster' ,
80+ 'devstack@fakedriver-2' ,
81+ 'cinder-scheduler' ,
82+ 'Unavailable' ,
83+ ),
6184 )
62- unavailable_data = tuple (
63- (obj .id , obj .cluster_name , obj .host , obj .binary , 'Unavailable' )
64- for obj in self .unavailable
65- )
66- expected_data = cleaning_data + unavailable_data
6785 columns , data = self .cmd .take_action (parsed_args )
6886
6987 self .assertEqual (expected_columns , columns )
7088 self .assertEqual (expected_data , tuple (data ))
7189
72- # checking if proper call was made to cleanup resources
73- # Since we ignore all parameters with None value, we don't
74- # have any arguments passed to the API
75- self .worker_mock .clean .assert_called_once_with ()
90+ self .volume_sdk_client .cleanup_service_workers .assert_called_once_with ()
7691
7792 def test_block_storage_cleanup_pre_324 (self ):
7893 arglist = []
@@ -132,22 +147,28 @@ def test_cleanup_with_args(self):
132147 parsed_args = self .check_parser (self .cmd , arglist , verifylist )
133148
134149 expected_columns = ('ID' , 'Cluster Name' , 'Host' , 'Binary' , 'Status' )
135- cleaning_data = tuple (
136- (obj .id , obj .cluster_name , obj .host , obj .binary , 'Cleaning' )
137- for obj in self .cleaning
138- )
139- unavailable_data = tuple (
140- (obj .id , obj .cluster_name , obj .host , obj .binary , 'Unavailable' )
141- for obj in self .unavailable
150+ expected_data = (
151+ (
152+ 1 ,
153+ 'fake_cluster' ,
154+ 'devstack@fakedriver-1' ,
155+ 'cinder-volume' ,
156+ 'Cleaning' ,
157+ ),
158+ (
159+ 2 ,
160+ 'new_cluster' ,
161+ 'devstack@fakedriver-2' ,
162+ 'cinder-scheduler' ,
163+ 'Unavailable' ,
164+ ),
142165 )
143- expected_data = cleaning_data + unavailable_data
144166 columns , data = self .cmd .take_action (parsed_args )
145167
146168 self .assertEqual (expected_columns , columns )
147169 self .assertEqual (expected_data , tuple (data ))
148170
149- # checking if proper call was made to cleanup resources
150- self .worker_mock .clean .assert_called_once_with (
171+ self .volume_sdk_client .cleanup_service_workers .assert_called_once_with (
151172 cluster_name = fake_cluster ,
152173 host = fake_host ,
153174 binary = fake_binary ,
0 commit comments