diff options
| author | Jenkins <jenkins@review.openstack.org> | 2017-03-07 19:20:11 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2017-03-07 19:20:11 +0000 |
| commit | 054060cbef033b36d22caf47ae44f47e26da597f (patch) | |
| tree | 1cb6a814c03741e2927f7276aac550a24c29fa3c /openstackclient/tests/functional/compute | |
| parent | c0a23b89b16651e0bb07adf1800aa57cbfbb564b (diff) | |
| parent | c03b9a871c4fe6b99221cb4b0d1e0eb7c90283fe (diff) | |
| download | python-openstackclient-054060cbef033b36d22caf47ae44f47e26da597f.tar.gz | |
Merge "Add server event list and show commands"
Diffstat (limited to 'openstackclient/tests/functional/compute')
| -rw-r--r-- | openstackclient/tests/functional/compute/v2/test_server_event.py | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/openstackclient/tests/functional/compute/v2/test_server_event.py b/openstackclient/tests/functional/compute/v2/test_server_event.py new file mode 100644 index 00000000..6be5822f --- /dev/null +++ b/openstackclient/tests/functional/compute/v2/test_server_event.py @@ -0,0 +1,97 @@ +# Copyright 2017 Huawei, Inc. All rights reserved. +# +# 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. +# + +import json +import uuid + +from openstackclient.tests.functional import base +from openstackclient.tests.functional.compute.v2 import test_server + + +class ServerEventTests(base.TestCase): + """Functional tests for server event.""" + + def setUp(self): + super(ServerEventTests, self).setUp() + _flavor = test_server.ServerTests.get_flavor() + _image = test_server.ServerTests.get_image() + _network = test_server.ServerTests.get_network() + self.server_name = uuid.uuid4().hex + cmd_output = json.loads(self.openstack( + 'server create -f json ' + + '--flavor ' + _flavor + ' ' + + '--image ' + _image + ' ' + + _network + ' ' + + '--wait ' + + self.server_name + )) + if not cmd_output: + self.fail('Server has not been created!') + self.addCleanup(self.openstack, 'server delete ' + self.server_name) + self.assertEqual(self.server_name, cmd_output['name']) + self.server_id = cmd_output.get('id') + + def test_server_event_list_and_show(self): + """Test list, show server event""" + # Test 'server event list' for creating + cmd_output = json.loads(self.openstack( + 'server event list -f json ' + self.server_name + )) + request_id = None + for each_event in cmd_output: + self.assertNotIn('Message', each_event) + self.assertNotIn('Project ID', each_event) + self.assertNotIn('User ID', each_event) + if each_event.get('Action') == 'create': + self.assertEqual(self.server_id, each_event.get('Server ID')) + request_id = each_event.get('Request ID') + break + self.assertIsNotNone(request_id) + # Test 'server event show' for creating + cmd_output = json.loads(self.openstack( + 'server event show -f json ' + self.server_name + ' ' + request_id + )) + self.assertEqual(self.server_id, cmd_output.get('instance_uuid')) + self.assertEqual(request_id, cmd_output.get('request_id')) + self.assertEqual('create', cmd_output.get('action')) + self.assertIsNotNone(cmd_output.get('events')) + self.assertIsInstance(cmd_output.get('events'), list) + + # Reboot server, trigger reboot event + self.openstack('server reboot --wait ' + self.server_name) + # Test 'server event list --long' for rebooting + cmd_output = json.loads(self.openstack( + 'server event list --long -f json ' + self.server_name + )) + request_id = None + for each_event in cmd_output: + self.assertIn('Message', each_event) + self.assertIn('Project ID', each_event) + self.assertIn('User ID', each_event) + if each_event.get('Action') == 'reboot': + request_id = each_event.get('Request ID') + self.assertEqual(self.server_id, each_event.get('Server ID')) + break + self.assertIsNotNone(request_id) + # Test 'server event show' for rebooting + cmd_output = json.loads(self.openstack( + 'server event show -f json ' + self.server_name + ' ' + request_id + )) + + self.assertEqual(self.server_id, cmd_output.get('instance_uuid')) + self.assertEqual(request_id, cmd_output.get('request_id')) + self.assertEqual('reboot', cmd_output.get('action')) + self.assertIsNotNone(cmd_output.get('events')) + self.assertIsInstance(cmd_output.get('events'), list) |
