def test_run(stc):
    plLogger = PLLogger.GetLogger('methodology')
    plLogger.LogInfo('test_ConfigTemplatePdusCommand.test_run()')

    stc_sys = CStcSystem.Instance()
    project = stc_sys.GetObject("Project")
    sequencer = stc_sys.GetObject("Sequencer")
    ctor = CScriptableCreator()

    cmd = ctor.Create(PKG + ".ConfigTemplatePdusCommand", sequencer)
    CfgPdusCmd.get_this_cmd = MagicMock(return_value=cmd)

    template = ctor.Create("StmTemplateConfig", project)
    template.Set('TemplateXml', template_2())

    p, v = pdus_1()
    assert CfgPdusCmd.run(template.GetObjectHandle(),
                          ['ttStreamBlock', 'ttStreamBlock2'], p, v)
    root = etree.fromstring(template.Get('TemplateXml'))
    for sb in root.findall('.//StreamBlock'):
        r = etree.fromstring(sb.get('FrameConfig'))
        assert '3.2.3.2' == r.find('.//sourceAddr').text

    p, v = pdus_1_badpv()
    assert not CfgPdusCmd.run(template.GetObjectHandle(), ['ttStreamBlock'], p, v)

    p, v = pdus_1_badref()
    assert not CfgPdusCmd.run(template.GetObjectHandle(), ['ttStreamBlock'], p, v)

    p, v = pdus_1()
    assert not CfgPdusCmd.run(project.GetObjectHandle(), ['ttStreamBlock'], p, v)