def validate_xml(self, xmlfile, xsdfile): """ This method will be used on a server side to validate and process the xml file with an existing xsd schema. If xml is not well-formed or doesn't match the schema, false is returned """ try: xsdfileText = open(xsdfile, 'r') xsdFileInput = xsdfileText.read() filteredXMLText = re.sub("&", "&", xmlfile) xsv.parseAndValidateString(filteredXMLText, xsdFileInput, xmlIfClass=xsv.XMLIF_ELEMENTTREE) return True except xsv.xsvalErrorHandler.XsvalError: return False except ET.ExpatError: return False except ParseError: return False except IncorrectArticleReferenceException: return False
def test_createModels1(self): xsdFileInput = open("test/test.xsd", 'r') xmlfile = open('test/test.xml','r') xmleval = xsv.parseAndValidateString(re.sub('&', '&', xmlfile.read()), xsdFileInput.read(), xmlIfClass=xsv.XMLIF_ELEMENTTREE) etree = xmleval.getTree() root = etree.getroot() self.x.createModels(root.find("people")) somePerson = db.get(db.Key.from_path("Person", "george-w-bush")) self.assert_(somePerson.name == "George W. Bush") self.assert_(somePerson.alternate_names == "GWB") self.assert_(len(somePerson.description) > 0) self.assert_(somePerson.country == "USA") self.assert_("President" in somePerson.category)
def test_createModels3(self): xsdFileInput = open("test/test.xsd", 'r') xmlfile = open('test/test.xml','r') xmleval = xsv.parseAndValidateString(re.sub('&', '&', xmlfile.read()), xsdFileInput.read(), xmlIfClass=xsv.XMLIF_ELEMENTTREE) etree = xmleval.getTree() root = etree.getroot() self.x.createModels(root.find("crises")) someCrisis = db.get(db.Key.from_path("Crisis", "beslan-school-siege")) self.assert_("Beslan" in someCrisis.name) self.assert_(len(someCrisis.description)>0) self.assert_(someCrisis.country == "Russian Federation") self.assert_(someCrisis.category.lower() == "terrorist attack") self.assert_(someCrisis.deaths > 0)
def setUp(self): self.x = XMLUploadWorker() self.handler = ExportHandler() xsdFileInput = open("test/test.xsd", 'r') xmlfile = open('test/test2.xml','r') xmleval = xsv.parseAndValidateString(re.sub('&', '&', xmlfile.read()), xsdFileInput.read(), xmlIfClass=xsv.XMLIF_ELEMENTTREE) etree = xmleval.getTree() root = etree.getroot() self.x.createModels(root.find("people")) self.x.createModels(root.find("crises")) self.x.createModels(root.find("organizations")) self.x.createLinks(root.find("crises"), False) self.x.createLinks(root.find("people"), False) self.x.createLinks(root.find("organizations"), False)
def test_createModels2(self): xsdFileInput = open("test/test.xsd", 'r') xmlfile = open('test/test.xml','r') xmleval = xsv.parseAndValidateString(re.sub('&', '&', xmlfile.read()), xsdFileInput.read(), xmlIfClass=xsv.XMLIF_ELEMENTTREE) etree = xmleval.getTree() root = etree.getroot() self.x.createModels(root.find("organizations")) someOrganization = db.get(db.Key.from_path("Organization", "nyfd")) self.assert_(someOrganization.name == "New York City Fire Department") self.assert_(someOrganization.description[:11] == "The origins") self.assert_(someOrganization.country == "USA") self.assert_(someOrganization.state == "NY") self.assert_(someOrganization.city == "Staten Island") self.assert_(someOrganization.email == "*****@*****.**") self.assert_(someOrganization.phone == "911") self.assert_("FDNY" in someOrganization.social_facebook)
def test_createLinks2(self): xsdFileInput = open("test/test.xsd", 'r') xmlfile = open('test/test.xml','r') xmleval = xsv.parseAndValidateString(re.sub('&', '&', xmlfile.read()), xsdFileInput.read(), xmlIfClass=xsv.XMLIF_ELEMENTTREE) etree = xmleval.getTree() root = etree.getroot() self.x.createModels(root.find("people")) self.x.createModels(root.find("crises")) self.x.createModels(root.find("organizations")) self.x.createLinks(root.find("organizations"), False) someOrganization = db.get(db.Key.from_path("Organization", "nyfd")) somePerson = db.get(someOrganization.person_link[0]) self.assert_(somePerson.name == "George W. Bush") self.assert_(somePerson.alternate_names == "GWB") self.assert_(somePerson.description[:30] == "The airborne terrorist attacks") self.assert_(somePerson.country == "USA") self.assert_("President" in somePerson.category)
def test_createLinks1(self): xsdFileInput = open("test/test.xsd", 'r') xmlfile = open('test/test.xml','r') xmleval = xsv.parseAndValidateString(re.sub('&', '&', xmlfile.read()), xsdFileInput.read(), xmlIfClass=xsv.XMLIF_ELEMENTTREE) etree = xmleval.getTree() root = etree.getroot() self.x.createModels(root.find("people")) self.x.createModels(root.find("crises")) self.x.createModels(root.find("organizations")) self.x.createLinks(root.find("people"), False) somePerson = db.get(db.Key.from_path("Person", "vladimir-putin")) someCrisis = db.get(somePerson.crisis_link[0]) self.assert_("Beslan" in someCrisis.name) self.assert_(len(someCrisis.description)>0) self.assert_(someCrisis.country == "Russian Federation") self.assert_(someCrisis.category.lower() == "terrorist attack") self.assert_(someCrisis.deaths > 0)
def setUp(self): # First, create an instance of the Testbed class. self.testbed = testbed.Testbed() self.testbed.activate() self.testbed.init_datastore_v3_stub() self.testbed.init_memcache_stub() self.handler = ArticleHandler() self.x = XMLUploadWorker() xsdFileInput = open("test/test.xsd", 'r') xmlfile = open('test/test2.xml','r') xmleval = xsv.parseAndValidateString(re.sub('&', '&', xmlfile.read()), xsdFileInput.read(), xmlIfClass=xsv.XMLIF_ELEMENTTREE) etree = xmleval.getTree() root = etree.getroot() self.x.createModels(root.find("people")) self.x.createModels(root.find("crises")) self.x.createModels(root.find("organizations")) self.x.createLinks(root.find("crises"), False) self.x.createLinks(root.find("people"), False) self.x.createLinks(root.find("organizations"), False)
def test_createLinks3(self): xsdFileInput = open("test/test.xsd", 'r') xmlfile = open('test/test.xml','r') xmleval = xsv.parseAndValidateString(re.sub('&', '&', xmlfile.read()), xsdFileInput.read(), xmlIfClass=xsv.XMLIF_ELEMENTTREE) etree = xmleval.getTree() root = etree.getroot() self.x.createModels(root.find("people")) self.x.createModels(root.find("crises")) self.x.createModels(root.find("organizations")) self.x.createLinks(root.find("crises"), False) someCrisis = db.get(db.Key.from_path("Crisis", "september11")) someOrganization = db.get(someCrisis.organization_link[0]) self.assert_(someOrganization.name == "New York City Fire Department") self.assert_(len(someCrisis.description)>0) self.assert_(someOrganization.country == "USA") self.assert_(someOrganization.state == "NY") self.assert_(someOrganization.city == "Staten Island") self.assert_(someOrganization.email == "*****@*****.**") self.assert_(someOrganization.phone == "911") self.assert_("FDNY" in someOrganization.social_facebook)