コード例 #1
0
def test_run(stc):
    test_xml = get_test_xml()

    ctor = CScriptableCreator()
    stc_sys = CStcSystem.Instance()
    proj = stc_sys.GetObject('Project')
    seq = stc_sys.GetObject('Sequencer')
    # Create the traffic mix
    traf_mix = ctor.Create('StmTrafficMix', proj)
    traf_mix.Set('MixInfo',
                 '<MixInfo Load="10.0" LoadUnit="PERCENT_LINE_RATE" WeightList="" />')
    cmd = ctor.Create(PKG + '.LoadTrafficTemplateCommand', seq)
    cmd.Set('TemplateXml', test_xml)
    cmd.Set('EnableLoadFromFileName', False)
    cmd.Set('StmTemplateMix', traf_mix.GetObjectHandle())
    command.get_this_cmd = MagicMock(return_value=cmd)

    # Create a contained command to check the StmTemplateConfig
    # gets copied in.
    mod_cmd = ctor.Create(PKG_BASE + '.ModifyTemplatePropertyCommand', cmd)
    cmd.SetCollection("CommandList", [mod_cmd.GetObjectHandle()])

    ret = command.run(cmd.Get('CopiesPerParent'),
                      cmd.GetCollection('TargetTagList'),
                      cmd.Get('TemplateXml'),
                      cmd.Get('TemplateXmlFileName'),
                      cmd.Get('TagPrefix'),
                      cmd.Get('AutoExpandTemplate'),
                      cmd.Get('EnableLoadFromFileName'),
                      cmd.Get('Weight'),
                      cmd.Get('StmTemplateMix'))
    assert True is ret
    mix_elem = etree.fromstring(traf_mix.Get('MixInfo'))
    wl_str = mix_elem.get('WeightList')
    wl_float = [float(x) for x in wl_str.split()]
    assert 1 == len(wl_float)
    assert 10.0 == wl_float[0]
    obj_list = traf_mix.GetObjects('StmTemplateConfig')
    assert 1 == len(obj_list)

    # Verify the command set its output properly
    assert cmd.Get("StmTemplateConfig") == obj_list[0].GetObjectHandle()

    # Verify the command configured its children properly
    assert mod_cmd.Get("StmTemplateConfig") == obj_list[0].GetObjectHandle()

    # Check the parent
    parent_list = obj_list[0].GetObjects("Scriptable",
                                         RelationType("ParentChild", 1))
    assert len(parent_list) == 1
    assert parent_list[0].GetObjectHandle() == \
        traf_mix.GetObjectHandle()
コード例 #2
0
def test_validate_defaults(stc):
    ctor = CScriptableCreator()
    stc_sys = CStcSystem.Instance()
    seq = stc_sys.GetObject('Sequencer')
    cmd = ctor.Create(PKG + '.LoadTrafficTemplateCommand', seq)
    assert False is cmd.Get('AutoExpandTemplate')
    command.get_this_cmd = MagicMock(return_value=cmd)
    ret = command.validate(cmd.Get('CopiesPerParent'),
                           cmd.GetCollection('TargetTagList'),
                           cmd.Get('TemplateXml'),
                           cmd.Get('TemplateXmlFileName'),
                           cmd.Get('TagPrefix'),
                           cmd.Get('AutoExpandTemplate'),
                           cmd.Get('EnableLoadFromFileName'),
                           cmd.Get('Weight'),
                           cmd.Get('StmTemplateMix'))
    assert '' == ret