diff --git a/novaclient/tests/unit/v2/fakes.py b/novaclient/tests/unit/v2/fakes.py index 29492cbfb..07216adc2 100644 --- a/novaclient/tests/unit/v2/fakes.py +++ b/novaclient/tests/unit/v2/fakes.py @@ -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) diff --git a/novaclient/tests/unit/v2/test_shell.py b/novaclient/tests/unit/v2/test_shell.py index 10e8c732e..ed36685f2 100644 --- a/novaclient/tests/unit/v2/test_shell.py +++ b/novaclient/tests/unit/v2/test_shell.py @@ -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',