示例#1
0
文件: test_bugs.py 项目: ingted/crmsh
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
示例#2
0
文件: test_bugs.py 项目: ingted/crmsh
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
示例#3
0
文件: test_bugs.py 项目: ingted/crmsh
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
示例#4
0
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
示例#5
0
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
示例#6
0
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
示例#7
0
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