Fix for jenkins job
[integration.git] / test / csit / tests / dcaegen2 / prh-testcases / resources / simulator / DMaaP.py
1 import BaseHTTPServer
2 import re
3 import sys
4
5 from robot.api import logger
6
7 posted_event_from_prh = 'Empty'
8 received_event_to_get_method = 'Empty'
9
10 class DMaaPHandler(BaseHTTPServer.BaseHTTPRequestHandler):
11     def do_PUT(self):
12         if re.search('/set_get_event', self.path):
13             global received_event_to_get_method
14             posted_event_from_prh = 'Empty'
15             content_length = int(self.headers['Content-Length'])
16             received_event_to_get_method = self.rfile.read(content_length)
17             self.send_response(200)
18             self.send_header('Content-Type', 'application/json')
19             self.end_headers()
20             
21         return
22
23     def do_POST(self):
24         if re.search('/events/unauthenticated.PNF_READY', self.path):
25             global posted_event_from_prh
26             content_length = int(self.headers['Content-Length'])
27             posted_event_from_prh = self.rfile.read(content_length)
28             self.send_response(200)
29             self.send_header('Content-Type', 'application/json')
30             self.end_headers()
31             
32         return
33
34     def do_GET(self):
35         if re.search('/events/unauthenticated.SEC_OTHER_OUTPUT/OpenDcae-c12/c12', self.path):
36             self.send_response(200)
37             self.send_header('Content-Type', 'application/json')
38             self.end_headers()
39             self.wfile.write(received_event_to_get_method)
40             self.wfile.close()
41         elif re.search('/events/pnfReady', self.path):
42             self.send_response(200)
43             self.send_header('Content-Type', 'application/json')
44             self.end_headers()
45             self.wfile.write(posted_event_from_prh)
46             self.wfile.close()
47         else:
48             self.send_response(200)
49             self.send_header('Content-Type', 'application/json')
50             self.end_headers()
51             self.wfile.write('GET else')
52             self.wfile.close()
53             
54         return
55
56 def _main_ (HandlerClass = DMaaPHandler, ServerClass = BaseHTTPServer.HTTPServer, protocol="HTTP/1.0"):
57
58     if sys.argv[1:]:
59         port = int(sys.argv[1])
60     else:
61         port = 2222
62
63     server_address = ('', port)
64
65     HandlerClass.protocol_version = protocol
66     httpd = ServerClass(server_address, HandlerClass)
67
68     sa = httpd.socket.getsockname()
69     print "Serving HTTP on", sa[0], "port", sa[1], "..."
70     httpd.serve_forever()
71
72 if __name__ == '__main__':
73     _main_()