def construct(self): root = xmlutil.TemplateElement('certificate', selector='certificate') make_certificate(root) return xmlutil.MasterTemplate(root, 1)
def construct(self): root = xmlutil.TemplateElement('security_group', selector='security_group') make_sg(root) return xmlutil.MasterTemplate(root, 1, nsmap=sg_nsmap)
def construct(self): root = xmlutil.TemplateElement('volumeAttachment', selector='volumeAttachment') make_attachment(root) return xmlutil.MasterTemplate(root, 1)
def construct(self): root = xmlutil.TemplateElement('flavor', selector='flavor') make_flavor(root) alias = FlavorAccess.alias namespace = FlavorAccess.namespace return xmlutil.SlaveTemplate(root, 1, nsmap={alias: namespace})
def construct(self): root = xmlutil.TemplateElement('server') make_server(root) return xmlutil.SlaveTemplate(root, 1)
def test__serialize(self): # Our test object to serialize obj = { 'test': { 'name': 'foobar', 'values': [1, 2, 3, 4], 'attrs': { 'a': 1, 'b': 2, 'c': 3, 'd': 4, }, 'image': { 'name': 'image_foobar', 'id': 42, }, }, } # Set up our master template root = xmlutil.TemplateElement('test', selector='test', name='name') value = xmlutil.SubTemplateElement(root, 'value', selector='values') value.text = xmlutil.Selector() attrs = xmlutil.SubTemplateElement(root, 'attrs', selector='attrs') xmlutil.SubTemplateElement(attrs, 'attr', selector=xmlutil.get_items, key=0, value=1) master = xmlutil.MasterTemplate(root, 1, nsmap=dict(f='foo')) # Set up our slave template root_slave = xmlutil.TemplateElement('test', selector='test') image = xmlutil.SubTemplateElement(root_slave, 'image', selector='image', id='id') image.text = xmlutil.Selector('name') slave = xmlutil.SlaveTemplate(root_slave, 1, nsmap=dict(b='bar')) # Attach the slave to the master... master.attach(slave) # Try serializing our object siblings = master._siblings() nsmap = master._nsmap() result = master._serialize(None, obj, siblings, nsmap) # Now we get to manually walk the element tree... self.assertEqual(result.tag, 'test') self.assertEqual(len(result.nsmap), 2) self.assertEqual(result.nsmap['f'], 'foo') self.assertEqual(result.nsmap['b'], 'bar') self.assertEqual(result.get('name'), obj['test']['name']) for idx, val in enumerate(obj['test']['values']): self.assertEqual(result[idx].tag, 'value') self.assertEqual(result[idx].text, str(val)) idx += 1 self.assertEqual(result[idx].tag, 'attrs') for attr in result[idx]: self.assertEqual(attr.tag, 'attr') self.assertEqual(attr.get('value'), str(obj['test']['attrs'][attr.get('key')])) idx += 1 self.assertEqual(result[idx].tag, 'image') self.assertEqual(result[idx].get('id'), str(obj['test']['image']['id'])) self.assertEqual(result[idx].text, obj['test']['image']['name'])
def construct(self): root = xmlutil.TemplateElement('flavors') elem = xmlutil.SubTemplateElement(root, 'flavor', selector='flavors') make_flavor(elem, detailed=True) return xmlutil.MasterTemplate(root, 1, nsmap=flavor_nsmap)
def construct(self): root = xmlutil.TemplateElement('server') root.set('key_name', 'key_name') return xmlutil.SlaveTemplate(root, 1)
def construct(self): root = xmlutil.TemplateElement('servers') elem = xmlutil.SubTemplateElement(root, 'server', selector='servers') elem.set('key_name', 'key_name') return xmlutil.SlaveTemplate(root, 1)
def construct(self): root = xmlutil.TemplateElement('password', selector='password') root.text = unicode return xmlutil.MasterTemplate(root, 1)
def construct(self): root = xmlutil.TemplateElement('instanceAction', selector='instanceAction') make_action(root) return xmlutil.MasterTemplate(root, 1)
def construct(self): root = xmlutil.TemplateElement('server', selector='server') make_server(root) alias = Extended_availability_zone.alias namespace = Extended_availability_zone.namespace return xmlutil.SlaveTemplate(root, 1, nsmap={alias: namespace})
def construct(self): root = xmlutil.TemplateElement('images') elem = xmlutil.SubTemplateElement(root, 'image', selector='images') make_image(elem, detailed=True) return xmlutil.MasterTemplate(root, 1, nsmap=image_nsmap)
def construct(self): root = xmlutil.TemplateElement('images') elem = xmlutil.SubTemplateElement(root, 'image', selector='images') make_image(elem) xmlutil.make_links(root, 'images_links') return xmlutil.MasterTemplate(root, 1, nsmap=image_nsmap)
def test_element_subselector_string(self): # Create a template element with a string subselector elem = xmlutil.TemplateElement('test', subselector='test') self.assertEqual(len(elem.subselector.chain), 1) self.assertEqual(elem.subselector.chain[0], 'test')
def construct(self): root = xmlutil.TemplateElement('image') root.set('{%s}diskConfig' % XMLNS_DCF, API_DISK_CONFIG) return xmlutil.SlaveTemplate(root, 1, nsmap={ALIAS: XMLNS_DCF})
def test_wrap(self): # These are strange methods, but they make things easier elem = xmlutil.TemplateElement('test') tmpl = xmlutil.Template(elem) self.assertEqual(tmpl.unwrap(), elem) self.assertEqual(tmpl.wrap(), tmpl)
def construct(self): root = xmlutil.TemplateElement('servers') elem = xmlutil.SubTemplateElement(root, 'server', selector='servers') elem.set('{%s}diskConfig' % XMLNS_DCF, API_DISK_CONFIG) return xmlutil.SlaveTemplate(root, 1, nsmap={ALIAS: XMLNS_DCF})
def construct(self): elem = xmlutil.TemplateElement('test') return xmlutil.SlaveTemplate(elem, 1)
def construct(self): root = xmlutil.TemplateElement('interface', selector='interface') _make_interface_elem(root) return xmlutil.MasterTemplate(root, 1)
def construct(self): root = xmlutil.TemplateElement('tenant_usages') elem = xmlutil.SubTemplateElement(root, 'tenant_usage', selector='tenant_usages') make_usage(elem) return xmlutil.MasterTemplate(root, 1)
def construct(self): root = xmlutil.TemplateElement('floating_ip', selector='floating_ip') make_float_ip(root) return xmlutil.MasterTemplate(root, 1)
def construct(self): root = xmlutil.TemplateElement('flavor_access') elem = xmlutil.SubTemplateElement(root, 'access', selector='flavor_access') make_flavor_access(elem) return xmlutil.MasterTemplate(root, 1)
def construct(self): root = xmlutil.TemplateElement('flavors') elem = xmlutil.SubTemplateElement(root, 'flavor', selector='flavors') make_flavor(elem) return xmlutil.SlaveTemplate(root, 1, nsmap={ Flavorextradata.alias: Flavorextradata.namespace})
def construct(self): root = xmlutil.TemplateElement('servers') elem = xmlutil.SubTemplateElement(root, 'server', selector='servers') make_server(elem) return xmlutil.SlaveTemplate(root, 1)
def test_element_selector_none(self): # Create a template element with no selector elem = xmlutil.TemplateElement('test') self.assertEqual(len(elem.selector.chain), 0)
def construct(self): root = xmlutil.TemplateElement('volumes') elem = xmlutil.SubTemplateElement(root, 'volume', selector='volumes') make_volume(elem) return xmlutil.MasterTemplate(root, 1)
def test_element_subselector_none(self): # Create a template element with no subselector elem = xmlutil.TemplateElement('test') self.assertEqual(elem.subselector, None)
def construct(self): root = xmlutil.TemplateElement('snapshot', selector='snapshot') make_snapshot(root) return xmlutil.MasterTemplate(root, 1)
def construct(self): sel = xmlutil.Selector(xmlutil.get_items, 0) root = xmlutil.TemplateElement('extra_spec', selector=sel) root.set('key', 0) root.text = 1 return xmlutil.MasterTemplate(root, 1)