Apply delete API changes

Now that we have a base delete API, this change applies it across the
proxy classes.

Change-Id: I1f1c67e3f255146026cf8e7bfcc5fc94d37a3a66
This commit is contained in:
Brian Curtin
2015-04-16 14:29:59 -05:00
parent 8fa558604a
commit 11ce1af486
5 changed files with 148 additions and 42 deletions

View File

@@ -35,8 +35,20 @@ class Proxy(proxy.BaseProxy):
def create_flavor(self, **data):
return flavor.Flavor(data).create(self.session)
def delete_flavor(self, **data):
flavor.Flavor(data).delete(self.session)
def delete_flavor(self, value, ignore_missing=True):
"""Delete a flavor
:param value: The value can be either the ID of a flavor or a
:class:`~openstack.compute.v2.flavor.Flavor` instance.
:param bool ignore_missing: When set to ``False``
:class:`~openstack.exceptions.ResourceNotFound` will be
raised when the flavor does not exist.
When set to ``True``, no exception will be set when
attempting to delete a nonexistent server.
:returns: ``None``
"""
self._delete(flavor.Flavor, value, ignore_missing)
def get_flavor(self, **data):
return flavor.Flavor(data).get(self.session)
@@ -57,8 +69,20 @@ class Proxy(proxy.BaseProxy):
def update_flavor(self, **data):
return flavor.Flavor(data).update(self.session)
def delete_image(self, **data):
image.Image(data).delete(self.session)
def delete_image(self, value, ignore_missing=True):
"""Delete an image
:param value: The value can be either the ID of an image or a
:class:`~openstack.compute.v2.image.Image` instance.
:param bool ignore_missing: When set to ``False``
:class:`~openstack.exceptions.ResourceNotFound` will be
raised when the image does not exist.
When set to ``True``, no exception will be set when
attempting to delete a nonexistent server.
:returns: ``None``
"""
self._delete(image.Image, value, ignore_missing)
def find_image(self, name_or_id):
return image.Image.find(self.session, name_or_id)
@@ -82,8 +106,20 @@ class Proxy(proxy.BaseProxy):
def create_keypair(self, **data):
return keypair.Keypair(data).create(self.session)
def delete_keypair(self, **data):
keypair.Keypair(data).delete(self.session)
def delete_keypair(self, value, ignore_missing=True):
"""Delete a keypair
:param value: The value can be either the ID of a keypair or a
:class:`~openstack.compute.v2.keypair.Keypair` instance.
:param bool ignore_missing: When set to ``False``
:class:`~openstack.exceptions.ResourceNotFound` will be
raised when the keypair does not exist.
When set to ``True``, no exception will be set when
attempting to delete a nonexistent server.
:returns: ``None``
"""
self._delete(keypair.Keypair, value, ignore_missing)
def get_keypair(self, **data):
return keypair.Keypair(data).get(self.session)
@@ -146,8 +182,21 @@ class Proxy(proxy.BaseProxy):
def create_server_interface(self, **data):
return server_interface.ServerInterface(data).create(self.session)
def delete_server_interface(self, **data):
server_interface.ServerInterface(data).delete(self.session)
def delete_server_interface(self, value, ignore_missing=True):
"""Delete a server interface
:param value: The value can be either the ID of a server or a
:class:`~openstack.compute.v2.server_interface.ServerInterface`
instance.
:param bool ignore_missing: When set to ``False``
:class:`~openstack.exceptions.ResourceNotFound` will be
raised when the server interface does not exist.
When set to ``True``, no exception will be set when
attempting to delete a nonexistent server.
:returns: ``None``
"""
self._delete(server_interface.ServerInterface, value, ignore_missing)
def find_server_interface(self, name_or_id):
return server_interface.ServerInterface.find(self.session, name_or_id)

View File

