2 # -*- coding: utf-8 -*-
4 from nepi.core.execute import ExperimentController
5 from nepi.core.design import ExperimentDescription, FactoriesProvider
6 from nepi.util.constants import STATUS_FINISHED
8 import mock.metadata_v01
13 class ExecuteTestCase(unittest.TestCase):
15 sys.modules["nepi.testbeds.mock.metadata_v01"] = mock.metadata_v01
16 sys.modules["nepi.testbeds.mock"] = mock
18 def test_integration(self):
19 exp_desc = ExperimentDescription()
20 testbed_version = "01"
22 provider = FactoriesProvider(testbed_id, testbed_version)
23 desc = exp_desc.add_testbed_description(provider)
24 desc.set_attribute_value("fake", True)
25 node1 = desc.create("Node")
26 node2 = desc.create("Node")
27 iface1 = desc.create("Interface")
28 iface1.set_attribute_value("fake", True)
29 node1.connector("devs").connect(iface1.connector("node"))
30 iface2 = desc.create("Interface")
31 iface2.set_attribute_value("fake", True)
32 node2.connector("devs").connect(iface2.connector("node"))
33 iface1.connector("iface").connect(iface2.connector("iface"))
34 app = desc.create("Application")
35 app.connector("node").connect(node1.connector("apps"))
36 app.enable_trace("fake")
38 xml = exp_desc.to_xml()
39 controller = ExperimentController(xml)
41 while not controller.is_finished(app.guid):
43 fake_result = controller.trace(desc.guid, app.guid, "fake")
44 comp_result = """PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
46 --- 10.0.0.2 ping statistics ---
47 1 packets transmitted, 1 received, 0% packet loss, time 0ms
49 self.assertTrue(fake_result.startswith(comp_result))
53 if __name__ == '__main__':