
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
62 lines
2.1 KiB
Python
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()
|