def test_bug959895(): """ Allow importing XML with cloned groups """ xml = """<clone id="c-bug959895"> <group id="g-bug959895"> <primitive id="p-bug959895-a" class="ocf" provider="pacemaker" type="Dummy" /> <primitive id="p-bug959895-b" class="ocf" provider="pacemaker" type="Dummy" /> </group> </clone> """ data = etree.fromstring(xml) obj = factory.create_from_node(data) print etree.tostring(obj.node) data = obj.repr_cli(format=-1) print data exp = 'clone c-bug959895 g-bug959895' assert data == exp assert obj.cli_use_validate() commit_holder = factory.commit try: factory.commit = lambda *args: True from crmsh.ui_resource import set_deep_meta_attr set_deep_meta_attr("c-bug959895", "target-role", "Started") eq_(['Started'], obj.node.xpath('.//nvpair[@name="target-role"]/@value')) finally: factory.commit = commit_holder
def test_bug41660_3(): xml = """ <clone id="libvirtd-clone"> <primitive class="lsb" id="libvirtd" type="libvirtd"> <operations> <op id="libvirtd-monitor-interval-15" interval="15" name="monitor" start-delay="15" timeout="15"/> <op id="libvirtd-start-interval-0" interval="0" name="start" on-fail="restart" timeout="15"/> <op id="libvirtd-stop-interval-0" interval="0" name="stop" on-fail="ignore" timeout="15"/> </operations> <meta_attributes id="libvirtd-meta_attributes"/> </primitive> <meta_attributes id="libvirtd-clone-meta_attributes"> <nvpair id="libvirtd-clone-meta_attributes-target-role" name="target-role" value="Stopped"/> </meta_attributes> </clone> """ data = etree.fromstring(xml) obj = factory.create_from_node(data) assert obj is not None data = obj.repr_cli(format=-1) print data exp = 'clone libvirtd-clone libvirtd meta target-role=Stopped' assert data == exp assert obj.cli_use_validate() commit_holder = factory.commit try: factory.commit = lambda *args: True from crmsh.ui_resource import set_deep_meta_attr set_deep_meta_attr("libvirtd-clone", "target-role", "Started") eq_(['Started'], obj.node.xpath('.//nvpair[@name="target-role"]/@value')) finally: factory.commit = commit_holder
def test_bug41660_1(): xml = """<primitive id="bug41660" class="ocf" provider="pacemaker" type="Dummy"> \ <meta_attributes id="bug41660-meta"> \ <nvpair id="bug41660-meta-target-role" name="target-role" value="Stopped"/> \ </meta_attributes> \ </primitive> """ data = etree.fromstring(xml) obj = factory.create_from_node(data) print etree.tostring(obj.node) data = obj.repr_cli(format=-1) print data exp = 'primitive bug41660 ocf:pacemaker:Dummy meta target-role=Stopped' assert data == exp assert obj.cli_use_validate() commit_holder = factory.commit try: factory.commit = lambda *args: True from crmsh.ui_resource import set_deep_meta_attr set_deep_meta_attr("bug41660", "target-role", "Started") eq_(['Started'], obj.node.xpath('.//nvpair[@name="target-role"]/@value')) finally: factory.commit = commit_holder
def test_bug41660_3(): xml = """ <clone id="libvirtd-clone"> <primitive class="lsb" id="libvirtd" type="libvirtd"> <operations> <op id="libvirtd-monitor-interval-15" interval="15" name="monitor" start-delay="15" timeout="15"/> <op id="libvirtd-start-interval-0" interval="0" name="start" on-fail="restart" timeout="15"/> <op id="libvirtd-stop-interval-0" interval="0" name="stop" on-fail="ignore" timeout="15"/> </operations> <meta_attributes id="libvirtd-meta_attributes"/> </primitive> <meta_attributes id="libvirtd-clone-meta_attributes"> <nvpair id="libvirtd-clone-meta_attributes-target-role" name="target-role" value="Stopped"/> </meta_attributes> </clone> """ data = etree.fromstring(xml) obj = factory.create_from_node(data) assert obj is not None data = obj.repr_cli(format_mode=-1) print(data) exp = 'clone libvirtd-clone libvirtd meta target-role=Stopped' assert data == exp assert obj.cli_use_validate() commit_holder = factory.commit try: factory.commit = lambda *args: True from crmsh.ui_resource import set_deep_meta_attr set_deep_meta_attr("libvirtd-clone", "target-role", "Started") assert ['Started' ] == obj.node.xpath('.//nvpair[@name="target-role"]/@value') finally: factory.commit = commit_holder
def test_bug959895(): """ Allow importing XML with cloned groups """ xml = """<clone id="c-bug959895"> <group id="g-bug959895"> <primitive id="p-bug959895-a" class="ocf" provider="pacemaker" type="Dummy" /> <primitive id="p-bug959895-b" class="ocf" provider="pacemaker" type="Dummy" /> </group> </clone> """ data = etree.fromstring(xml) obj = factory.create_from_node(data) print(etree.tostring(obj.node)) data = obj.repr_cli(format_mode=-1) print(data) exp = 'clone c-bug959895 g-bug959895' assert data == exp assert obj.cli_use_validate() commit_holder = factory.commit try: factory.commit = lambda *args: True from crmsh.ui_resource import set_deep_meta_attr set_deep_meta_attr("c-bug959895", "target-role", "Started") assert ['Started' ] == obj.node.xpath('.//nvpair[@name="target-role"]/@value') finally: factory.commit = commit_holder
def test_bug41660_1(): xml = """<primitive id="bug41660" class="ocf" provider="pacemaker" type="Dummy"> \ <meta_attributes id="bug41660-meta"> \ <nvpair id="bug41660-meta-target-role" name="target-role" value="Stopped"/> \ </meta_attributes> \ </primitive> """ data = etree.fromstring(xml) obj = factory.create_from_node(data) print(etree.tostring(obj.node)) data = obj.repr_cli(format_mode=-1) print(data) exp = 'primitive bug41660 ocf:pacemaker:Dummy meta target-role=Stopped' assert data == exp assert obj.cli_use_validate() commit_holder = factory.commit try: factory.commit = lambda *args: True from crmsh.ui_resource import set_deep_meta_attr set_deep_meta_attr("bug41660", "target-role", "Started") assert ['Started' ] == obj.node.xpath('.//nvpair[@name="target-role"]/@value') finally: factory.commit = commit_holder
def test_bug41660_2(): xml = """ <clone id="libvirtd-clone"> <primitive class="lsb" id="libvirtd" type="libvirtd"> <operations> <op id="libvirtd-monitor-interval-15" interval="15" name="monitor" start-delay="15" timeout="15"/> <op id="libvirtd-start-interval-0" interval="0" name="start" on-fail="restart" timeout="15"/> <op id="libvirtd-stop-interval-0" interval="0" name="stop" on-fail="ignore" timeout="15"/> </operations> <meta_attributes id="libvirtd-meta_attributes"/> </primitive> <meta_attributes id="libvirtd-clone-meta"> <nvpair id="libvirtd-interleave" name="interleave" value="true"/> <nvpair id="libvirtd-ordered" name="ordered" value="true"/> <nvpair id="libvirtd-clone-meta-target-role" name="target-role" value="Stopped"/> </meta_attributes> </clone> """ data = etree.fromstring(xml) obj = factory.create_from_node(data) assert obj is not None #data = obj.repr_cli(format=-1) #print data #exp = 'clone libvirtd-clone libvirtd meta interleave=true ordered=true target-role=Stopped' #assert data == exp #assert obj.cli_use_validate() print etree.tostring(obj.node) commit_holder = factory.commit try: factory.commit = lambda *args: True from crmsh.ui_resource import set_deep_meta_attr print "PRE", etree.tostring(obj.node) set_deep_meta_attr("libvirtd-clone", "target-role", "Started") print "POST", etree.tostring(obj.node) eq_(['Started'], obj.node.xpath('.//nvpair[@name="target-role"]/@value')) finally: factory.commit = commit_holder