Step 1: Move vm scripts to the right place
[integration/test.git] / tools / Robot_Tool / libraries / ArpHandler.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 *  # noqa
11 from testmodule import TestModule
12
13 sys.path.remove('..')
14
15
16 class ArpHandler(TestModule):
17     """
18     Test for the arp handler.
19     Start 2-layer tree topology network. e.g., in Mininet, run
20         'sudo mn --controller=remote,ip=127.0.0.1 --mac --topo tree,2'
21     """
22
23     def __init__(self, restSubContext='/controller/nb/v2/subnetservice', user=DEFAULT_USER, password=DEFAULT_PWD,
24                  container=DEFAULT_CONTAINER, contentType='json', prefix=DEFAULT_PREFIX):
25         super(self.__class__, self).__init__(restSubContext, user, password, container, contentType, prefix)
26
27     def get_subnets(self):
28         """
29         The name is suggested to match the NB API.
30         list all subnets and their properties.
31         """
32         return super(self.__class__, self).get_entries('subnets')
33
34     def add_subnet_gateway(self, name, body):
35         """
36         Add a subnet gateway.
37         """
38         super(self.__class__, self).add_entry('subnet', name, body)
39
40     def remove_subnet_gateway(self, name):
41         """
42         Remove a subnet gateway.
43         """
44         super(self.__class__, self).remove_entry('subnet', name)
45
46     def test_subnet_operations(self, name, body):
47         """
48         Test subnet operations, like adding and removeing a subnet.
49         >>> ArpHandler().test_subnet_operations('test',{'name':'test','subnet':'10.0.0.254/8'})
50         True
51         """
52         return super(self.__class__, self).test_add_remove_operations('subnets', 'subnet', name, body, 'subnetConfig')
53
54
55 if __name__ == '__main__':
56     print 'arp handler'