Wrap volume_backup's update function with api_version
Volume backup's update function only supports 3.9 microversion or higher. So it should be wrapped like like this one[1], otherwise these fuctions may be exposed to lib users with old microversion. [1]: https://github.com/openstack/python-cinderclient/blob/master/cinderclient/v3/services.py#L82 Change-Id: I2c800099e8ae707135417f9821f14d1a9e69586e
This commit is contained in:
@@ -13,19 +13,25 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
|
||||
from cinderclient.tests.unit import utils
|
||||
from cinderclient.tests.unit.v3 import fakes
|
||||
|
||||
cs = fakes.FakeClient()
|
||||
from cinderclient import api_versions
|
||||
from cinderclient import exceptions as exc
|
||||
|
||||
|
||||
class VolumesTest(utils.TestCase):
|
||||
|
||||
def test_update(self):
|
||||
cs = fakes.FakeClient(api_version=api_versions.APIVersion('3.9'))
|
||||
b = cs.backups.get('1234')
|
||||
backup = b.update(name='new-name')
|
||||
cs.assert_called(
|
||||
'PUT', '/backups/1234',
|
||||
{'backup': {'name': 'new-name'}})
|
||||
self._assert_request_id(backup)
|
||||
|
||||
def test_pre_version(self):
|
||||
cs = fakes.FakeClient(api_version=api_versions.APIVersion('3.8'))
|
||||
b = cs.backups.get('1234')
|
||||
self.assertRaises(exc.VersionNotFoundForAPIMethod,
|
||||
b.update, name='new-name')
|
||||
|
@@ -16,6 +16,7 @@
|
||||
"""
|
||||
Volume Backups interface (v3 extension).
|
||||
"""
|
||||
from cinderclient import api_versions
|
||||
from cinderclient import base
|
||||
from cinderclient.openstack.common.apiclient import base as common_base
|
||||
|
||||
@@ -131,6 +132,7 @@ class VolumeBackupManager(base.ManagerWithFind):
|
||||
resp, body = self.api.client.post("/backups/import_record", body=body)
|
||||
return common_base.DictWithMeta(body['backup'], resp)
|
||||
|
||||
@api_versions.wraps("3.9")
|
||||
def update(self, backup, **kwargs):
|
||||
"""Update the name or description for a backup.
|
||||
|
||||
|
Reference in New Issue
Block a user