import unittest from unittest.mock import MagicMock from vrtManager import util from vrtManager.instance import wvmInstance from vrtManager.network import wvmNetworks, wvmNetwork class TestXmlSafety(unittest.TestCase): def test_create_network_escaping(self): wn = wvmNetworks.__new__(wvmNetworks) wn.wvm = MagicMock() mock_net = MagicMock() wn.get_network = MagicMock(return_value=mock_net) malicious_name = "net&name" malicious_bridge = "br0' onfocus='alert(2)" wn.create_network( name=malicious_name, forward="bridge", ipv4=False, gateway=None, mask=None, dhcp4=None, ipv6=False, gateway6=None, prefix6=None, dhcp6=None, bridge=malicious_bridge, openvswitch=False, ) wn.wvm.networkDefineXML.assert_called_once() defined_xml = wn.wvm.networkDefineXML.call_args[0][0] self.assertNotIn("