#!/usr/bin/python2 -O import sys import unittest import lxml.etree sys.path.insert(0, '../') import qubes.vm class TestVM(qubes.vm.BaseVM): testprop = qubes.vm.property('testprop') testlabel = qubes.vm.property('testlabel') defaultprop = qubes.vm.property('defaultprop', default='defaultvalue') class TC_BaseVM(unittest.TestCase): def setUp(self): self.xml = lxml.etree.XML(''' testvalue tagvalue testservice enabledservice disabledservice 00:11.22 ''') def test_000_BaseVM_load(self): node = self.xml.xpath('//domain')[0] vm = TestVM(node) self.assertEqual(vm.testprop, 'testvalue') self.assertEqual(vm.testlabel, 'label-1') self.assertEqual(vm.defaultprop, 'defaultvalue') self.assertEqual(vm.tags, {'testtag': 'tagvalue'}) self.assertEqual(vm.devices, {'pci': ['00:11.22']}) self.assertEqual(vm.services, { 'testservice': True, 'enabledservice': True, 'disabledservice': False, }) def test_001_BaseVM_nxproperty(self): xml = lxml.etree.XML(''' nxvalue ''') node = xml.xpath('//domain')[0] def f(): vm = TestVM(node) self.assertRaises(AttributeError, f)