def test_tag_id_wrong_thing(stc): ctor = CScriptableCreator() project = CStcSystem.Instance().GetObject('project') tags = project.GetObject('Tags') tag = ctor.Create('Tag', tags) tag.Set('Name', 'Sample') port = create_port_with_ipv4_device(ctor, project) device = project.GetObject('EmulatedDevice') assert device # Project should never be tagged project.AddObject(tag, RelationType('UserTag')) got_list = tag_utils.get_tagged_endpoints_given_tag_ids([tag.GetObjectHandle()]) assert len(got_list) == 0 project.RemoveObject(tag, RelationType('UserTag')) # Port neither port.AddObject(tag, RelationType('UserTag')) got_list = tag_utils.get_tagged_endpoints_given_tag_ids([tag.GetObjectHandle()]) assert len(got_list) == 0
def test_tag_id_interface(stc): ctor = CScriptableCreator() project = CStcSystem.Instance().GetObject('project') tags = project.GetObject('Tags') tag = ctor.Create('Tag', tags) tag.Set('Name', 'Sample') create_port_with_ipv4_device(ctor, project) device = project.GetObject('EmulatedDevice') assert device ipv4 = device.GetObject('Ipv4If') ipv4.AddObject(tag, RelationType('UserTag')) eth = device.GetObject('EthIIIf') got_list = tag_utils.get_tagged_endpoints_given_tag_ids([tag.GetObjectHandle()]) assert len(got_list) == 1 assert got_list[0].GetObjectHandle() == ipv4.GetObjectHandle() ipv4.RemoveObject(tag, RelationType('UserTag')) eth.AddObject(tag, RelationType('UserTag')) got_list = tag_utils.get_tagged_endpoints_given_tag_ids([tag.GetObjectHandle()]) assert len(got_list) == 1 assert got_list[0].GetObjectHandle() == eth.GetObjectHandle()
def test_tag_id_mcast_group(stc): ctor = CScriptableCreator() project = CStcSystem.Instance().GetObject('project') tags = project.GetObject('Tags') tag = ctor.Create('Tag', tags) tag.Set('Name', 'Sample') v4grp = ctor.Create('Ipv4Group', project) assert v4grp nb = v4grp.GetObject('Ipv4NetworkBlock') assert nb v4grp.AddObject(tag, RelationType('UserTag')) got_list = tag_utils.get_tagged_endpoints_given_tag_ids([tag.GetObjectHandle()]) assert len(got_list) == 1 assert got_list[0].GetObjectHandle() == nb.GetObjectHandle()
def test_tag_id_route(stc): ctor = CScriptableCreator() project = CStcSystem.Instance().GetObject('project') tags = project.GetObject('Tags') tag = ctor.Create('Tag', tags) tag.Set('Name', 'Sample') create_port_with_ipv4_device(ctor, project) device = project.GetObject('EmulatedDevice') assert device bgp = ctor.Create('BgpRouterConfig', device) bgproute = ctor.Create('BgpIpv4RouteConfig', bgp) nb = bgproute.GetObject('Ipv4NetworkBlock') assert nb bgproute.AddObject(tag, RelationType('UserTag')) got_list = tag_utils.get_tagged_endpoints_given_tag_ids([tag.GetObjectHandle()]) assert len(got_list) == 1 assert got_list[0].GetObjectHandle() == nb.GetObjectHandle()