Exemplo n.º 1
0
    def test_node_memory(self):
        node = Node('node1')
        node.id = node.name
        node.memory = 123

        doc_xml = self.builder.build_node_xml(node, self.node_spec)

        doc = xml.parse_string(doc_xml)

        memory_element = doc.find('memory')
        self.assertIsNotNone(memory_element)
        self.assertEqual('KiB', memory_element['unit'])
        self.assertEqual(str(123 * 1024), memory_element.text)
Exemplo n.º 2
0
    def test_network(self):
        network = Network('net1')
        network.id = 'net1'
        doc_xml = self.builder.build_network_xml(network)

        doc = xml.parse_string(doc_xml)

        self.assertIsNotNone(doc)
        self.assertEqual('network', doc.tag)

        e = doc.find('name')
        self.assertIsNotNone(e)
        self.assertEqual('net1', e.text)
Exemplo n.º 3
0
    def test_network(self):
        network = Network('net1')
        network.id = 'net1'
        doc_xml = self.builder.build_network_xml(network)

        doc = xml.parse_string(doc_xml)

        self.assertIsNotNone(doc)
        self.assertEqual('network', doc.tag)

        e = doc.find('name')
        self.assertIsNotNone(e)
        self.assertEqual('net1', e.text)
Exemplo n.º 4
0
    def test_node_memory(self):
        node = Node('node1')
        node.id = node.name
        node.memory = 123

        doc_xml = self.builder.build_node_xml(node, self.node_spec)

        doc = xml.parse_string(doc_xml)

        memory_element = doc.find('memory')
        self.assertIsNotNone(memory_element)
        self.assertEqual('KiB', memory_element['unit'])
        self.assertEqual(str(123 * 1024), memory_element.text)
Exemplo n.º 5
0
    def test_network_ip(self):
        network = Network('net1')
        network.id = 'net1'
        network.ip_addresses = IPv4Network('10.0.0.0/24')
        doc_xml = self.builder.build_network_xml(network)

        doc = xml.parse_string(doc_xml)

        ip_element = doc.find('ip')
        self.assertIsNotNone(ip_element)
        self.assertIsNotNone(ip_element['address'])
        self.assertIsNotNone(ip_element['prefix'])

        self.assertValidIp(ip_element['address'])
Exemplo n.º 6
0
    def test_network_ip(self):
        network = Network('net1')
        network.id = 'net1'
        network.ip_addresses = IPv4Network('10.0.0.0/24')
        doc_xml = self.builder.build_network_xml(network)

        doc = xml.parse_string(doc_xml)

        ip_element = doc.find('ip')
        self.assertIsNotNone(ip_element)
        self.assertIsNotNone(ip_element['address'])
        self.assertIsNotNone(ip_element['prefix'])

        self.assertValidIp(ip_element['address'])
Exemplo n.º 7
0
    def test_network_dhcp_with_custom_dynamic_ip_range(self):
        network = Network('net1')
        network.id = 'net1'
        network.ip_addresses = IPv4Network('10.0.0.0/24')
        network.dhcp_server = True
        network.dhcp_dynamic_address_start = IPv4Address('10.0.0.100')
        network.dhcp_dynamic_address_end = IPv4Address('10.0.0.200')

        doc_xml = self.builder.build_network_xml(network)

        doc = xml.parse_string(doc_xml)

        range_element = doc.find('ip/dhcp/range')
        self.assertEquals('10.0.0.100', range_element['start'])
        self.assertEquals('10.0.0.200', range_element['end'])
Exemplo n.º 8
0
    def test_network_dhcp_with_custom_dynamic_ip_range(self):
        network = Network('net1')
        network.id = 'net1'
        network.ip_addresses = IPv4Network('10.0.0.0/24')
        network.dhcp_server = True
        network.dhcp_dynamic_address_start = IPv4Address('10.0.0.100')
        network.dhcp_dynamic_address_end = IPv4Address('10.0.0.200')

        doc_xml = self.builder.build_network_xml(network)

        doc = xml.parse_string(doc_xml)

        range_element = doc.find('ip/dhcp/range')
        self.assertEquals('10.0.0.100', range_element['start'])
        self.assertEquals('10.0.0.200', range_element['end'])
Exemplo n.º 9
0
    def test_cdrom_disk(self):
        node = Node('node1')
        node.id = node.name
        node.cdrom = Cdrom(isopath='foo.iso')

        doc_xml = self.builder.build_node_xml(node, self.node_spec)

        doc = xml.parse_string(doc_xml)

        cdrom_element = doc.find(
            'devices/disk[@type="file" and @device="cdrom"]')
        self.assertIsNotNone(cdrom_element)

        cdrom_driver_element = cdrom_element.find('driver')
        self.assertIsNotNone(cdrom_driver_element)
        self.assertEqual('qemu', cdrom_driver_element['name'])
        self.assertEqual('raw', cdrom_driver_element['type'])

        cdrom_source_element = cdrom_element.find('source')
        self.assertIsNotNone(cdrom_source_element)
        self.assertEqual('foo.iso', cdrom_source_element['file'])
