|
|
@@ -75,6 +75,41 @@ def test_template_system(self): |
|
|
self.assertTrue('EnumerateDevices' in mock_out or 'GetAll' in mock_out,
|
|
|
mock_out)
|
|
|
|
|
|
+ def test_template_parameters(self):
|
|
|
+ self.p_mock = subprocess.Popen([sys.executable, '-m', 'dbusmock',
|
|
|
+ '--system', '-t', 'upower',
|
|
|
+ '-p', '{"DaemonVersion": "0.99.0", "OnBattery": true}'],
|
|
|
+ stdout=subprocess.PIPE,
|
|
|
+ universal_newlines=True)
|
|
|
+ self.wait_for_bus_object('org.freedesktop.UPower', '/org/freedesktop/UPower', True)
|
|
|
+
|
|
|
+ # check that it actually ran the template, if we have upower
|
|
|
+ if have_upower:
|
|
|
+ out = subprocess.check_output(['upower', '--dump'],
|
|
|
+ universal_newlines=True)
|
|
|
+ self.assertRegex(out, 'daemon-version:\s+0\\.99\\.0')
|
|
|
+ self.assertRegex(out, 'on-battery:\s+yes')
|
|
|
+
|
|
|
+ def test_template_parameters_malformed_json(self):
|
|
|
+ with self.assertRaises(subprocess.CalledProcessError) as cm:
|
|
|
+ subprocess.check_output([sys.executable, '-m', 'dbusmock',
|
|
|
+ '--system', '-t', 'upower', '-p',
|
|
|
+ '{"DaemonVersion: "0.99.0"}'],
|
|
|
+ universal_newlines=True)
|
|
|
+ err = cm.exception
|
|
|
+ self.assertEqual(err.returncode, 2)
|
|
|
+ self.assertEqual(err.output, 'Malformed JSON given for parameters: Expecting : delimiter: line 1 column 19 (char 18)\n')
|
|
|
+
|
|
|
+ def test_template_parameters_not_dict(self):
|
|
|
+ with self.assertRaises(subprocess.CalledProcessError) as cm:
|
|
|
+ subprocess.check_output([sys.executable, '-m', 'dbusmock',
|
|
|
+ '--system', '-t', 'upower', '-p',
|
|
|
+ '"banana"'],
|
|
|
+ universal_newlines=True)
|
|
|
+ err = cm.exception
|
|
|
+ self.assertEqual(err.returncode, 2)
|
|
|
+ self.assertEqual(err.output, 'JSON parameters must be a dict type\n')
|
|
|
+
|
|
|
def test_object_manager(self):
|
|
|
self.p_mock = subprocess.Popen([sys.executable, '-m', 'dbusmock',
|
|
|
'-m', 'com.example.Test', '/', 'TestIface'],
|
|
|
|