def test_get_port_stream_info(stc): ctor = CScriptableCreator() project = CStcSystem.Instance().GetObject("project") port = ctor.Create("port", project) # single streamblock streamblocks = [ctor.Create("streamblock", port)] assert tsc.get_port_stream_info(port, False)["StreamBlockCount"] == 1 assert tsc.get_port_stream_info(port, False)["StreamCount"] == 1 assert tsc.get_port_stream_info(port, False)["FlowCount"] == 1 # additional streamblock streamblocks += [ctor.Create("streamblock", port)] assert tsc.get_port_stream_info(port, False)["StreamBlockCount"] == 2 assert tsc.get_port_stream_info(port, False)["StreamCount"] == 2 assert tsc.get_port_stream_info(port, False)["FlowCount"] == 2 # bind first stream with 100 devices other_port = ctor.Create("port", project) dev = create_devices(port, 100) ip = dev.GetObject("ipv4if") other_dev = create_devices(other_port, 100) other_ip = other_dev.GetObject("ipv4if") streamblocks[0].AddObject(ip, RelationType("srcbinding")) streamblocks[0].AddObject(other_ip, RelationType("dstbinding")) assert tsc.get_port_stream_info(port, False)["StreamBlockCount"] == 2 assert tsc.get_port_stream_info(port, False)["StreamCount"] == 101 assert tsc.get_port_stream_info(port, False)["FlowCount"] == 101
def test_get_port_stream_info_mod_count(stc): ctor = CScriptableCreator() project = CStcSystem.Instance().GetObject("project") port = ctor.Create("port", project) # none assert tsc.get_port_stream_info(port, False)["AvgModifierCount"] == 0 # single streamblock streamblocks = [ctor.Create("streamblock", port)] assert tsc.get_port_stream_info(port, False)["AvgModifierCount"] == 0 # add a range modifier range_mod = ctor.Create("rangemodifier", streamblocks[0]) range_mod.Set("OffsetReference", "ip_1.tosDiffserv.tos") range_mod.Set("Mask", "1") assert tsc.get_port_stream_info(port, False)["AvgModifierCount"] == 1 # add a table modifier ctor.Create("tablemodifier", streamblocks[0]) assert tsc.get_port_stream_info(port, False)["AvgModifierCount"] == 2 # add a stream block streamblocks += [ctor.Create("streamblock", port)] assert tsc.get_port_stream_info(port, False)["AvgModifierCount"] == 1 # add another stream block streamblocks += [ctor.Create("streamblock", port)] assert (round(tsc.get_port_stream_info(port, False)["AvgModifierCount"], 2) == 0.67)