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