Search in sources :

Example 51 with BridgeMacLink

use of org.opennms.netmgt.model.BridgeMacLink in project opennms by OpenNMS.

the class BroadcastDomainTest method testCleanTopologyRoot.

@Test
public void testCleanTopologyRoot() {
    TwoBridgeWithBackbonePortsTopology topology = new TwoBridgeWithBackbonePortsTopology();
    BroadcastDomain domain = new BroadcastDomain();
    domain.addBridge(new Bridge(topology.nodeAId));
    domain.addBridge(new Bridge(topology.nodeBId));
    domain.setBridgeElements(topology.elemlist);
    NodeDiscoveryBridgeTopology ndbt = new NodeDiscoveryBridgeTopology(linkd, new Node(topology.nodeAId, null, null, null, location));
    ndbt.setDomain(domain);
    ndbt.addUpdatedBFT(domain.getBridge(topology.nodeAId), topology.bftA);
    ndbt.addUpdatedBFT(domain.getBridge(topology.nodeBId), topology.bftB);
    ndbt.calculate();
    domain.clearTopologyForBridge(topology.nodeAId);
    assertEquals(5, domain.getMacsOnDomain().size());
    assertEquals(topology.nodeBId.intValue(), domain.getRootBridge().getId().intValue());
    assertEquals(2, domain.getTopology().size());
    for (SharedSegment segment : domain.getTopology()) {
        assertEquals(0, segment.getBridgeBridgeLinks().size());
        assertEquals(1, segment.getBridgeIdsOnSegment().size());
        assertEquals(topology.nodeBId.intValue(), segment.getBridgeIdsOnSegment().iterator().next().intValue());
        if (segment.containsMac(topology.macA11) && segment.containsMac(topology.macA12) && segment.containsMac(topology.macAB)) {
            assertEquals(3, segment.getMacsOnSegment().size());
            assertEquals(3, segment.getBridgeMacLinks().size());
            for (BridgeMacLink link : segment.getBridgeMacLinks()) {
                assertEquals(topology.portBA.intValue(), link.getBridgePort().intValue());
            }
        } else if (segment.containsMac(topology.macB21) && segment.containsMac(topology.macB22)) {
            assertEquals(2, segment.getMacsOnSegment().size());
            assertEquals(2, segment.getBridgeMacLinks().size());
            for (BridgeMacLink link : segment.getBridgeMacLinks()) {
                assertEquals(topology.portB2.intValue(), link.getBridgePort().intValue());
            }
        } else {
            assertEquals(true, false);
        }
    }
}
Also used : BroadcastDomain(org.opennms.netmgt.model.topology.BroadcastDomain) SharedSegment(org.opennms.netmgt.model.topology.SharedSegment) BridgeMacLink(org.opennms.netmgt.model.BridgeMacLink) Bridge(org.opennms.netmgt.model.topology.Bridge) Test(org.junit.Test)

Aggregations

BridgeMacLink (org.opennms.netmgt.model.BridgeMacLink)51 Test (org.junit.Test)15 BridgeBridgeLink (org.opennms.netmgt.model.BridgeBridgeLink)15 OnmsNode (org.opennms.netmgt.model.OnmsNode)14 SharedSegment (org.opennms.netmgt.model.topology.SharedSegment)14 ArrayList (java.util.ArrayList)13 HashSet (java.util.HashSet)11 HashMap (java.util.HashMap)10 BroadcastDomain (org.opennms.netmgt.model.topology.BroadcastDomain)10 JUnitSnmpAgents (org.opennms.core.test.snmp.annotations.JUnitSnmpAgents)8 Bridge (org.opennms.netmgt.model.topology.Bridge)7 List (java.util.List)6 Date (java.util.Date)5 Set (java.util.Set)3 NetworkBuilder (org.opennms.netmgt.model.NetworkBuilder)3 OnmsIpInterface (org.opennms.netmgt.model.OnmsIpInterface)3 BridgePort (org.opennms.netmgt.model.topology.BridgePort)3 Nms10205bNetworkBuilder (org.opennms.netmgt.nb.Nms10205bNetworkBuilder)3 Nms17216NetworkBuilder (org.opennms.netmgt.nb.Nms17216NetworkBuilder)3 InetAddress (java.net.InetAddress)2