4f3758fe2a2277eecd28315feddffef2aff27b9c
[nepi.git] / test / testbeds / netns / design.py
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3
4 from nepi.core.design import ExperimentDescription, FactoriesProvider
5 import os
6 import shutil
7 import test_util
8 import unittest
9 import uuid
10
11 class NetnsDesignTestCase(unittest.TestCase):
12     def test_design_if(self):
13         exp_desc = ExperimentDescription()
14         testbed_id = "netns"
15         provider = FactoriesProvider(testbed_id)
16         tstbd_desc = exp_desc.add_testbed_description(provider)
17         tstbd_desc.set_attribute_value("enableDebug", True)
18         node1 = tstbd_desc.create("Node")
19         node2 = tstbd_desc.create("Node")
20         iface1 = tstbd_desc.create("NodeInterface")
21         iface1.set_attribute_value("up", True)
22         node1.connector("devs").connect(iface1.connector("node"))
23         ip1 = iface1.add_address()
24         ip1.set_attribute_value("Address", "10.0.0.1")
25         iface2 = tstbd_desc.create("NodeInterface")
26         iface2.set_attribute_value("up", True)
27         node2.connector("devs").connect(iface2.connector("node"))
28         ip2 = iface2.add_address()
29         ip2.set_attribute_value("Address", "10.0.0.2")
30         switch = tstbd_desc.create("Switch")
31         switch.set_attribute_value("up", True)
32         iface1.connector("switch").connect(switch.connector("devs"))
33         iface2.connector("switch").connect(switch.connector("devs"))
34         app = tstbd_desc.create("Application")
35         app.set_attribute_value("command", "ping -qc10 10.0.0.2")
36         app.connector("node").connect(node1.connector("apps"))
37         xml = exp_desc.to_xml()
38         exp_desc2 = ExperimentDescription()
39         exp_desc2.from_xml(xml)
40         xml2 = exp_desc2.to_xml()
41         self.assertTrue(xml == xml2)
42         
43 if __name__ == '__main__':
44     unittest.main()