@SuppressWarnings("unchecked") private void verifyExecute( int qosTimes, int bridgeTimes, int updateNodeTime, int updateIIDTimes) { uniAddCommand.execute(); PowerMockito.verifyStatic(times(qosTimes)); OvsdbUtils.createQoSForOvsdbNode(any(DataBroker.class), any(UniAugmentation.class)); PowerMockito.verifyStatic(times(bridgeTimes)); OvsdbUtils.createBridgeNode( any(DataBroker.class), any(InstanceIdentifier.class), any(UniAugmentation.class), any(String.class)); PowerMockito.verifyStatic(times(updateNodeTime)); UniUtils.updateUniNode( any(LogicalDatastoreType.class), any(InstanceIdentifier.class), any(UniAugmentation.class), any(Node.class), any(DataBroker.class)); PowerMockito.verifyStatic(times(updateIIDTimes)); UniUtils.updateUniNode( any(LogicalDatastoreType.class), any(InstanceIdentifier.class), any(UniAugmentation.class), any(InstanceIdentifier.class), any(DataBroker.class)); }
/** * Test method for {@link org.opendaylight.unimgr.command.uniAddCommandTest#execute()}. * * @throws Exception */ @SuppressWarnings({"unchecked", "rawtypes"}) @Test public void testExecute() throws Exception { final Optional<Node> optionalOvsdbNode = mock(Optional.class); final UniAugmentation uniAugmentation = mock(UniAugmentation.class); final OvsdbNodeAugmentation ovsdbNodeAugmentation = mock(OvsdbNodeAugmentation.class); final ConnectionInfo connectionInfo = mock(ConnectionInfo.class); final IpAddress ipAddress = mock(IpAddress.class); final Ipv4Address ipv4Address = mock(Ipv4Address.class); final OvsdbNodeRef ovsNodedRef = mock(OvsdbNodeRef.class); final Node node = mock(Node.class); final NodeId nodeId = mock(NodeId.class); final List<Node> nodes = new ArrayList<Node>(); final InstanceIdentifier uniKey = InstanceIdentifier.create(NetworkTopology.class) .child(Topology.class, new TopologyKey(UnimgrConstants.UNI_TOPOLOGY_ID)) .child(Node.class, new NodeKey(OVSDB_NODE_ID)); nodes.add(node); // Case UNI1 : uni.getOvsdbNodeRef() != null, !optionalNode.isPresent() when(uniNode.getAugmentation(UniAugmentation.class)).thenReturn(uniAugmentation); when(optUniNode.isPresent()).thenReturn(false); when(MdsalUtils.readNode( any(DataBroker.class), any(LogicalDatastoreType.class), any(InstanceIdentifier.class))) .thenReturn(optUniNode) .thenReturn(optionalOvsdbNode); when(optionalOvsdbNode.isPresent()).thenReturn(false).thenReturn(true); when(optionalOvsdbNode.get()).thenReturn(node); when(uniAugmentation.getIpAddress()).thenReturn(ipAddress); when(uniAugmentation.getSpeed()).thenReturn(mock(Speed.class)); when(uniAugmentation.getOvsdbNodeRef()).thenReturn(ovsNodedRef); when(ovsdbNodeAugmentation.getConnectionInfo()).thenReturn(connectionInfo); when(connectionInfo.getRemoteIp()).thenReturn(ipAddress); when(ipAddress.getIpv4Address()).thenReturn(ipv4Address); when(ipv4Address.toString()).thenReturn("ipv4Address_test"); when(ipv4Address.getValue()).thenReturn("ipv4AddressValue_test"); when(ovsNodedRef.getValue()).thenReturn(uniKey); when(node.getAugmentation(any(Class.class))).thenReturn(uniAugmentation); when(node.getNodeId()).thenReturn(nodeId); when(nodeId.toString()).thenReturn("ovsdbNodeId_test"); when(OvsdbUtils.findOvsdbNode(any(DataBroker.class), any(UniAugmentation.class))) .thenReturn(optionalOvsdbNode); when(OvsdbUtils.createQoSForOvsdbNode(any(DataBroker.class), any(UniAugmentation.class))) .thenReturn(null); when(UniUtils.updateUniNode( any(LogicalDatastoreType.class), any(InstanceIdentifier.class), any(UniAugmentation.class), any(Node.class), any(DataBroker.class))) .thenReturn(true); when(UniUtils.updateUniNode( any(LogicalDatastoreType.class), any(InstanceIdentifier.class), any(UniAugmentation.class), any(InstanceIdentifier.class), any(DataBroker.class))) .thenReturn(true); when(OvsdbUtils.createOvsdbNode(any(DataBroker.class), any(UniAugmentation.class))) .thenReturn(node); PowerMockito.doNothing() .when( OvsdbUtils.class, "createBridgeNode", dataBroker, uniKey, uniAugmentation, UnimgrConstants.DEFAULT_BRIDGE_NAME); when(UniUtils.getUniNodes(any(DataBroker.class))).thenReturn(nodes); when(UnimgrMapper.getOvsdbNodeIid(any(NodeId.class))).thenReturn(uniKey); when(UnimgrMapper.getUniIid( any(DataBroker.class), any(IpAddress.class), any(LogicalDatastoreType.class))) .thenReturn(uniKey); verifyExecute(1, 0, 1, 0); // Case UNI2 : optionalNode.isPresent() when(MdsalUtils.readNode( any(DataBroker.class), any(LogicalDatastoreType.class), any(InstanceIdentifier.class))) .thenReturn(optionalOvsdbNode); verifyExecute(1, 0, 1, 0); // Case UNI3 : uni.getOvsdbNodeRef() == null, optionalNode.isPresent() when(uniAugmentation.getOvsdbNodeRef()).thenReturn(null); when(optionalOvsdbNode.isPresent()).thenReturn(true); when(MdsalUtils.readNode( any(DataBroker.class), any(LogicalDatastoreType.class), any(InstanceIdentifier.class))) .thenReturn(optUniNode) .thenReturn(optionalOvsdbNode); verifyExecute(2, 1, 3, 0); // Case UNI4 : uni.getOvsdbNodeRef() == null, !optionalNode.isPresent() when(optionalOvsdbNode.isPresent()).thenReturn(false); verifyExecute(2, 1, 4, 0); }