@@ -22,8 +22,20 @@ class Proxy(proxy.BaseProxy):
def create_database(self, **data):
return database.Database(data).create(self.session)
def delete_database(self, **data):
database.Database(data).delete(self.session)
def delete_database(self, value, ignore_missing=True):
"""Delete a database
:param value: The value can be either the ID of a database or a
:class:`~openstack.database.v1.database.Database` instance.
:param bool ignore_missing: When set to ``False``
:class:`~openstack.exceptions.ResourceNotFound` will be
raised when the database does not exist.
When set to ``True``, no exception will be set when
attempting to delete a nonexistent server.
:returns: ``None``
"""
self._delete(database.Database, value, ignore_missing)
def find_database(self, name_or_id):
return database.Database.find(self.session, name_or_id)
@@ -43,8 +55,20 @@ class Proxy(proxy.BaseProxy):
def create_instance(self, **data):
return instance.Instance(data).create(self.session)
def delete_instance(self, **data):
instance.Instance(data).delete(self.session)
def delete_instance(self, value, ignore_missing=True):
"""Delete an instance
:param value: The value can be either the ID of an instance or a
:class:`~openstack.database.v1.instance.Instance` instance.
:param bool ignore_missing: When set to ``False``
:class:`~openstack.exceptions.ResourceNotFound` will be
raised when the instance does not exist.
When set to ``True``, no exception will be set when
attempting to delete a nonexistent server.
:returns: ``None``
"""
self._delete(instance.Instance, value, ignore_missing)
def find_instance(self, name_or_id):
return instance.Instance.find(self.session, name_or_id)
@@ -61,8 +85,20 @@ class Proxy(proxy.BaseProxy):
def create_user(self, **data):
return user.User(data).create(self.session)
def delete_user(self, **data):
user.User(data).delete(self.session)
def delete_user(self, value, ignore_missing=True):
"""Delete a user
:param value: The value can be either the ID of a user or a
:class:`~openstack.database.v1.user.User` instance.
:param bool ignore_missing: When set to ``False``
:class:`~openstack.exceptions.ResourceNotFound` will be
raised when the user does not exist.
When set to ``True``, no exception will be set when
attempting to delete a nonexistent server.
:returns: ``None``
"""
self._delete(user.User, value, ignore_missing)
def find_user(self, name_or_id):
return user.User.find(self.session, name_or_id)

View File

