Step 1: Move vm scripts to the right place
[integration/test.git] / test / tools / Robot_Tool / libraries / Topology.py
1 """
2 Library for the robot based system test tool of the OpenDaylight project.
3 Authors: Baohua Yang@IBM, Denghui Huang@IBM
4 Updated: 2013-11-10
5 """
6 from robot.libraries.BuiltIn import BuiltIn
7
8
9 class Topology(object):
10     '''
11     Topology class provide topology database and provide many method to get property of topology.
12     '''
13     topo_nodes_db = [
14         [],
15         [{u'type': u'OF', u'id': u'00:00:00:00:00:00:00:01'}],
16         [{u'type': u'OF', u'id': u'00:00:00:00:00:00:00:01'},
17          {u'type': u'OF', u'id': u'00:00:00:00:00:00:00:02'},
18          {u'type': u'OF', u'id': u'00:00:00:00:00:00:00:03'}]]
19
20     def __init__(self):
21         self.builtin = BuiltIn()
22
23     def get_nodes_from_topology(self, topo_level):
24         '''
25         get nodes from topology database by topology tree level
26         '''
27         if isinstance(topo_level, str) or isinstance(topo_level, unicode):
28             if topo_level.isdigit():
29                 topo_level = int(topo_level)
30                 if topo_level <= 0:
31                     return None
32                 return self.topo_nodes_db[topo_level]
33             else:
34                 return None
35         elif isinstance(topo_level, int):
36             if topo_level <= 0:
37                 return None
38             return self.topo_nodes_db[topo_level]
39         else:
40             return None
41
42 if __name__ == '__main__':
43     topology = Topology()
44     print topology.get_nodes_from_topology(2)
45     print topology.get_nodes_from_topology('2')