merge master
[osm/vim-emu.git] / src / emuvim / test / base.py
index f652259..2021355 100644 (file)
@@ -8,6 +8,7 @@ import subprocess
 import docker
 from emuvim.dcemulator.net import DCNetwork
 from mininet.clean import cleanup
+from mininet.node import Controller
 
 class SimpleTestTopology(unittest.TestCase):
     """
@@ -27,12 +28,16 @@ class SimpleTestTopology(unittest.TestCase):
     def createNet(
             self,
             nswitches=0, ndatacenter=0, nhosts=0, ndockers=0,
-            autolinkswitches=False):
+            autolinkswitches=False, controller=Controller, **kwargs):
         """
         Creates a Mininet instance and automatically adds some
         nodes to it.
+
+        Attention, we should always use Mininet's default controller
+        for our tests. Only use other controllers if you want to test
+        specific controller functionality.
         """
-        self.net = net = DCNetwork()
+        self.net = DCNetwork(controller=controller, **kwargs)
 
         # add some switches
         for i in range(0, nswitches):
@@ -52,7 +57,7 @@ class SimpleTestTopology(unittest.TestCase):
             self.h.append(self.net.addHost('h%d' % i))
         # add some dockers
         for i in range(0, ndockers):
-            self.d.append(self.net.addDocker('d%d' % i, dimage="ubuntu"))
+            self.d.append(self.net.addDocker('d%d' % i, dimage="ubuntu:trusty"))
 
     def startNet(self):
         self.net.start()
@@ -69,11 +74,11 @@ class SimpleTestTopology(unittest.TestCase):
                 base_url='unix://var/run/docker.sock')
         return self.docker_cli
 
-    def getDockernetContainers(self):
+    def getContainernetContainers(self):
         """
-        List the containers managed by dockernet
+        List the containers managed by containernet
         """
-        return self.getDockerCli().containers(filters={"label": "com.dockernet"})
+        return self.getDockerCli().containers(filters={"label": "com.containernet"})
 
     @staticmethod
     def setUp():
@@ -85,7 +90,7 @@ class SimpleTestTopology(unittest.TestCase):
         # make sure that all pending docker containers are killed
         with open(os.devnull, 'w') as devnull:
             subprocess.call(
-                "sudo docker rm -f $(sudo docker ps --filter 'label=com.dockernet' -a -q)",
+                "sudo docker rm -f $(sudo docker ps --filter 'label=com.containernet' -a -q)",
                 stdout=devnull,
                 stderr=devnull,
                 shell=True)
\ No newline at end of file