Apply delete changes to image proxies

There was no v2 test_proxy, so this change adds one and adds tests for
the delete calls.

Change-Id: I558d9a75a31772e7f1c758293c67bc8198ab3fae
This commit is contained in:
Brian Curtin
2015-04-17 10:59:49 -05:00
committed by Brian Curtin
parent cedaff450c
commit 09fc9d90ed
4 changed files with 102 additions and 10 deletions

View File

@@ -19,8 +19,20 @@ class Proxy(proxy.BaseProxy):
def create_image(self, **data):
return image.Image(data).create(self.session)
def delete_image(self, **data):
return 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.image.v1.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)

View File

@@ -21,8 +21,20 @@ class Proxy(proxy.BaseProxy):
def create_image(self, **data):
return image.Image(data).create(self.session)
def delete_image(self, **data):
return 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.image.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)
@@ -39,8 +51,20 @@ class Proxy(proxy.BaseProxy):
def create_member(self, **data):
return member.Member(data).create(self.session)
def delete_member(self, **data):
return member.Member(data).delete(self.session)
def delete_member(self, value, ignore_missing=True):
"""Delete a member
:param value: The value can be either the ID of a member or a
:class:`~openstack.image.v2.member.Member` instance.
:param bool ignore_missing: When set to ``False``
:class:`~openstack.exceptions.ResourceNotFound` will be
raised when the member does not exist.
When set to ``True``, no exception will be set when
attempting to delete a nonexistent server.
:returns: ``None``
"""
self._delete(member.Member, value, ignore_missing)
def find_member(self, name_or_id):
return member.Member.find(self.session, name_or_id)
@@ -57,5 +81,17 @@ class Proxy(proxy.BaseProxy):
def create_tag(self, **data):
return tag.Tag(data).create(self.session)
def delete_tag(self, **data):
return member.Tag(data).delete(self.session)
def delete_tag(self, value, ignore_missing=True):
"""Delete a tag
:param value: The value can be either the ID of a tag or a
:class:`~openstack.image.v2.tag.Tag` instance.
:param bool ignore_missing: When set to ``False``
:class:`~openstack.exceptions.ResourceNotFound` will be
raised when the tag does not exist.
When set to ``True``, no exception will be set when
attempting to delete a nonexistent server.
:returns: ``None``
"""
self._delete(tag.Tag, value, ignore_missing)

View File

@@ -11,6 +11,7 @@
# under the License.
from openstack.image.v1 import _proxy
from openstack.image.v1 import image
from openstack.tests.unit import test_proxy_base
@@ -24,8 +25,10 @@ class TestImageProxy(test_proxy_base.TestProxyBase):
self.proxy.create_image)
def test_image_delete(self):
self.verify_delete('openstack.image.v1.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.image.v1.image.Image.find',

View File

@@ -0,0 +1,41 @@
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from openstack.image.v2 import _proxy
from openstack.image.v2 import image
from openstack.image.v2 import member
from openstack.image.v2 import tag
from openstack.tests.unit import test_proxy_base
class TestImageProxy(test_proxy_base.TestProxyBase):
def setUp(self):
super(TestImageProxy, self).setUp()
self.proxy = _proxy.Proxy(self.session)
def test_image_delete(self):
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_member_delete(self):
self.verify_delete2(member.Member, self.proxy.delete_member, False)
def test_member_delete_ignore(self):
self.verify_delete2(member.Member, self.proxy.delete_member, True)
def test_tag_delete(self):
self.verify_delete2(tag.Tag, self.proxy.delete_tag, False)
def test_tag_delete_ignore(self):
self.verify_delete2(tag.Tag, self.proxy.delete_tag, True)