Added 4 new TC
[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             content_length = int(self.headers['Content-Length'])
15             received_event_to_get_method = self.rfile.read(content_length)
16             self.send_response(200)
17             self.send_header('Content-Type', 'application/json')
18             self.end_headers()
19             
20         return
21         
22     def do_POST(self):
23         if re.search('/events/pnfReady', self.path):
24             global posted_event_from_prh
25             content_length = int(self.headers['Content-Length'])
26             posted_event_from_prh = self.rfile.read(content_length)
27             self.send_response(200)
28             self.send_header('Content-Type', 'application/json')
29             self.end_headers()
30
31         return
32   
33     def do_GET(self):
34         if re.search('/events/unauthenticated.SEC_OTHER_OUTPUT', self.path):
35             self.send_response(200)
36             self.send_header('Content-Type', 'application/json')
37             self.end_headers()
38             self.wfile.write(received_event_to_get_method)
39             self.wfile.close()
40         elif re.search('/events/pnfReady', self.path):
41             self.send_response(200)
42             self.send_header('Content-Type', 'application/json')
43             self.end_headers()
44             self.wfile.write(posted_event_from_prh)
45             global posted_event_from_prh
46             posted_event_from_prh = 'Empty'
47             self.wfile.close()
48         else:
49             self.send_response(200)
50             self.send_header('Content-Type', 'application/json')
51             self.end_headers()
52             self.wfile.write('GET else')
53             self.wfile.close()
54             
55         return
56
57 def _main_ (HandlerClass = DMaaPHandler,
58          ServerClass = BaseHTTPServer.HTTPServer, protocol="HTTP/1.0"):
59       
60     if sys.argv[1:]:
61         port = int(sys.argv[1])
62     else:
63         port = 2222
64          
65     server_address = ('', port)
66    
67     HandlerClass.protocol_version = protocol
68     httpd = ServerClass(server_address, HandlerClass)
69    
70     sa = httpd.socket.getsockname()
71     print "Serving HTTP on", sa[0], "port", sa[1], "..."
72     httpd.serve_forever()
73       
74 if __name__ == '__main__':
75     _main_()