From: Cleber Rosa <cr...@redhat.com> These exercise the basics of firing up QEMU with and without a VNC device, and attempting to set the password when a VNC device and password is given (or not).
Signed-off-by: Cleber Rosa <cr...@redhat.com> Signed-off-by: Eduardo Habkost <ehabk...@redhat.com> --- tests/avocado/test_vnc.py | 58 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 tests/avocado/test_vnc.py diff --git a/tests/avocado/test_vnc.py b/tests/avocado/test_vnc.py new file mode 100644 index 0000000000..f5fe26ead6 --- /dev/null +++ b/tests/avocado/test_vnc.py @@ -0,0 +1,58 @@ +from avocado import main +from avocado_qemu import test + + +class Vnc(test.QemuTest): + """ + :avocado: enable + :avocado: tags=vnc,quick + """ + def test_no_vnc(self): + self.vm.args = ['-nodefaults', '-S'] + self.vm.launch() + self.assertFalse(self.vm.qmp('query-vnc')['return']['enabled']) + + def test_no_vnc_change_password(self): + self.vm.args = ['-nodefaults', '-S'] + self.vm.launch() + self.assertFalse(self.vm.qmp('query-vnc')['return']['enabled']) + set_password_response = self.vm.qmp('change', + device='vnc', + target='password', + arg='new_password') + self.assertIn('error', set_password_response) + self.assertEqual(set_password_response['error']['class'], + 'GenericError') + self.assertEqual(set_password_response['error']['desc'], + 'Could not set password') + + def test_vnc_change_password_requires_a_password(self): + self.vm.args = ['-nodefaults', '-S', '-vnc', ':0'] + self.vm.launch() + self.assertTrue(self.vm.qmp('query-vnc')['return']['enabled']) + set_password_response = self.vm.qmp('change', + device='vnc', + target='password', + arg='new_password') + self.assertIn('error', set_password_response) + self.assertEqual(set_password_response['error']['class'], + 'GenericError') + self.assertEqual(set_password_response['error']['desc'], + 'Could not set password') + + def test_vnc_change_password(self): + self.vm.args = ['-nodefaults', '-S', '-vnc', ':0,password'] + self.vm.launch() + self.assertTrue(self.vm.qmp('query-vnc')['return']['enabled']) + set_password_response = self.vm.qmp('change', + device='vnc', + target='password', + arg='new_password') + self.assertEqual(set_password_response['return'], {}) + + def tearDown(self): + self.vm.shutdown() + + +if __name__ == '__main__': + main() -- 2.14.3