Init the test directory with CSIT_Test tool code.
[integration/test.git] / test / tools / CSIT_Test / base / cases / forwarding_manager.py
1 """
2 CSIT test tools.
3 Authors: Baohua Yang@IBM, Denghui Huang@IBM
4 Updated: 2013-11-01
5 """
6
7 import sys
8
9 sys.path.append('..')
10 from restlib import *
11 from testmodule import TestModule
12
13 sys.path.remove('..')
14
15
16 class ForwardingManager(TestModule):
17     """
18     Test for the forwarding manager.
19     Start 2-layer tree topology network. e.g., in Mininet, run  'sudo mn --controller=remote,ip=127.0.0.1 --mac --topo tree,2'
20     """
21     def __init__(self,restSubContext='/controller/nb/v2/staticroute',user=DEFAULT_USER, password=DEFAULT_PWD,container=DEFAULT_CONTAINER,contentType='json',prefix=DEFAULT_PREFIX):
22        super(self.__class__,self).__init__(restSubContext,user,password,container,contentType,prefix)
23
24     def get_routes(self):
25         """
26         The name is suggested to match the NB API.
27         list all routes
28         """
29         return super(self.__class__, self).get_entries('routes')
30
31     def add_static_route(self, name, body):
32         """
33         Add a static route.
34         """
35         r = super(self.__class__, self).add_entry('route', name, body)
36
37     def remove_static_route(self, name):
38         """
39         Remove a static route
40         """
41         r = super(self.__class__, self).remove_entry('route', name)
42
43     def test_static_route_operations(self, name, body):
44         """
45         Test static route operations, like adding and removeing a route.
46         >>> ForwardingManager().test_static_route_operations('route1',{'name':'route1','prefix':'192.168.1.0/24','nextHop':'10.0.0.2'})
47         True
48         """
49         return super(self.__class__, self).test_add_remove_operations('routes', 'route', name, body, 'staticRoute')