split it-utils: ovsdb-it-utils + netvirt-it-utils
[ovsdb.git] / utils / ovsdb-it-utils / src / main / java / org / opendaylight / ovsdb / utils / ovsdb / it / utils / OvsdbItUtils.java
similarity index 65%
rename from utils/it-utils/src/main/java/org/opendaylight/ovsdb/utils/it/utils/ItUtils.java
rename to utils/ovsdb-it-utils/src/main/java/org/opendaylight/ovsdb/utils/ovsdb/it/utils/OvsdbItUtils.java
index f8b9676773608deb4ca55c187a378baccf95d768..436f199966a2ea66112668d03fb546972bd4b9f1 100644 (file)
@@ -6,55 +6,49 @@
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
 
-package org.opendaylight.ovsdb.utils.it.utils;
+package org.opendaylight.ovsdb.utils.ovsdb.it.utils;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
 import java.util.List;
+
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker;
 import org.opendaylight.ovsdb.utils.mdsal.utils.MdsalUtils;
 import org.opendaylight.ovsdb.utils.mdsal.utils.NotifyingDataChangeListener;
 import org.opendaylight.ovsdb.utils.southbound.utils.SouthboundUtils;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Uri;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbBridgeAugmentation;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.bridge.attributes.ControllerEntry;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.node.attributes.ConnectionInfo;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NetworkTopology;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.TopologyId;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.TopologyKey;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
  * This class contains various utility methods used in OVSDB integration tests (IT).
  */
-public class ItUtils {
-    private static final Logger LOG = LoggerFactory.getLogger(ItUtils.class);
+public class OvsdbItUtils {
+    private static final Logger LOG = LoggerFactory.getLogger(OvsdbItUtils.class);
     MdsalUtils mdsalUtils;
     SouthboundUtils southboundUtils;
     DataBroker dataBroker;
 
     /**
-     * Create a new ItUtils instance
+     * Create a new OvsdbItUtils instance.
      * @param dataBroker  md-sal data broker
      */
-    public ItUtils(DataBroker dataBroker) {
+    public OvsdbItUtils(DataBroker dataBroker) {
         this.dataBroker = dataBroker;
         mdsalUtils = new MdsalUtils(dataBroker);
         southboundUtils = new SouthboundUtils(mdsalUtils);
     }
 
     /**
-     * Get a NodeInfo instance initialized with this ItUtil's DataBroker
+     * Get a NodeInfo instance initialized with this ItUtil's DataBroker.
      * @param connectionInfo ConnectionInfo for the OVSDB server
      * @param waitList For tracking outstanding md-sal events notifications
-     * @return
+     * @return a new NodeInfo object
      */
     public NodeInfo createNodeInfo(ConnectionInfo connectionInfo, List<NotifyingDataChangeListener> waitList) {
         return new NodeInfo(connectionInfo, this, waitList);
@@ -65,7 +59,7 @@ public class ItUtils {
      * AssertionError for any number of unexpected states.
      * @param connectionInfo
      * @return true if connected
-     * @throws InterruptedException
+     * @throws InterruptedException if interrupted while waiting for connection to appear
      */
     public boolean isControllerConnected(ConnectionInfo connectionInfo) throws InterruptedException {
         LOG.info("isControllerConnected enter");
@@ -94,33 +88,15 @@ public class ItUtils {
         return false;
     }
 
+    /**
+     * Get a DataBroker and assert that it is not null.
+     * @param providerContext ProviderContext from which to retrieve the DataBroker
+     * @return the Databroker
+     */
     public static DataBroker getDatabroker(BindingAwareBroker.ProviderContext providerContext) {
         DataBroker dataBroker = providerContext.getSALService(DataBroker.class);
         assertNotNull("dataBroker should not be null", dataBroker);
         return dataBroker;
     }
 
-    public Boolean getNetvirtTopology() {
-        LOG.info("getNetvirtTopology: looking for {}...", ItConstants.NETVIRT_TOPOLOGY_ID);
-        Boolean found = false;
-        final TopologyId topologyId = new TopologyId(new Uri(ItConstants.NETVIRT_TOPOLOGY_ID));
-        InstanceIdentifier<Topology> path =
-                InstanceIdentifier.create(NetworkTopology.class).child(Topology.class, new TopologyKey(topologyId));
-        for (int i = 0; i < 60; i++) {
-            Topology topology = mdsalUtils.read(LogicalDatastoreType.OPERATIONAL, path);
-            if (topology != null) {
-                LOG.info("getNetvirtTopology: found {}...", ItConstants.NETVIRT_TOPOLOGY_ID);
-                found = true;
-                break;
-            } else {
-                LOG.info("getNetvirtTopology: still looking (try {})...", i);
-                try {
-                    Thread.sleep(1000);
-                } catch (InterruptedException e) {
-                    LOG.warn("Interrupted while waiting for {}", ItConstants.NETVIRT_TOPOLOGY_ID, e);
-                }
-            }
-        }
-        return found;
-    }
 }