def test_toxml(self): fix = re.compile(r'((?<=>)(\n[\t]*)(?=[^<\t]))|(?<=[^>\t])(\n[\t]*)(?=<)') #christ knows why it gets indented like this, but it does. output_testdoc = fix.sub("","""<?xml version='1.0' encoding='UTF-8'?> <ns0:MetadataListDocument xmlns:ns0="http://xml.vidispine.com/schema/vidispine"> <ns0:item id="VX-1234"> <ns0:metadata> <ns0:timespan end="+INF" start="-INF"> <ns0:field> <ns0:name>sometestfield</ns0:name> <ns0:value>sometestvalue</ns0:value> </ns0:field> <ns0:field> <ns0:name>someotherfield</ns0:name> <ns0:value>valueone</ns0:value> <ns0:value>valuetwo</ns0:value> </ns0:field> </ns0:timespan> </ns0:metadata> </ns0:item> </ns0:MetadataListDocument>""") from gnmvidispine.vs_item import VSItem i = VSItem(host=self.fake_host, port=self.fake_port, user=self.fake_user, passwd=self.fake_passwd) i.fromXML(self.testdoc) self.assertEqual(fix.sub("",i.toXML()),output_testdoc)
def test_fromxml(self): from gnmvidispine.vs_item import VSItem i = VSItem(host=self.fake_host, port=self.fake_port, user=self.fake_user, passwd=self.fake_passwd) i.fromXML(self.testdoc) self.assertEqual(i.get("sometestfield"),"sometestvalue") self.assertEqual(i.get("someotherfield", allowArray=True),["valueone","valuetwo"])