Exemplo n.º 10
0
    def test_cdrom_disk(self):
        node = Node('node1')
        node.id = node.name
        node.cdrom = Cdrom(isopath='foo.iso')

        doc_xml = self.builder.build_node_xml(node, self.node_spec)

        doc = xml.parse_string(doc_xml)

        cdrom_element = doc.find(
            'devices/disk[@type="file" and @device="cdrom"]')
        self.assertIsNotNone(cdrom_element)

        cdrom_driver_element = cdrom_element.find('driver')
        self.assertIsNotNone(cdrom_driver_element)
        self.assertEqual('qemu', cdrom_driver_element['name'])
        self.assertEqual('raw', cdrom_driver_element['type'])

        cdrom_source_element = cdrom_element.find('source')
        self.assertIsNotNone(cdrom_source_element)
        self.assertEqual('foo.iso', cdrom_source_element['file'])
Exemplo n.º 11
0
    def test_network_dhcp(self):
        network = Network('net1')
        network.id = 'net1'
        network.ip_addresses = IPv4Network('10.0.0.0/24')
        network.dhcp_server = True

        doc_xml = self.builder.build_network_xml(network)

        doc = xml.parse_string(doc_xml)

        dhcp_element = doc.find('ip/dhcp')

        self.assertIsNotNone(dhcp_element)

        range_element = dhcp_element.find('range')
        self.assertIsNotNone(range_element)

        self.assertIsNotNone(range_element['start'])
        self.assertIsNotNone(range_element['end'])

        self.assertValidIp(range_element['start'])
        self.assertValidIp(range_element['end'])
Exemplo n.º 12
0
    def test_network_dhcp(self):
        network = Network('net1')
        network.id = 'net1'
        network.ip_addresses = IPv4Network('10.0.0.0/24')
        network.dhcp_server = True

        doc_xml = self.builder.build_network_xml(network)

        doc = xml.parse_string(doc_xml)

        dhcp_element = doc.find('ip/dhcp')

        self.assertIsNotNone(dhcp_element)

        range_element = dhcp_element.find('range')
        self.assertIsNotNone(range_element)

        self.assertIsNotNone(range_element['start'])
        self.assertIsNotNone(range_element['end'])

        self.assertValidIp(range_element['start'])
        self.assertValidIp(range_element['end'])
Exemplo n.º 13
0
 def test_parsing_returns_root_element(self):
     d = xml.parse_string("<a><b /></a>")
     self.assertIsNotNone(d)
     self.assertEquals('a', d.tag)
Exemplo n.º 14
0
 def get_output_as_xml(self, command):
     output = subprocess.check_output(command)
     return xml.parse_string(output)
Exemplo n.º 15
0
 def test_getting_node_text(self):
     d = xml.parse_string("<a><b>foo</b></a>")
     e = d.find('b')
     self.assertEquals('foo', e.text)
Exemplo n.º 16
0
 def test_finding_node_text(self):
     d = xml.parse_string("<a><b>foo</b></a>")
     self.assertEquals('foo', d.find('b/text()'))
Exemplo n.º 17
0
 def test_finding_absolute_values(self):
     d = xml.parse_string("<a><b><c name='foo'></c></b><b /></a>")
     nodes = d.find_all('/a/b')
     self.assertEquals(2, len(nodes))
Exemplo n.º 18
0
 def test_finding_all_descendants(self):
     d = xml.parse_string("<a><b><c name='foo'></c></b><b /></a>")
     nodes = d.find_all('b')
     self.assertEquals(2, len(nodes))
     self.assertEquals('b', nodes[0].tag)
     self.assertEquals('b', nodes[1].tag)
Exemplo n.º 19
0
 def test_finding_attribute_values(self):
     d = xml.parse_string("<a><b><c name='foo'></c></b></a>")
     self.assertEquals('foo', d.find('b/c/@name'))
Exemplo n.º 20
0
 def test_finding_descendants(self):
     d = xml.parse_string("<a><b><c><d /></c></b></a>")
     e = d.find('b/c')
     self.assertIsNotNone(e)
     self.assertEquals('c', e.tag)
Exemplo n.º 21
0
 def get_output_as_xml(self, command):
     output = subprocess.check_output(command)
     return xml.parse_string(output)