tests: Add missing 'nova update' unit tests

We have functional tests for the 'nova update' commands, but no unit
tests to verify e.g. that we can't set a description for the server
before microversion 2.19. Add such tests.

Change-Id: I9af89655a7e7276446a881fd28d21ddd6581048c
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
This commit is contained in:
Stephen Finucane 2021-09-01 11:27:31 +01:00
parent 4a5bdde3b0
commit 01c7a3aa10
2 changed files with 32 additions and 0 deletions

View File

@ -2408,6 +2408,9 @@ class FakeSessionClient(base_client.SessionClient):
def delete_servers_1234_migrations_1(self):
return (202, {}, None)
def put_servers_1234(self, **kw):
return (201, {}, None)
def put_servers_1234_tags_tag(self, **kw):
return (201, {}, None)

View File

@ -2395,6 +2395,35 @@ class ShellTest(utils.TestCase):
self.assert_called('POST', '/servers/1234/action',
{'migrate': {'host': 'target-host'}})
def test_update(self):
self.run_command('update --name new-name sample-server')
expected_put_body = {
"server": {
"name": "new-name"
}
}
self.assert_called('GET', '/servers/1234', pos=-2)
self.assert_called('PUT', '/servers/1234', expected_put_body, pos=-1)
def test_update_with_description(self):
self.run_command(
'update --description new-description sample-server',
api_version='2.19')
expected_put_body = {
"server": {
"description": "new-description"
}
}
self.assert_called('GET', '/servers/1234', pos=-2)
self.assert_called('PUT', '/servers/1234', expected_put_body, pos=-1)
def test_update_with_description_pre_v219(self):
self.assertRaises(
SystemExit,
self.run_command,
'update --description new-description sample-server',
api_version='2.18')
def test_resize(self):
self.run_command('resize sample-server 1')
self.assert_called('POST', '/servers/1234/action',