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
This commit is contained in:
parent
1adabce8bf
commit
05bfe1fce8
|
@ -21,28 +21,32 @@ class TestConsolesNovaClient(base.ClientTestBase):
|
|||
|
||||
COMPUTE_API_VERSION = "2.1"
|
||||
|
||||
def _test_console_get(self, command):
|
||||
def _test_console_get(self, command, expected_response_type):
|
||||
server = self._create_server()
|
||||
completed_command = command % server.id
|
||||
self.assertRaises(exceptions.CommandFailed,
|
||||
self.nova, completed_command)
|
||||
|
||||
try:
|
||||
self.nova(completed_command)
|
||||
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')
|
||||
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')
|
||||
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')
|
||||
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')
|
||||
self._test_console_get('get-serial-console %s', 'serial')
|
||||
|
||||
def test_vnc_console_get(self):
|
||||
self._test_vnc_console_get()
|
||||
|
|
|
@ -38,4 +38,4 @@ class TestConsolesNovaClientV28(test_consoles.TestConsolesNovaClient):
|
|||
COMPUTE_API_VERSION = "2.8"
|
||||
|
||||
def test_webmks_console_get(self):
|
||||
self._test_console_get('get-mks-console %s ')
|
||||
self._test_console_get('get-mks-console %s ', 'webmks')
|
||||
|
|
Loading…
Reference in New Issue