First test case for Switch Manager
[integration/test.git] / test / csit / 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 import string
7 import robot
8 from robot.libraries.BuiltIn import BuiltIn
9
10 class Topology(object):
11     '''
12     Topology class provide topology database and provide many method to get property of topology.
13     '''
14     topo_nodes_db=[[],
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'},{u'type': u'OF', u'id': u'00:00:00:00:00:00:00:02'},{u'type': u'OF', u'id': u'00:00:00:00:00:00:00:03'}]]
17     def __init__(self):
18         self.builtin = BuiltIn()
19
20     def get_nodes_from_topology(self,topo_level):
21         '''
22         get nodes from topology database by topology tree level
23         '''
24         if isinstance(topo_level, str) or isinstance(topo_level, unicode):
25             if topo_level.isdigit():
26                 topo_level=int(topo_level)
27                 if topo_level <= 0:
28                     return None
29                 return self.topo_nodes_db[topo_level]
30             else:
31                 return None
32         elif isinstance(topo_level, int):
33             if topo_level <= 0:
34                 return None
35             return self.topo_nodes_db[topo_level]
36         else:
37             return None
38
39 if __name__ == '__main__':
40     topology = Topology()
41     print topology.get_nodes_from_topology(2)
42     print topology.get_nodes_from_topology('2')