2 # -*- coding: utf-8 -*-
5 from nepi.util import tags
6 from nepi.util.constants import ApplicationStatus as AS
13 class ExecuteTestCase(unittest.TestCase):
15 sys.modules["nepi.testbeds.mock.metadata"] = mock.metadata
17 def make_mock_test(self, instance):
18 instance.defer_configure("fake", True)
19 instance.defer_create(2, "Node")
20 instance.defer_create(3, "Node")
21 instance.defer_create(4, "Node")
22 instance.defer_create(5, "Interface")
23 instance.defer_create_set(5, "fake", True)
24 instance.defer_connect(2, "devs", 5, "node")
25 instance.defer_create(6, "Interface")
26 instance.defer_create_set(6, "fake", True)
27 instance.defer_connect(3, "devs", 6, "node")
28 instance.defer_connect(5, "iface", 6, "iface")
29 instance.defer_create(7, "Application")
30 instance.defer_add_trace(7, "fake")
31 instance.defer_connect(7, "node", 2, "apps")
33 def do_presteps(self, instance):
36 instance.do_connect_init()
37 instance.do_connect_compl()
38 instance.do_preconfigure()
39 instance.do_configure()
40 instance.do_prestart()
42 def test_execute(self):
43 instance = mock.TestbedController()
45 self.make_mock_test(instance)
46 self.do_presteps(instance)
49 attr_list = instance.get_attribute_list(5)
50 self.assertEquals(attr_list, ["test", "fake", "cross", "maxAddresses", "label"])
51 while instance.status(7) != AS.STATUS_FINISHED:
53 app_result = instance.trace(7, "fake")
54 comp_result = """PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
56 --- 10.0.0.2 ping statistics ---
57 1 packets transmitted, 1 received, 0% packet loss, time 0ms
59 self.assertTrue(app_result.startswith(comp_result))
61 traces_info = instance.traces_info()
62 expected_traces_info = dict({
66 'user': getpass.getuser(),
71 self.assertEquals(traces_info, expected_traces_info)
76 if __name__ == '__main__':