def dont_txxt_dogma_set_element_text(self): beliefs = { 'book_title': '/bookstore/book[1]/title', 'childrens_title': """/bookstore/book[@category = 'CHILDREN']/title""" } # Set the text using _set dataObject = etree.parse(BytesIO(BOOKS)) d = XmlDogma('Books', beliefs, dataObject) self.assertEqual(d._get('/bookstore/book[1]/title'), 'Everyday Italian') d._set('/bookstore/book[1]/title', 'Z french is better!') self.assertEqual(d._get('/bookstore/book[1]/title'), 'Z french is better!') # Set using the attribute dataObject = etree.parse(BytesIO(BOOKS)) d = XmlDogma('Books', beliefs, dataObject) self.assertEqual(d._get('/bookstore/book[1]/title'), 'Everyday Italian') d.book_title = 'Z french is better!' self.assertEqual(d._get('/bookstore/book[1]/title'), 'Z french is better!') self.assertEqual( d._get("""/bookstore/book[@category = 'CHILDREN']/title"""), 'Harry Potter') d.childrens_title = 'potter harry' self.assertEqual( d._get("""/bookstore/book[@category = 'CHILDREN']/title"""), 'potter harry')
def test_init(self): d = XmlDogma('Books',{},None) assert_equal(d._religion,'Books') assert_equal(d._beliefs,{}) assert_equal(d._dataObject.tag,'root') assert_equal(d.__class__.__name__,'BooksXmlDogma') d = XmlDogma('Books',{}) assert_equal(d._dataObject.tag,'root') dataObject = etree.parse(StringIO(BOOKS)) d = XmlDogma('Books',{},dataObject) assert_equal(d._dataObject,dataObject)
def test_dogma_get_element(self): beliefs = { 'book_title': '/bookstore/book[1]/title', 'no_title': '/bookstore/book[5]/title', 'childrens_title': """/bookstore/book[@category = 'CHILDREN']/title""", 'childrens_year': """/bookstore/book[@category = 'CHILDREN']/year""" } dataObject = etree.parse(BytesIO(BOOKS)) d = XmlDogma('Books', beliefs, dataObject) self.assertEqual(d._get('/bookstore/book[1]/title'), 'Everyday Italian') self.assertEqual(d.book_title, 'Everyday Italian') self.assertEqual(d.childrens_title, 'Harry Potter') self.assertEqual(d.childrens_year, '2005') with self.assertRaises(DogmaGetterSetterException): d.no_title
def dont_txxt_dogma_set_attribute_text(self): beliefs = {'book_category':'/bookstore/book[1]/@category'} # Set the text using _set dataObject = etree.parse(StringIO(BOOKS)) d = XmlDogma('Books',beliefs,dataObject) assert_equal(d._get('/bookstore/book[1]/@category'),'COOKING') d._set('/bookstore/book[1]/@category','FOOBAR') assert_equal(d._get('/bookstore/book[1]/@category'),'FOOBAR') # Set using the attribute dataObject = etree.parse(StringIO(BOOKS)) d = XmlDogma('Books',beliefs,dataObject) assert_equal(d._get('/bookstore/book[1]/@category'),'COOKING') d.book_category = 'CLEANING' assert_equal(d._get('/bookstore/book[1]/@category'),'CLEANING')
def test_dogma_get_existing_attribute(self): beliefs = {'book_category':'/bookstore/book[1]/@category'} dataObject = etree.parse(StringIO(BOOKS)) d = XmlDogma('Books',beliefs,dataObject) assert_equal(d._get('/bookstore/book[1]/@category'),'COOKING') assert_equal(d.book_category, 'COOKING')
def test_dogma_validate_teaching(self): beliefs = {'foo': 'bar', 'bat': 'baz'} d = XmlDogma('Books', beliefs, None) ret = d._validate_teaching('foo', 'bar') #self.assertIs(ret, None) ret = XmlDogma._validate_teaching('foo', 'bar') #self.assertIs(ret, None) #with self.assertRaisesRegexp(XmlDogmaException,"""The belief """): # XmlDogma._validate_teaching('foo','//bar') with self.assertRaisesRegexp(XmlDogmaException, """The belief """): ret = d._validate_teaching('foo', []) with self.assertRaisesRegexp(XmlDogmaException, """The belief """): beliefs = {'foo': [], 'bat': 'baz'} d = XmlDogma('Books', beliefs, None)
def dont_txxt_dogma_set_nonexistent(self): beliefs = {'book_title':'/bookstore/book[1]/title', 'childrens_title':"""/bookstore/book[@category = 'CHILDREN']/title""", 'foobar':'''/bookstore/foobar'''} dataObject = etree.parse(StringIO(BOOKS)) d = XmlDogma('Books',beliefs,dataObject) with assert_raises_regexp(AttributeError,"""Blasphemy! You can't create the new beliefs"""): d.not_a_belief = 5 with assert_raises_regexp(DogmaGetterSetterException,"""Error setting the 'foobar' property of the class 'BooksXmlDogma'"""): d.foobar = 5
def dont_txxt_dogma_del_element(self): beliefs = {'book_title':'/bookstore/book[1]/title'} dataObject = etree.parse(StringIO(BOOKS)) d = XmlDogma('Books',beliefs,dataObject) assert_equal(d._get('/bookstore/book[1]/title'),'Everyday Italian') del d.book_title with assert_raises(XmlDogmaException): d._get('/bookstore/book[1]/title') with assert_raises(DogmaGetterSetterException): d.book_title
def dont_txxt_dogma_del_nonexisting(self): beliefs = {'book_title':'/bookstore/book[5]/title', 'book_foo':'/bookstore/book[1]/@foo'} dataObject = etree.parse(StringIO(BOOKS)) d = XmlDogma('Books',beliefs,dataObject) with assert_raises(DogmaDeleteException): del d.book_title with assert_raises(DogmaDeleteException): del d.book_foo with assert_raises(AttributeError): del d.non_existing
def dont_txxt_dogma_del_attribute(self): beliefs = {'book_category':'/bookstore/book[1]/@category'} dataObject = etree.parse(StringIO(BOOKS)) d = XmlDogma('Books',beliefs,dataObject) assert_equal(d._get('/bookstore/book[1]/@category'),'COOKING') del d.book_category with assert_raises(XmlDogmaException): d._get('/bookstore/book[1]/@category') with assert_raises(DogmaGetterSetterException): assert_equal(d.book_category, None)
def test_dogma_get_nonexisting(self): beliefs = {'book_title':'/bookstore/book[5]/title', 'childrens_title':"""/bookstore/book[@category = 'CHILDREN']/title"""} dataObject = etree.parse(StringIO(BOOKS)) d = XmlDogma('Books',beliefs,dataObject) with assert_raises(XmlDogmaException): d._get('bzzz') with assert_raises(DogmaGetterSetterException): d.book_title with assert_raises(AttributeError): d.not_an_att
"gml": "http://www.opengis.net/gml/3.2", "xlink": "http://www.w3.org/1999/xlink", "xsi": "http://www.w3.org/2001/XMLSchema-instance", "gco": "http://www.isotc211.org/2005/gco", "gmd": "http://www.isotc211.org/2005/gmd", "gmi": "http://www.isotc211.org/2005/gmi", "srv": "http://www.isotc211.org/2005/srv", } #read a file xml_etree = etree.parse('test_isos/slrfvm.xml') #xml_etree = etree.parse('test_isos/45001.xml') data_object = XmlDogma('Iso19115', iso_metadata_beliefs, xml_etree, namespaces=namespaces) data_object.__class__.__name__ data_object.service_provider_name data_object.service_provider_contact_info data_object.west_bounding_longitude data_object.service_provider_name = 'David Stuebe' data_object.service_provider_contact_info = '*****@*****.**' data_object.west_bounding_longitude = '5.005' data_object.service_provider_name data_object.service_provider_contact_info data_object.west_bounding_longitude