@@ -11,7 +11,11 @@
# under the License.
from openstack.compute.v2 import _proxy
from openstack.compute.v2 import flavor
from openstack.compute.v2 import image
from openstack.compute.v2 import keypair
from openstack.compute.v2 import server
from openstack.compute.v2 import server_interface
from openstack.tests.unit import test_proxy_base
@@ -33,8 +37,10 @@ class TestComputeProxy(test_proxy_base.TestProxyBase):
self.proxy.create_flavor)
def test_flavor_delete(self):
self.verify_delete('openstack.compute.v2.flavor.Flavor.delete',
self.proxy.delete_flavor)
self.verify_delete2(flavor.Flavor, self.proxy.delete_flavor, False)
def test_flavor_delete_ignore(self):
self.verify_delete2(flavor.Flavor, self.proxy.delete_flavor, True)
def test_flavor_find(self):
self.verify_find('openstack.compute.v2.flavor.Flavor.find',
@@ -59,8 +65,10 @@ class TestComputeProxy(test_proxy_base.TestProxyBase):
self.proxy.update_flavor)
def test_image_delete(self):
self.verify_delete('openstack.compute.v2.image.Image.delete',
self.proxy.delete_image)
self.verify_delete2(image.Image, self.proxy.delete_image, False)
def test_image_delete_ignore(self):
self.verify_delete2(image.Image, self.proxy.delete_image, True)
def test_image_find(self):
self.verify_find('openstack.compute.v2.image.Image.find',
@@ -87,8 +95,10 @@ class TestComputeProxy(test_proxy_base.TestProxyBase):
self.proxy.create_keypair)
def test_keypair_delete(self):
self.verify_delete('openstack.compute.v2.keypair.Keypair.delete',
self.proxy.delete_keypair)
self.verify_delete2(keypair.Keypair, self.proxy.delete_keypair, False)
def test_keypair_delete_ignore(self):
self.verify_delete2(keypair.Keypair, self.proxy.delete_keypair, True)
def test_keypair_find(self):
self.verify_find('openstack.compute.v2.keypair.Keypair.find',
@@ -117,9 +127,12 @@ class TestComputeProxy(test_proxy_base.TestProxyBase):
self.proxy.create_server_interface)
def test_server_interface_delete(self):
self.verify_delete(
'openstack.compute.v2.server_interface.ServerInterface.delete',
self.proxy.delete_server_interface)
self.verify_delete2(server_interface.ServerInterface,
self.proxy.delete_server_interface, False)
def test_server_interface_delete_ignore(self):
self.verify_delete2(server_interface.ServerInterface,
self.proxy.delete_server_interface, True)
def test_server_interface_find(self):
self.verify_find(
@@ -154,19 +167,10 @@ class TestComputeProxy(test_proxy_base.TestProxyBase):
self.proxy.create_server)
def test_server_delete(self):
self.verify_delete2('openstack.proxy.BaseProxy._delete',
self.proxy.delete_server,
method_args=["resource_or_id"],
expected_args=[server.Server, "resource_or_id",
True])
self.verify_delete2(server.Server, self.proxy.delete_server, False)
def test_server_delete_ignore(self):
self.verify_delete2('openstack.proxy.BaseProxy._delete',
self.proxy.delete_server,
method_args=["resource_or_id"],
method_kwargs={"ignore_missing": False},
expected_args=[server.Server,
"resource_or_id", False])
self.verify_delete2(server.Server, self.proxy.delete_server, True)
def test_server_find(self):
self.verify_find('openstack.compute.v2.server.Server.find',

View File

@@ -11,6 +11,9 @@
# under the License.
from openstack.database.v1 import _proxy
from openstack.database.v1 import database
from openstack.database.v1 import instance
from openstack.database.v1 import user
from openstack.tests.unit import test_proxy_base
@@ -24,8 +27,12 @@ class TestDatabaseProxy(test_proxy_base.TestProxyBase):
self.proxy.create_database)
def test_database_delete(self):
self.verify_delete('openstack.database.v1.database.Database.delete',
self.proxy.delete_database)
self.verify_delete2(database.Database, self.proxy.delete_database,
False)
def test_database_delete_ignore(self):
self.verify_delete2(database.Database, self.proxy.delete_database,
True)
def test_database_find(self):
self.verify_find('openstack.database.v1.database.Database.find',
@@ -52,8 +59,12 @@ class TestDatabaseProxy(test_proxy_base.TestProxyBase):
self.proxy.create_instance)
def test_instance_delete(self):
self.verify_delete('openstack.database.v1.instance.Instance.delete',
self.proxy.delete_instance)
self.verify_delete2(instance.Instance, self.proxy.delete_instance,
False)
def test_instance_delete_ignore(self):
self.verify_delete2(instance.Instance, self.proxy.delete_instance,
True)
def test_instance_find(self):
self.verify_find('openstack.database.v1.instance.Instance.find',
@@ -76,8 +87,10 @@ class TestDatabaseProxy(test_proxy_base.TestProxyBase):
self.proxy.create_user)
def test_user_delete(self):
self.verify_delete('openstack.database.v1.user.User.delete',
self.proxy.delete_user)
self.verify_delete2(user.User, self.proxy.delete_user, False)
def test_user_delete_ignore(self):
self.verify_delete2(user.User, self.proxy.delete_user, True)
def test_user_find(self):
self.verify_find('openstack.database.v1.user.User.find',

View File

@@ -76,8 +76,12 @@ class TestProxyBase(base.TestCase):
def verify_delete(self, mock_method, test_method, **kwargs):
self._verify(mock_method, test_method, **kwargs)
def verify_delete2(self, mock_method, test_method, **kwargs):
self._verify2(mock_method, test_method, **kwargs)
def verify_delete2(self, resource, method, ignore):
self._verify2('openstack.proxy.BaseProxy._delete',
method,
method_args=["resource_or_id"],
method_kwargs={"ignore_missing": ignore},
expected_args=[resource, "resource_or_id", ignore])
def verify_get(self, mock_method, test_method, **kwargs):
self._verify(mock_method, test_method, expected_result="result",