1919
2020from openstack .block_storage .v2 import volume as _volume
2121from openstack import exceptions as sdk_exceptions
22+ from openstack .identity .v3 import domain as _domain
23+ from openstack .identity .v3 import project as _project
2224from openstack .test import fakes as sdk_fakes
2325from osc_lib .cli import format_columns
2426from osc_lib import exceptions
2527
2628from openstackclient .image .v2 import image as _image
27- from openstackclient .tests .unit .identity .v3 import fakes as identity_fakes
2829from openstackclient .tests .unit .image .v2 import fakes as image_fakes
2930from openstackclient .tests .unit .volume .v3 import fakes as volume_fakes
3031
3132
32- class TestImage (image_fakes .TestImagev2 , volume_fakes .TestVolume ):
33- def setUp (self ):
34- super ().setUp ()
35-
36- # Get shortcut to the Mocks in identity client
37- self .project_mock = self .identity_client .projects
38- self .project_mock .reset_mock ()
39- self .domain_mock = self .identity_client .domains
40- self .domain_mock .reset_mock ()
41-
42-
43- class TestImageCreate (TestImage ):
44- project = identity_fakes .FakeProject .create_one_project ()
45- domain = identity_fakes .FakeDomain .create_one_domain ()
46-
33+ class TestImageCreate (image_fakes .TestImagev2 , volume_fakes .TestVolume ):
4734 def setUp (self ):
4835 super ().setUp ()
4936
@@ -52,11 +39,12 @@ def setUp(self):
5239 self .image_client .update_image .return_value = self .new_image
5340 self .image_client .get_image .return_value = self .new_image
5441
55- self .project_mock .get .return_value = self .project
42+ self .project = sdk_fakes .generate_fake_resource (_project .Project )
43+ self .identity_sdk_client .find_project .return_value = self .project
5644
57- self .domain_mock . get . return_value = self . domain
45+ self .domain = sdk_fakes . generate_fake_resource ( _domain . Domain )
5846
59- ( self .expected_columns , self .expected_data ) = zip (
47+ self .expected_columns , self .expected_data = zip (
6048 * sorted (_image ._format_image (self .new_image ).items ())
6149 )
6250
@@ -149,8 +137,9 @@ def test_image_reserve_options(self, raw_input):
149137 self .assertCountEqual (self .expected_data , data )
150138
151139 def test_image_create_with_unexist_project (self ):
152- self .project_mock .get .side_effect = exceptions .NotFound (None )
153- self .project_mock .find .side_effect = exceptions .NotFound (None )
140+ self .identity_sdk_client .find_project .side_effect = (
141+ sdk_exceptions .ResourceNotFound ()
142+ )
154143
155144 arglist = [
156145 '--container-format' ,
@@ -410,9 +399,9 @@ def test_image_create_from_volume_v31(self, mock_get_data_f):
410399 )
411400
412401
413- class TestAddProjectToImage (TestImage ):
414- project = identity_fakes . FakeProject . create_one_project ( )
415- domain = identity_fakes . FakeDomain . create_one_domain ( )
402+ class TestAddProjectToImage (image_fakes . TestImagev2 ):
403+ project = sdk_fakes . generate_fake_resource ( _project . Project )
404+ domain = sdk_fakes . generate_fake_resource ( _domain . Domain )
416405 _image = image_fakes .create_one_image ()
417406 new_member = image_fakes .create_one_image_member (
418407 attrs = {'image_id' : _image .id , 'member_id' : project .id }
@@ -444,8 +433,7 @@ def setUp(self):
444433
445434 # Update the image_id in the MEMBER dict
446435 self .image_client .add_member .return_value = self .new_member
447- self .project_mock .get .return_value = self .project
448- self .domain_mock .get .return_value = self .domain
436+ self .identity_sdk_client .find_project .return_value = self .project
449437 # Get the command object to test
450438 self .cmd = _image .AddProjectToImage (self .app , None )
451439
@@ -497,7 +485,7 @@ def test_add_project_to_image_with_option(self):
497485 self .assertEqual (self .datalist , data )
498486
499487
500- class TestImageDelete (TestImage ):
488+ class TestImageDelete (image_fakes . TestImagev2 ):
501489 def setUp (self ):
502490 super ().setUp ()
503491
@@ -617,7 +605,7 @@ def test_image_delete_multi_images_exception(self):
617605 self .image_client .delete_image .assert_has_calls (calls )
618606
619607
620- class TestImageList (TestImage ):
608+ class TestImageList (image_fakes . TestImagev2 ):
621609 _image = image_fakes .create_one_image ()
622610
623611 columns = (
@@ -1008,8 +996,8 @@ def test_image_list_tag_option(self):
1008996 self .image_client .images .assert_called_with (tag = ['abc' , 'cba' ])
1009997
1010998
1011- class TestListImageProjects (TestImage ):
1012- project = identity_fakes . FakeProject . create_one_project ( )
999+ class TestListImageProjects (image_fakes . TestImagev2 ):
1000+ project = sdk_fakes . generate_fake_resource ( _project . Project )
10131001 _image = image_fakes .create_one_image ()
10141002 member = image_fakes .create_one_image_member (
10151003 attrs = {'image_id' : _image .id , 'member_id' : project .id }
@@ -1046,9 +1034,9 @@ def test_image_member_list(self):
10461034 self .assertEqual (self .datalist , list (data ))
10471035
10481036
1049- class TestRemoveProjectImage (TestImage ):
1050- project = identity_fakes . FakeProject . create_one_project ( )
1051- domain = identity_fakes . FakeDomain . create_one_domain ( )
1037+ class TestRemoveProjectImage (image_fakes . TestImagev2 ):
1038+ project = sdk_fakes . generate_fake_resource ( _project . Project )
1039+ domain = sdk_fakes . generate_fake_resource ( _domain . Domain )
10521040
10531041 def setUp (self ):
10541042 super ().setUp ()
@@ -1057,8 +1045,7 @@ def setUp(self):
10571045 # This is the return value for utils.find_resource()
10581046 self .image_client .find_image .return_value = self ._image
10591047
1060- self .project_mock .get .return_value = self .project
1061- self .domain_mock .get .return_value = self .domain
1048+ self .identity_sdk_client .find_project .return_value = self .project
10621049 self .image_client .remove_member .return_value = None
10631050 # Get the command object to test
10641051 self .cmd = _image .RemoveProjectImage (self .app , None )
@@ -1109,7 +1096,7 @@ def test_remove_project_image_with_options(self):
11091096 self .assertIsNone (result )
11101097
11111098
1112- class TestShowProjectImage (TestImage ):
1099+ class TestShowProjectImage (image_fakes . TestImagev2 ):
11131100 _image = image_fakes .create_one_image ()
11141101 new_member = image_fakes .create_one_image_member (
11151102 attrs = {'image_id' : _image .id , 'member_id' : 'member1' }
@@ -1169,17 +1156,15 @@ def test_show_project_image(self):
11691156 self .assertEqual (self .datalist , data )
11701157
11711158
1172- class TestImageSet (TestImage ):
1173- project = identity_fakes . FakeProject . create_one_project ( )
1174- domain = identity_fakes . FakeDomain . create_one_domain ( )
1159+ class TestImageSet (image_fakes . TestImagev2 ):
1160+ project = sdk_fakes . generate_fake_resource ( _project . Project )
1161+ domain = sdk_fakes . generate_fake_resource ( _domain . Domain )
11751162 _image = image_fakes .create_one_image ({'tags' : []})
11761163
11771164 def setUp (self ):
11781165 super ().setUp ()
11791166
1180- self .project_mock .get .return_value = self .project
1181-
1182- self .domain_mock .get .return_value = self .domain
1167+ self .identity_sdk_client .find_project .return_value = self .project
11831168
11841169 self .image_client .find_image .return_value = self ._image
11851170
@@ -1453,8 +1438,9 @@ def test_image_set_options(self):
14531438 self .assertIsNone (result )
14541439
14551440 def test_image_set_with_unexist_project (self ):
1456- self .project_mock .get .side_effect = exceptions .NotFound (None )
1457- self .project_mock .find .side_effect = exceptions .NotFound (None )
1441+ self .identity_sdk_client .find_project .side_effect = (
1442+ sdk_exceptions .ResourceNotFound ()
1443+ )
14581444
14591445 arglist = [
14601446 '--project' ,
@@ -1823,7 +1809,7 @@ def test_image_set_unhidden(self):
18231809 self .assertIsNone (result )
18241810
18251811
1826- class TestImageShow (TestImage ):
1812+ class TestImageShow (image_fakes . TestImagev2 ):
18271813 new_image = image_fakes .create_one_image (attrs = {'size' : 1000 })
18281814
18291815 _data = image_fakes .create_one_image ()
@@ -1891,7 +1877,7 @@ def test_image_show_human_readable(self):
18911877 self .assertEqual (data [size_index ], '1K' )
18921878
18931879
1894- class TestImageUnset (TestImage ):
1880+ class TestImageUnset (image_fakes . TestImagev2 ):
18951881 def setUp (self ):
18961882 super ().setUp ()
18971883
@@ -1994,7 +1980,7 @@ def test_image_unset_mixed_option(self):
19941980 self .assertIsNone (result )
19951981
19961982
1997- class TestImageStage (TestImage ):
1983+ class TestImageStage (image_fakes . TestImagev2 ):
19981984 image = image_fakes .create_one_image ({})
19991985
20001986 def setUp (self ):
@@ -2048,7 +2034,7 @@ def test_stage_image__from_stdin(self, mock_get_data_from_stdin):
20482034 )
20492035
20502036
2051- class TestImageImport (TestImage ):
2037+ class TestImageImport (image_fakes . TestImagev2 ):
20522038 image = image_fakes .create_one_image (
20532039 {
20542040 'container_format' : 'bare' ,
@@ -2325,7 +2311,7 @@ def test_import_image__glance_download(self):
23252311 )
23262312
23272313
2328- class TestImageSave (TestImage ):
2314+ class TestImageSave (image_fakes . TestImagev2 ):
23292315 image = image_fakes .create_one_image ({})
23302316
23312317 def setUp (self ):
@@ -2375,7 +2361,7 @@ def test_save_data_with_chunk_size(self):
23752361 )
23762362
23772363
2378- class TestImageGetData (TestImage ):
2364+ class TestImageGetData (image_fakes . TestImagev2 ):
23792365 def test_get_data_from_stdin (self ):
23802366 fd = io .BytesIO (b"some initial binary data: \x00 \x01 " )
23812367
@@ -2401,7 +2387,7 @@ def test_get_data_from_stdin__interactive(self):
24012387 self .assertIsNone (test_fd )
24022388
24032389
2404- class TestStoresInfo (TestImage ):
2390+ class TestStoresInfo (image_fakes . TestImagev2 ):
24052391 stores_info = image_fakes .create_one_stores_info ()
24062392
24072393 def setUp (self ):
0 commit comments