devices: client stub for DeviceCollection.update_persistent
QubesOS/qubes-issues#3055
This commit is contained in:
parent
b895015274
commit
1481dc4fb8
@ -229,6 +229,19 @@ class DeviceCollection(object):
|
||||
yield DeviceInfo(self._vm, ident, description=description,
|
||||
options=None, **info_dict)
|
||||
|
||||
def update_persistent(self, device, persistent):
|
||||
'''Update `persistent` flag of already attached device.
|
||||
|
||||
:param DeviceInfo device: device for which change persistent flag
|
||||
:param bool persistent: new persistent flag
|
||||
'''
|
||||
|
||||
self._vm.qubesd_call(None,
|
||||
'admin.vm.device.{}.Set.persistent'.format(self._class),
|
||||
'{!s}+{!s}'.format(device.backend_domain,
|
||||
device.ident),
|
||||
str(persistent).encode('utf-8'))
|
||||
|
||||
__iter__ = available
|
||||
|
||||
def clear_cache(self):
|
||||
|
@ -293,3 +293,20 @@ class TC_00_DeviceCollection(qubesadmin.tests.QubesTestCase):
|
||||
self.assertEqual(devs[1].ident, 'dev2')
|
||||
self.assertAllCalled()
|
||||
|
||||
def test_070_update_persistent(self):
|
||||
self.app.expected_calls[
|
||||
('test-vm', 'admin.vm.device.test.Set.persistent', 'test-vm2+dev1',
|
||||
b'True')] = b'0\0'
|
||||
dev = qubesadmin.devices.DeviceInfo(
|
||||
self.app.domains['test-vm2'], 'dev1')
|
||||
self.vm.devices['test'].update_persistent(dev, True)
|
||||
self.assertAllCalled()
|
||||
|
||||
def test_071_update_persistent_false(self):
|
||||
self.app.expected_calls[
|
||||
('test-vm', 'admin.vm.device.test.Set.persistent', 'test-vm2+dev1',
|
||||
b'False')] = b'0\0'
|
||||
dev = qubesadmin.devices.DeviceInfo(
|
||||
self.app.domains['test-vm2'], 'dev1')
|
||||
self.vm.devices['test'].update_persistent(dev, False)
|
||||
self.assertAllCalled()
|
||||
|
Loading…
Reference in New Issue
Block a user