summaryrefslogtreecommitdiff
path: root/openstackclient/tests/unit/compute/v2
diff options
context:
space:
mode:
authorArtem Goncharov <artem.goncharov@gmail.com>2019-09-13 18:03:15 +0200
committerMonty Taylor <mordred@inaugust.com>2020-03-23 14:38:32 -0500
commit60e7c51df4cf061ebbb435a959ad63c7d3a296bf (patch)
tree1c974aae914cd316ac90be5f5bca2cae9531e466 /openstackclient/tests/unit/compute/v2
parentfc12033f1da53fe11f930dd405eae5e2bf814621 (diff)
downloadpython-openstackclient-60e7c51df4cf061ebbb435a959ad63c7d3a296bf.tar.gz
Switch image to use SDK
This is a work to switch OSC from using glanceclient to OpenStackSDK. With this change only v2 is using OpenStackSDK. V1 is still using glanceclient and will be switched in a separate change. Remove the direct depend on keystoneauth- let that flow through openstacksdk. Depends-on: https://review.opendev.org/#/c/698972 Change-Id: I36f292fb70c98f6e558f58be55d533d979c47ca7
Diffstat (limited to 'openstackclient/tests/unit/compute/v2')
-rw-r--r--openstackclient/tests/unit/compute/v2/test_server.py93
-rw-r--r--openstackclient/tests/unit/compute/v2/test_server_backup.py54
-rw-r--r--openstackclient/tests/unit/compute/v2/test_server_image.py19
3 files changed, 81 insertions, 85 deletions
diff --git a/openstackclient/tests/unit/compute/v2/test_server.py b/openstackclient/tests/unit/compute/v2/test_server.py
index 27eefd85..8ec8217d 100644
--- a/openstackclient/tests/unit/compute/v2/test_server.py
+++ b/openstackclient/tests/unit/compute/v2/test_server.py
@@ -55,6 +55,12 @@ class TestServer(compute_fakes.TestComputev2):
self.images_mock = self.app.client_manager.image.images
self.images_mock.reset_mock()
+ self.find_image_mock = self.app.client_manager.image.find_image
+ self.find_image_mock.reset_mock()
+
+ self.get_image_mock = self.app.client_manager.image.get_image
+ self.get_image_mock.reset_mock()
+
# Get a shortcut to the volume client VolumeManager Mock
self.volumes_mock = self.app.client_manager.volume.volumes
self.volumes_mock.reset_mock()
@@ -770,7 +776,8 @@ class TestServerCreate(TestServer):
self.servers_mock.create.return_value = self.new_server
self.image = image_fakes.FakeImage.create_one_image()
- self.images_mock.get.return_value = self.image
+ self.find_image_mock.return_value = self.image
+ self.get_image_mock.return_value = self.image
self.flavor = compute_fakes.FakeFlavor.create_one_flavor()
self.flavors_mock.get.return_value = self.flavor
@@ -1916,19 +1923,13 @@ class TestServerCreate(TestServer):
('config_drive', False),
('server_name', self.new_server.name),
]
- _image = image_fakes.FakeImage.create_one_image()
# create a image_info as the side_effect of the fake image_list()
image_info = {
- 'id': _image.id,
- 'name': _image.name,
- 'owner': _image.owner,
'hypervisor_type': 'qemu',
}
- self.api_mock = mock.Mock()
- self.api_mock.image_list.side_effect = [
- [image_info], [],
- ]
- self.app.client_manager.image.api = self.api_mock
+
+ _image = image_fakes.FakeImage.create_one_image(image_info)
+ self.images_mock.return_value = [_image]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -1953,7 +1954,7 @@ class TestServerCreate(TestServer):
# ServerManager.create(name, image, flavor, **kwargs)
self.servers_mock.create.assert_called_with(
self.new_server.name,
- image_info,
+ _image,
self.flavor,
**kwargs
)
@@ -1977,20 +1978,13 @@ class TestServerCreate(TestServer):
('config_drive', False),
('server_name', self.new_server.name),
]
- _image = image_fakes.FakeImage.create_one_image()
# create a image_info as the side_effect of the fake image_list()
image_info = {
- 'id': _image.id,
- 'name': _image.name,
- 'owner': _image.owner,
'hypervisor_type': 'qemu',
'hw_disk_bus': 'ide',
}
- self.api_mock = mock.Mock()
- self.api_mock.image_list.side_effect = [
- [image_info], [],
- ]
- self.app.client_manager.image.api = self.api_mock
+ _image = image_fakes.FakeImage.create_one_image(image_info)
+ self.images_mock.return_value = [_image]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -2015,7 +2009,7 @@ class TestServerCreate(TestServer):
# ServerManager.create(name, image, flavor, **kwargs)
self.servers_mock.create.assert_called_with(
self.new_server.name,
- image_info,
+ _image,
self.flavor,
**kwargs
)
@@ -2039,20 +2033,14 @@ class TestServerCreate(TestServer):
('config_drive', False),
('server_name', self.new_server.name),
]
- _image = image_fakes.FakeImage.create_one_image()
# create a image_info as the side_effect of the fake image_list()
image_info = {
- 'id': _image.id,
- 'name': _image.name,
- 'owner': _image.owner,
'hypervisor_type': 'qemu',
'hw_disk_bus': 'ide',
}
- self.api_mock = mock.Mock()
- self.api_mock.image_list.side_effect = [
- [image_info], [],
- ]
- self.app.client_manager.image.api = self.api_mock
+
+ _image = image_fakes.FakeImage.create_one_image(image_info)
+ self.images_mock.return_value = [_image]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -2585,7 +2573,10 @@ class TestServerList(TestServer):
self.servers_mock.list.return_value = self.servers
self.image = image_fakes.FakeImage.create_one_image()
- self.images_mock.get.return_value = self.image
+
+ # self.images_mock.return_value = [self.image]
+ self.find_image_mock.return_value = self.image
+ self.get_image_mock.return_value = self.image
self.flavor = compute_fakes.FakeFlavor.create_one_flavor()
self.flavors_mock.get.return_value = self.flavor
@@ -2599,7 +2590,7 @@ class TestServerList(TestServer):
self.data_no_name_lookup = []
Image = collections.namedtuple('Image', 'id name')
- self.images_mock.list.return_value = [
+ self.images_mock.return_value = [
Image(id=s.image['id'], name=self.image.name)
# Image will be an empty string if boot-from-volume
for s in self.servers if s.image
@@ -2662,11 +2653,11 @@ class TestServerList(TestServer):
columns, data = self.cmd.take_action(parsed_args)
self.servers_mock.list.assert_called_with(**self.kwargs)
- self.images_mock.list.assert_called()
+ self.images_mock.assert_called()
self.flavors_mock.list.assert_called()
# we did not pass image or flavor, so gets on those must be absent
self.assertFalse(self.flavors_mock.get.call_count)
- self.assertFalse(self.images_mock.get.call_count)
+ self.assertFalse(self.get_image_mock.call_count)
self.assertEqual(self.columns, columns)
self.assertEqual(tuple(self.data), tuple(data))
@@ -2753,7 +2744,7 @@ class TestServerList(TestServer):
self.servers_mock.list.assert_called_with(**self.kwargs)
self.assertFalse(self.images_mock.list.call_count)
self.assertFalse(self.flavors_mock.list.call_count)
- self.images_mock.get.assert_called()
+ self.get_image_mock.assert_called()
self.flavors_mock.get.assert_called()
self.assertEqual(self.columns, columns)
@@ -2771,7 +2762,8 @@ class TestServerList(TestServer):
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
columns, data = self.cmd.take_action(parsed_args)
- self.images_mock.get.assert_any_call(self.image.id)
+ self.find_image_mock.assert_called_with(self.image.id,
+ ignore_missing=False)
self.search_opts['image'] = self.image.id
self.servers_mock.list.assert_called_with(**self.kwargs)
@@ -3558,7 +3550,7 @@ class TestServerRebuild(TestServer):
# Return value for utils.find_resource for image
self.image = image_fakes.FakeImage.create_one_image()
- self.images_mock.get.return_value = self.image
+ self.get_image_mock.return_value = self.image
# Fake the rebuilt new server.
attrs = {
@@ -3598,7 +3590,7 @@ class TestServerRebuild(TestServer):
self.cmd.take_action(parsed_args)
self.servers_mock.get.assert_called_with(self.server.id)
- self.images_mock.get.assert_called_with(self.image.id)
+ self.get_image_mock.assert_called_with(self.image.id)
self.server.rebuild.assert_called_with(self.image, None)
def test_rebuild_with_current_image_and_password(self):
@@ -3617,7 +3609,7 @@ class TestServerRebuild(TestServer):
self.cmd.take_action(parsed_args)
self.servers_mock.get.assert_called_with(self.server.id)
- self.images_mock.get.assert_called_with(self.image.id)
+ self.get_image_mock.assert_called_with(self.image.id)
self.server.rebuild.assert_called_with(self.image, password)
def test_rebuild_with_description_api_older(self):
@@ -3665,7 +3657,7 @@ class TestServerRebuild(TestServer):
self.cmd.take_action(parsed_args)
self.servers_mock.get.assert_called_with(self.server.id)
- self.images_mock.get.assert_called_with(self.image.id)
+ self.get_image_mock.assert_called_with(self.image.id)
self.server.rebuild.assert_called_with(self.image, None,
description=description)
@@ -3694,7 +3686,7 @@ class TestServerRebuild(TestServer):
)
self.servers_mock.get.assert_called_with(self.server.id)
- self.images_mock.get.assert_called_with(self.image.id)
+ self.get_image_mock.assert_called_with(self.image.id)
self.server.rebuild.assert_called_with(self.image, None)
@mock.patch.object(common_utils, 'wait_for_status', return_value=False)
@@ -3718,7 +3710,7 @@ class TestServerRebuild(TestServer):
)
self.servers_mock.get.assert_called_with(self.server.id)
- self.images_mock.get.assert_called_with(self.image.id)
+ self.get_image_mock.assert_called_with(self.image.id)
self.server.rebuild.assert_called_with(self.image, None)
def test_rebuild_with_property(self):
@@ -3738,7 +3730,7 @@ class TestServerRebuild(TestServer):
self.cmd.take_action(parsed_args)
self.servers_mock.get.assert_called_with(self.server.id)
- self.images_mock.get.assert_called_with(self.image.id)
+ self.get_image_mock.assert_called_with(self.image.id)
self.server.rebuild.assert_called_with(
self.image, None, meta=expected_property)
@@ -3767,7 +3759,7 @@ class TestServerRebuild(TestServer):
key_name=self.server.key_name,
)
self.servers_mock.get.assert_called_with(self.server.id)
- self.images_mock.get.assert_called_with(self.image.id)
+ self.get_image_mock.assert_called_with(self.image.id)
self.server.rebuild.assert_called_with(*args, **kwargs)
def test_rebuild_with_keypair_name_older_version(self):
@@ -3814,7 +3806,7 @@ class TestServerRebuild(TestServer):
key_name=None,
)
self.servers_mock.get.assert_called_with(self.server.id)
- self.images_mock.get.assert_called_with(self.image.id)
+ self.get_image_mock.assert_called_with(self.image.id)
self.server.rebuild.assert_called_with(*args, **kwargs)
def test_rebuild_with_key_name_and_unset(self):
@@ -3872,7 +3864,7 @@ class TestServerRescue(TestServer):
# Return value for utils.find_resource for image
self.image = image_fakes.FakeImage.create_one_image()
- self.images_mock.get.return_value = self.image
+ self.get_image_mock.return_value = self.image
new_server = compute_fakes.FakeServer.create_one_server()
attrs = {
@@ -3913,7 +3905,7 @@ class TestServerRescue(TestServer):
def test_rescue_with_new_image(self):
new_image = image_fakes.FakeImage.create_one_image()
- self.images_mock.get.return_value = new_image
+ self.find_image_mock.return_value = new_image
arglist = [
'--image', new_image.id,
self.server.id,
@@ -3928,7 +3920,7 @@ class TestServerRescue(TestServer):
self.cmd.take_action(parsed_args)
self.servers_mock.get.assert_called_with(self.server.id)
- self.images_mock.get.assert_called_with(new_image.id)
+ self.find_image_mock.assert_called_with(new_image.id)
self.server.rescue.assert_called_with(image=new_image, password=None)
def test_rescue_with_current_image_and_password(self):
@@ -4679,7 +4671,7 @@ class TestServerShow(TestServer):
# This is the return value for utils.find_resource()
self.servers_mock.get.return_value = self.server
- self.images_mock.get.return_value = self.image
+ self.get_image_mock.return_value = self.image
self.flavors_mock.get.return_value = self.flavor
# Get the command object to test
@@ -5140,7 +5132,8 @@ class TestServerGeneral(TestServer):
'links': u'http://xxx.yyy.com',
}
_server = compute_fakes.FakeServer.create_one_server(attrs=server_info)
- find_resource.side_effect = [_server, _image, _flavor]
+ find_resource.side_effect = [_server, _flavor]
+ self.get_image_mock.return_value = _image
# Prepare result data.
info = {
diff --git a/openstackclient/tests/unit/compute/v2/test_server_backup.py b/openstackclient/tests/unit/compute/v2/test_server_backup.py
index 7dd459d8..5cdc2080 100644
--- a/openstackclient/tests/unit/compute/v2/test_server_backup.py
+++ b/openstackclient/tests/unit/compute/v2/test_server_backup.py
@@ -32,8 +32,8 @@ class TestServerBackup(compute_fakes.TestComputev2):
self.servers_mock.reset_mock()
# Get a shortcut to the image client ImageManager Mock
- self.images_mock = self.app.client_manager.image.images
- self.images_mock.reset_mock()
+ self.images_mock = self.app.client_manager.image
+ self.images_mock.find_image.reset_mock()
# Set object attributes to be tested. Could be overwritten in subclass.
self.attrs = {}
@@ -60,15 +60,18 @@ class TestServerBackupCreate(TestServerBackup):
# Just return whatever Image is testing with these days
def image_columns(self, image):
- columnlist = tuple(sorted(image.keys()))
+ # columnlist = tuple(sorted(image.keys()))
+ columnlist = (
+ 'id', 'name', 'owner', 'protected', 'status', 'tags', 'visibility'
+ )
return columnlist
def image_data(self, image):
datalist = (
image['id'],
image['name'],
- image['owner'],
- image['protected'],
+ image['owner_id'],
+ image['is_protected'],
'active',
format_columns.ListColumn(image.get('tags')),
image['visibility'],
@@ -102,7 +105,8 @@ class TestServerBackupCreate(TestServerBackup):
count=count,
)
- self.images_mock.get = mock.Mock(side_effect=images)
+ # self.images_mock.get = mock.Mock(side_effect=images)
+ self.images_mock.find_image = mock.Mock(side_effect=images)
return images
def test_server_backup_defaults(self):
@@ -174,16 +178,18 @@ class TestServerBackupCreate(TestServerBackup):
@mock.patch.object(common_utils, 'wait_for_status', return_value=False)
def test_server_backup_wait_fail(self, mock_wait_for_status):
servers = self.setup_servers_mock(count=1)
- images = image_fakes.FakeImage.create_images(
- attrs={
- 'name': servers[0].name,
- 'status': 'active',
- },
- count=5,
- )
-
- self.images_mock.get = mock.Mock(
- side_effect=images,
+ images = self.setup_images_mock(count=1, servers=servers)
+# images = image_fakes.FakeImage.create_images(
+# attrs={
+# 'name': servers[0].name,
+# 'status': 'active',
+# },
+# count=1,
+# )
+#
+# self.images_mock.find_image.return_value = images[0]
+ self.images_mock.get_image = mock.Mock(
+ side_effect=images[0],
)
arglist = [
@@ -215,7 +221,7 @@ class TestServerBackupCreate(TestServerBackup):
)
mock_wait_for_status.assert_called_once_with(
- self.images_mock.get,
+ self.images_mock.get_image,
images[0].id,
callback=mock.ANY
)
@@ -223,16 +229,10 @@ class TestServerBackupCreate(TestServerBackup):
@mock.patch.object(common_utils, 'wait_for_status', return_value=True)
def test_server_backup_wait_ok(self, mock_wait_for_status):
servers = self.setup_servers_mock(count=1)
- images = image_fakes.FakeImage.create_images(
- attrs={
- 'name': servers[0].name,
- 'status': 'active',
- },
- count=5,
- )
+ images = self.setup_images_mock(count=1, servers=servers)
- self.images_mock.get = mock.Mock(
- side_effect=images,
+ self.images_mock.get_image = mock.Mock(
+ side_effect=images[0],
)
arglist = [
@@ -263,7 +263,7 @@ class TestServerBackupCreate(TestServerBackup):
)
mock_wait_for_status.assert_called_once_with(
- self.images_mock.get,
+ self.images_mock.get_image,
images[0].id,
callback=mock.ANY
)
diff --git a/openstackclient/tests/unit/compute/v2/test_server_image.py b/openstackclient/tests/unit/compute/v2/test_server_image.py
index f9d7b10e..1cec5b68 100644
--- a/openstackclient/tests/unit/compute/v2/test_server_image.py
+++ b/openstackclient/tests/unit/compute/v2/test_server_image.py
@@ -31,8 +31,8 @@ class TestServerImage(compute_fakes.TestComputev2):
self.servers_mock.reset_mock()
# Get a shortcut to the image client ImageManager Mock
- self.images_mock = self.app.client_manager.image.images
- self.images_mock.reset_mock()
+ self.images_mock = self.app.client_manager.image
+ self.images_mock.find_image.reset_mock()
# Set object attributes to be tested. Could be overwritten in subclass.
self.attrs = {}
@@ -58,15 +58,18 @@ class TestServerImage(compute_fakes.TestComputev2):
class TestServerImageCreate(TestServerImage):
def image_columns(self, image):
- columnlist = tuple(sorted(image.keys()))
+ # columnlist = tuple(sorted(image.keys()))
+ columnlist = (
+ 'id', 'name', 'owner', 'protected', 'status', 'tags', 'visibility'
+ )
return columnlist
def image_data(self, image):
datalist = (
image['id'],
image['name'],
- image['owner'],
- image['protected'],
+ image['owner_id'],
+ image['is_protected'],
'active',
format_columns.ListColumn(image.get('tags')),
image['visibility'],
@@ -100,7 +103,7 @@ class TestServerImageCreate(TestServerImage):
count=count,
)
- self.images_mock.get = mock.Mock(side_effect=images)
+ self.images_mock.find_image = mock.Mock(side_effect=images)
self.servers_mock.create_image = mock.Mock(
return_value=images[0].id,
)
@@ -188,7 +191,7 @@ class TestServerImageCreate(TestServerImage):
)
mock_wait_for_status.assert_called_once_with(
- self.images_mock.get,
+ self.images_mock.get_image,
images[0].id,
callback=mock.ANY
)
@@ -220,7 +223,7 @@ class TestServerImageCreate(TestServerImage):
)
mock_wait_for_status.assert_called_once_with(
- self.images_mock.get,
+ self.images_mock.get_image,
images[0].id,
callback=mock.ANY
)