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)
def test_process_pdus(stc): plLogger = PLLogger.GetLogger('methodology') plLogger.LogInfo('test_ConfigTemplatePdusCommand.test_process_pdus()') # Test case to show that we can change the sourceAddr of the IPv4 PDU. # Single StreamBlock in the template tagged with ttStreamBlock. root = etree.fromstring(template_1()) p, v = pdus_1() assert CfgPdusCmd.process_pdus(p, v, root.find('.//StreamBlock')) r = etree.fromstring(root.find('.//StreamBlock').get('FrameConfig')) assert r.find('.//sourceAddr').text == '3.2.3.2' # Test case to show that we can change the sourceAddr of the IPv4 PDU # for the ttStreamBlock tagged StreamBlock, but not touch the ttStreamBlock2 # tagged StreamBlock. root = etree.fromstring(template_2()) assert CfgPdusCmd.process_pdus(p, v, root.find('.//StreamBlock')) for sb, t in zip(root.findall('.//StreamBlock'), ['3.2.3.2', '4.4.4.4']): r = etree.fromstring(sb.get('FrameConfig')) assert r.find('.//sourceAddr').text == t # Test case to show that we can change the sourceAddr of the IPv4 PDU # for both StreamBlocks independently. root = etree.fromstring(template_2()) ps, vs = pdus_2() for sb, p, v in zip(root.findall('.//StreamBlock'), ps, vs): assert CfgPdusCmd.process_pdus([p], [v], sb) for sb, t in zip(root.findall('.//StreamBlock'), ['3.2.3.2', '1.4.1.4']): r = etree.fromstring(sb.get('FrameConfig')) assert r.find('.//sourceAddr').text == t