preparation for integration tests
[osm/vim-emu.git] / src / emuvim / test / test_emulator.py
diff --git a/src/emuvim/test/test_emulator.py b/src/emuvim/test/test_emulator.py
deleted file mode 100755 (executable)
index 243f050..0000000
+++ /dev/null
@@ -1,270 +0,0 @@
-"""
-Test suite to automatically test emulator functionalities.
-Directly interacts with the emulator through the Mininet-like
-Python API.
-
-Does not test API endpoints. This is done in separated test suites.
-"""
-
-import time
-import unittest
-from emuvim.dcemulator.node import EmulatorCompute
-from emuvim.test.base import SimpleTestTopology
-
-
-#@unittest.skip("disabled topology tests for development")
-class testEmulatorTopology( SimpleTestTopology ):
-    """
-    Tests to check the topology API of the emulator.
-    """
-
-    def testSingleDatacenter(self):
-        """
-        Create a single data center and add check if its switch is up
-        by using manually added hosts. Tests especially the
-        data center specific addLink method.
-        """
-        # create network
-        self.createNet(nswitches=0, ndatacenter=1, nhosts=2, ndockers=0)
-        # setup links
-        self.net.addLink(self.dc[0], self.h[0])
-        self.net.addLink(self.h[1], self.dc[0])
-        # start Mininet network
-        self.startNet()
-        # check number of running nodes
-        self.assertTrue(len(self.getContainernetContainers()) == 0)
-        self.assertTrue(len(self.net.hosts) == 2)
-        self.assertTrue(len(self.net.switches) == 1)
-        # check connectivity by using ping
-        self.assertTrue(self.net.ping([self.h[0], self.h[1]]) <= 0.0)
-        # stop Mininet network
-        self.stopNet()
-
-    #@unittest.skip("disabled to test if CI fails because this is the first test.")
-    def testMultipleDatacenterDirect(self):
-        """
-        Create a two data centers and interconnect them.
-        """
-        # create network
-        self.createNet(nswitches=0, ndatacenter=2, nhosts=2, ndockers=0)
-        # setup links
-        self.net.addLink(self.dc[0], self.h[0])
-        self.net.addLink(self.h[1], self.dc[1])
-        self.net.addLink(self.dc[0], self.dc[1])
-        # start Mininet network
-        self.startNet()
-        # check number of running nodes
-        self.assertTrue(len(self.getContainernetContainers()) == 0)
-        self.assertTrue(len(self.net.hosts) == 2)
-        self.assertTrue(len(self.net.switches) == 2)
-        # check connectivity by using ping
-        self.assertTrue(self.net.ping([self.h[0], self.h[1]]) <= 0.0)
-        # stop Mininet network
-        self.stopNet()
-
-    def testMultipleDatacenterWithIntermediateSwitches(self):
-        """
-        Create a two data centers and interconnect them with additional
-        switches between them.
-        """
-        # create network
-        self.createNet(
-            nswitches=3, ndatacenter=2, nhosts=2, ndockers=0,
-            autolinkswitches=True)
-        # setup links
-        self.net.addLink(self.dc[0], self.h[0])
-        self.net.addLink(self.h[1], self.dc[1])
-        self.net.addLink(self.dc[0], self.s[0])
-        self.net.addLink(self.s[2], self.dc[1])
-        # start Mininet network
-        self.startNet()
-        # check number of running nodes
-        self.assertTrue(len(self.getContainernetContainers()) == 0)
-        self.assertTrue(len(self.net.hosts) == 2)
-        self.assertTrue(len(self.net.switches) == 5)
-        # check connectivity by using ping
-        self.assertTrue(self.net.ping([self.h[0], self.h[1]]) <= 0.0)
-        # stop Mininet network
-        self.stopNet()
-
-
-#@unittest.skip("disabled compute tests for development")
-class testEmulatorCompute( SimpleTestTopology ):
-    """
-    Tests to check the emulator's API to add and remove
-    compute resources at runtime.
-    """
-
-    def testAddSingleComputeSingleDC(self):
-        """
-        Adds a single compute instance to
-        a single DC and checks its connectivity with a
-        manually added host.
-        """
-        # create network
-        self.createNet(nswitches=0, ndatacenter=1, nhosts=1, ndockers=0)
-        # setup links
-        self.net.addLink(self.dc[0], self.h[0])
-        # start Mininet network
-        self.startNet()
-        # add compute resources
-        vnf1 = self.dc[0].startCompute("vnf1")
-        # check number of running nodes
-        self.assertTrue(len(self.getContainernetContainers()) == 1)
-        self.assertTrue(len(self.net.hosts) == 2)
-        self.assertTrue(len(self.net.switches) == 1)
-        # check compute list result
-        self.assertTrue(len(self.dc[0].listCompute()) == 1)
-        self.assertTrue(isinstance(self.dc[0].listCompute()[0], EmulatorCompute))
-        self.assertTrue(self.dc[0].listCompute()[0].name == "vnf1")
-        # check connectivity by using ping
-        self.assertTrue(self.net.ping([self.h[0], vnf1]) <= 0.0)
-        # stop Mininet network
-        self.stopNet()
-
-    def testRemoveSingleComputeSingleDC(self):
-        """
-        Test stop method for compute instances.
-        Check that the instance is really removed.
-        """
-        # create network
-        self.createNet(nswitches=0, ndatacenter=1, nhosts=1, ndockers=0)
-        # setup links
-        self.net.addLink(self.dc[0], self.h[0])
-        # start Mininet network
-        self.startNet()
-        # add compute resources
-        vnf1 = self.dc[0].startCompute("vnf1")
-        # check number of running nodes
-        self.assertTrue(len(self.getContainernetContainers()) == 1)
-        self.assertTrue(len(self.net.hosts) == 2)
-        self.assertTrue(len(self.net.switches) == 1)
-        # check compute list result
-        self.assertTrue(len(self.dc[0].listCompute()) == 1)
-        # check connectivity by using ping
-        self.assertTrue(self.net.ping([self.h[0], vnf1]) <= 0.0)
-        # remove compute resources
-        self.dc[0].stopCompute("vnf1")
-        # check number of running nodes
-        self.assertTrue(len(self.getContainernetContainers()) == 0)
-        self.assertTrue(len(self.net.hosts) == 1)
-        self.assertTrue(len(self.net.switches) == 1)
-        # check compute list result
-        self.assertTrue(len(self.dc[0].listCompute()) == 0)
-        # stop Mininet network
-        self.stopNet()
-
-    def testGetStatusSingleComputeSingleDC(self):
-        """
-        Check if the getStatus functionality of EmulatorCompute
-        objects works well.
-        """
-        # create network
-        self.createNet(nswitches=0, ndatacenter=1, nhosts=1, ndockers=0)
-        # setup links
-        self.net.addLink(self.dc[0], self.h[0])
-        # start Mininet network
-        self.startNet()
-        # add compute resources
-        vnf1 = self.dc[0].startCompute("vnf1")
-        # check number of running nodes
-        self.assertTrue(len(self.getContainernetContainers()) == 1)
-        self.assertTrue(len(self.net.hosts) == 2)
-        self.assertTrue(len(self.net.switches) == 1)
-        # check compute list result
-        self.assertTrue(len(self.dc[0].listCompute()) == 1)
-        self.assertTrue(isinstance(self.dc[0].listCompute()[0], EmulatorCompute))
-        self.assertTrue(self.dc[0].listCompute()[0].name == "vnf1")
-        # check connectivity by using ping
-        self.assertTrue(self.net.ping([self.h[0], vnf1]) <= 0.0)
-        # check get status
-        s = self.dc[0].containers.get("vnf1").getStatus()
-        self.assertTrue(s["name"] == "vnf1")
-        self.assertTrue(s["state"]["Running"])
-        # stop Mininet network
-        self.stopNet()
-
-    def testConnectivityMultiDC(self):
-        """
-        Test if compute instances started in different data centers
-        are able to talk to each other.
-        """
-        # create network
-        self.createNet(
-            nswitches=3, ndatacenter=2, nhosts=0, ndockers=0,
-            autolinkswitches=True)
-        # setup links
-        self.net.addLink(self.dc[0], self.s[0])
-        self.net.addLink(self.dc[1], self.s[2])
-        # start Mininet network
-        self.startNet()
-        # add compute resources
-        vnf1 = self.dc[0].startCompute("vnf1")
-        vnf2 = self.dc[1].startCompute("vnf2")
-        # check number of running nodes
-        self.assertTrue(len(self.getContainernetContainers()) == 2)
-        self.assertTrue(len(self.net.hosts) == 2)
-        self.assertTrue(len(self.net.switches) == 5)
-        # check compute list result
-        self.assertTrue(len(self.dc[0].listCompute()) == 1)
-        self.assertTrue(len(self.dc[1].listCompute()) == 1)
-        # check connectivity by using ping
-        self.assertTrue(self.net.ping([vnf1, vnf2]) <= 0.0)
-        # stop Mininet network
-        self.stopNet()
-
-    def testInterleavedAddRemoveMultiDC(self):
-        """
-        Test multiple, interleaved add and remove operations and ensure
-        that always all expected compute instances are reachable.
-        """
-                # create network
-        self.createNet(
-            nswitches=3, ndatacenter=2, nhosts=0, ndockers=0,
-            autolinkswitches=True)
-        # setup links
-        self.net.addLink(self.dc[0], self.s[0])
-        self.net.addLink(self.dc[1], self.s[2])
-        # start Mininet network
-        self.startNet()
-        # add compute resources
-        vnf1 = self.dc[0].startCompute("vnf1")
-        vnf2 = self.dc[1].startCompute("vnf2")
-        # check number of running nodes
-        self.assertTrue(len(self.getContainernetContainers()) == 2)
-        self.assertTrue(len(self.net.hosts) == 2)
-        self.assertTrue(len(self.net.switches) == 5)
-        # check compute list result
-        self.assertTrue(len(self.dc[0].listCompute()) == 1)
-        self.assertTrue(len(self.dc[1].listCompute()) == 1)
-        # check connectivity by using ping
-        self.assertTrue(self.net.ping([vnf1, vnf2]) <= 0.0)
-        # remove compute resources
-        self.dc[0].stopCompute("vnf1")
-        # check number of running nodes
-        self.assertTrue(len(self.getContainernetContainers()) == 1)
-        self.assertTrue(len(self.net.hosts) == 1)
-        self.assertTrue(len(self.net.switches) == 5)
-        # check compute list result
-        self.assertTrue(len(self.dc[0].listCompute()) == 0)
-        self.assertTrue(len(self.dc[1].listCompute()) == 1)
-        # add compute resources
-        vnf3 = self.dc[0].startCompute("vnf3")
-        vnf4 = self.dc[0].startCompute("vnf4")
-        # check compute list result
-        self.assertTrue(len(self.dc[0].listCompute()) == 2)
-        self.assertTrue(len(self.dc[1].listCompute()) == 1)
-        self.assertTrue(self.net.ping([vnf3, vnf2]) <= 0.0)
-        self.assertTrue(self.net.ping([vnf4, vnf2]) <= 0.0)
-        # remove compute resources
-        self.dc[0].stopCompute("vnf3")
-        self.dc[0].stopCompute("vnf4")
-        self.dc[1].stopCompute("vnf2")
-        # check compute list result
-        self.assertTrue(len(self.dc[0].listCompute()) == 0)
-        self.assertTrue(len(self.dc[1].listCompute()) == 0)
-        # stop Mininet network
-        self.stopNet()
-
-if __name__ == '__main__':
-    unittest.main()