Move CSIT to integration/csit repo
[integration/csit.git] / tests / dcaegen2 / prh-testcases / resources / simulator / AAI.py
1 from http.server import BaseHTTPRequestHandler
2 from http.server import HTTPServer
3 import re
4 import sys
5
6 pnfs = 'Empty'
7
8
9 class AAIHandler(BaseHTTPRequestHandler):
10
11     def do_PUT(self):
12         if re.search('/set_pnfs', self.path):
13             global pnfs
14             content_length = int(self.headers['Content-Length'])
15             pnfs = self.rfile.read(content_length)
16             _header_200_and_json(self)
17             
18         return
19
20     def do_PATCH(self):
21         pnfs_name = '/aai/v12/network/pnfs/pnf/' + pnfs.decode()
22         if re.search('wrong_aai_record', self.path):
23             self.send_response(400)
24             self.end_headers()
25         elif re.search(pnfs_name, self.path):
26             self.send_response(200)
27             self.end_headers()
28             
29         return
30
31
32 def _header_200_and_json(self):
33     self.send_response(200)
34     self.send_header('Content-Type', 'application/json')
35     self.end_headers()
36
37
38 def _main_(handler_class=AAIHandler, server_class=HTTPServer, protocol="HTTP/1.0"):
39
40     if sys.argv[1:]:
41         port = int(sys.argv[1])
42     else:
43         port = 3333
44
45     server_address = ('', port)
46
47     handler_class.protocol_version = protocol
48     httpd = server_class(server_address, handler_class)
49
50     sa = httpd.socket.getsockname()
51     print("Serving HTTP on", sa[0], "port", sa[1], "...")
52     httpd.serve_forever()
53
54
55 if __name__ == '__main__':
56     _main_()