Files
python-novaclient/novaclient/tests/functional/v2/legacy/test_consoles.py
Matt Riedemann 05bfe1fce8 Handle successful response in console functional tests
The console functional tests were written under the assumption
of how the gate jobs work in our CI system, but with a local
devstack you might have a different configuration. For example,
we don't run the nova-novnc service in the gate but it's enabled
by default in devstack, so functional console tests for vnc will
fail in a local default devstack setup.

This change fixes the console functional tests to handle the case
that a valid response is returned and adds a check for how the
response looks so we're at least validating something.

Change-Id: I3505c9955d032301b34764f67466c467a79ed9fb
Closes-Bug: #1613435
2016-08-15 17:17:57 -04:00

62 lines
2.1 KiB
Python

# Copyright 2015 IBM Corp.
# 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.
from tempest.lib import exceptions
from novaclient.tests.functional import base
class TestConsolesNovaClient(base.ClientTestBase):
"""Consoles functional tests."""
COMPUTE_API_VERSION = "2.1"
def _test_console_get(self, command, expected_response_type):
server = self._create_server()
completed_command = command % server.id
try:
output = self.nova(completed_command)
# if we didn't fail, check that the expected response type is in
# the output
console_type = self._get_column_value_from_single_row_table(
output, 'Type')
self.assertEqual(expected_response_type, console_type, output)
except exceptions.CommandFailed as cf:
self.assertTrue('HTTP 400' in str(cf.stderr))
def _test_vnc_console_get(self):
self._test_console_get('get-vnc-console %s novnc', 'novnc')
def _test_spice_console_get(self):
self._test_console_get('get-spice-console %s spice-html5',
'spice-html5')
def _test_rdp_console_get(self):
self._test_console_get('get-rdp-console %s rdp-html5', 'rdp-html5')
def _test_serial_console_get(self):
self._test_console_get('get-serial-console %s', 'serial')
def test_vnc_console_get(self):
self._test_vnc_console_get()
def test_spice_console_get(self):
self._test_spice_console_get()
def test_rdp_console_get(self):
self._test_rdp_console_get()
def test_serial_console_get(self):
self._test_serial_console_get()