qemu/tests/avocado/vnc.py
<<
>>
Prefs
   1# Simple functional tests for VNC functionality
   2#
   3# Copyright (c) 2018 Red Hat, Inc.
   4#
   5# Author:
   6#  Cleber Rosa <crosa@redhat.com>
   7#
   8# This work is licensed under the terms of the GNU GPL, version 2 or
   9# later.  See the COPYING file in the top-level directory.
  10
  11from avocado_qemu import QemuSystemTest
  12
  13
  14class Vnc(QemuSystemTest):
  15    """
  16    :avocado: tags=vnc,quick
  17    """
  18    def test_no_vnc(self):
  19        self.vm.add_args('-nodefaults', '-S')
  20        self.vm.launch()
  21        self.assertFalse(self.vm.qmp('query-vnc')['return']['enabled'])
  22
  23    def test_no_vnc_change_password(self):
  24        self.vm.add_args('-nodefaults', '-S')
  25        self.vm.launch()
  26        self.assertFalse(self.vm.qmp('query-vnc')['return']['enabled'])
  27        set_password_response = self.vm.qmp('change-vnc-password',
  28                                            password='new_password')
  29        self.assertIn('error', set_password_response)
  30        self.assertEqual(set_password_response['error']['class'],
  31                         'GenericError')
  32        self.assertEqual(set_password_response['error']['desc'],
  33                         'Could not set password')
  34
  35    def test_change_password_requires_a_password(self):
  36        self.vm.add_args('-nodefaults', '-S', '-vnc', ':0')
  37        self.vm.launch()
  38        self.assertTrue(self.vm.qmp('query-vnc')['return']['enabled'])
  39        set_password_response = self.vm.qmp('change-vnc-password',
  40                                            password='new_password')
  41        self.assertIn('error', set_password_response)
  42        self.assertEqual(set_password_response['error']['class'],
  43                         'GenericError')
  44        self.assertEqual(set_password_response['error']['desc'],
  45                         'Could not set password')
  46
  47    def test_change_password(self):
  48        self.vm.add_args('-nodefaults', '-S', '-vnc', ':0,password=on')
  49        self.vm.launch()
  50        self.assertTrue(self.vm.qmp('query-vnc')['return']['enabled'])
  51        set_password_response = self.vm.qmp('change-vnc-password',
  52                                            password='new_password')
  53        self.assertEqual(set_password_response['return'], {})
  54