summary refs log tree commit diff stats
path: root/tests/avocado/vnc.py
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2021-11-08 18:50:09 +0100
committerRichard Henderson <richard.henderson@linaro.org>2021-11-08 18:50:09 +0100
commit114f3c8cc427333dbae331dfd2ecae64676b087e (patch)
tree6b609b516b20585ab8ad70cd86055c37132fd169 /tests/avocado/vnc.py
parent5e10ccc2706768bcba608f5d174d4079944c270a (diff)
parentb94d00898a9ee708b4d4b79432c2272905a56b06 (diff)
downloadfocaccia-qemu-114f3c8cc427333dbae331dfd2ecae64676b087e.tar.gz
focaccia-qemu-114f3c8cc427333dbae331dfd2ecae64676b087e.zip
Merge remote-tracking branch 'remotes/philmd/tags/avocado-20211108' into staging
Integration testing patches

- Rename tests/acceptance/ -> tests/avocado/
- Rename avocado_qemu.Test -> avocado_qemu.QemuSystemTest
- Introduce QemuUserTest class
- Add the first linux-user test, covering the bFLT loader

# gpg: Signature made Mon 08 Nov 2021 05:16:46 PM CET
# gpg:                using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE
# gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <f4bug@amsat.org>" [full]

* remotes/philmd/tags/avocado-20211108:
  tests/avocado: Remove p7zip binary availability check
  tests/avocado: Rename avocado_qemu.Test -> QemuSystemTest
  tests/avocado: Add bFLT loader linux-user test
  tests/avocado: Share useful helpers from virtiofs_submounts test
  tests/avocado: Introduce QemuUserTest base class
  tests/avocado: Make pick_default_qemu_bin() more generic
  tests/avocado: Extract QemuBaseTest from Test
  tests/acceptance: rename tests acceptance to tests avocado
  tests/acceptance: introduce new check-avocado target

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'tests/avocado/vnc.py')
-rw-r--r--tests/avocado/vnc.py53
1 files changed, 53 insertions, 0 deletions
diff --git a/tests/avocado/vnc.py b/tests/avocado/vnc.py
new file mode 100644
index 0000000000..096432988f
--- /dev/null
+++ b/tests/avocado/vnc.py
@@ -0,0 +1,53 @@
+# Simple functional tests for VNC functionality
+#
+# Copyright (c) 2018 Red Hat, Inc.
+#
+# Author:
+#  Cleber Rosa <crosa@redhat.com>
+#
+# This work is licensed under the terms of the GNU GPL, version 2 or
+# later.  See the COPYING file in the top-level directory.
+
+from avocado_qemu import QemuSystemTest
+
+
+class Vnc(QemuSystemTest):
+    """
+    :avocado: tags=vnc,quick
+    """
+    def test_no_vnc(self):
+        self.vm.add_args('-nodefaults', '-S')
+        self.vm.launch()
+        self.assertFalse(self.vm.qmp('query-vnc')['return']['enabled'])
+
+    def test_no_vnc_change_password(self):
+        self.vm.add_args('-nodefaults', '-S')
+        self.vm.launch()
+        self.assertFalse(self.vm.qmp('query-vnc')['return']['enabled'])
+        set_password_response = self.vm.qmp('change-vnc-password',
+                                            password='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_change_password_requires_a_password(self):
+        self.vm.add_args('-nodefaults', '-S', '-vnc', ':0')
+        self.vm.launch()
+        self.assertTrue(self.vm.qmp('query-vnc')['return']['enabled'])
+        set_password_response = self.vm.qmp('change-vnc-password',
+                                            password='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_change_password(self):
+        self.vm.add_args('-nodefaults', '-S', '-vnc', ':0,password=on')
+        self.vm.launch()
+        self.assertTrue(self.vm.qmp('query-vnc')['return']['enabled'])
+        set_password_response = self.vm.qmp('change-vnc-password',
+                                            password='new_password')
+        self.assertEqual(set_password_response['return'], {})