Remove obsolete start scripts
[integration/csit.git] / tests / dcaegen2 / prh-testcases / resources / simulator / DMaaP.py
1 import logging
2 import re
3 import sys
4 import time
5 from http.server import BaseHTTPRequestHandler
6 import httpServerLib
7
8 ch = logging.StreamHandler(sys.stdout)
9 handlers = [ch]
10 logging.basicConfig(
11     level=logging.DEBUG,
12     format='[%(asctime)s] {%(filename)s:%(lineno)d} %(levelname)s - %(message)s',
13     handlers=handlers
14 )
15
16 logger = logging.getLogger('DMaaP-simulator-logger')
17
18 DMAAP_EMPTY = b'[]'
19
20 ves_event = DMAAP_EMPTY
21 captured_prh_event = DMAAP_EMPTY
22
23 class DmaapSetup(BaseHTTPRequestHandler):
24
25     def do_GET(self):
26         try:
27             if re.search('/setup/pnf_ready', self.path):
28                 global captured_prh_event
29                 httpServerLib.set_response_200_ok(self, payload = captured_prh_event)
30                 logger.debug('DmaapSetup GET /setup/pnf_ready -> 200 OK')
31             else:
32                 httpServerLib.set_response_404_not_found(self)
33                 logger.info('DmaapSetup GET ' + self.path + ' -> 404 Not found')
34         except Exception as e:
35             logger.error(e)
36             httpServerLib.set_response_500_server_error(self)
37
38     def do_PUT(self):
39         try:
40             if re.search('/setup/ves_event', self.path):
41                 global ves_event
42                 ves_event = httpServerLib.get_payload(self)
43                 httpServerLib.set_response_200_ok(self)
44                 logger.debug('DmaapSetup PUT /setup/ves_event -> 200 OK, content: ' + ves_event.decode("utf-8"))
45             else:
46                 httpServerLib.set_response_404_not_found(self)
47                 logger.info('DmaapSetup PUT ' + self.path + ' -> 404 Not found')
48         except Exception as e:
49             logger.error(e)
50             httpServerLib.set_response_500_server_error(self)
51
52     def do_POST(self):
53         try:
54             if re.search('/reset', self.path):
55                 global ves_event
56                 global captured_prh_event
57                 ves_event = DMAAP_EMPTY
58                 captured_prh_event = DMAAP_EMPTY
59                 httpServerLib.set_response_200_ok(self)
60                 logger.debug('DmaapSetup POST /reset -> 200 OK')
61             else:
62                 httpServerLib.set_response_404_not_found(self)
63                 logger.info('DmaapSetup POST ' + self.path + ' -> 404 Not found')
64         except Exception as e:
65             logger.error(e)
66             httpServerLib.set_response_500_server_error(self)
67
68 class DMaaPHandler(BaseHTTPRequestHandler):
69
70     def do_POST(self):
71         try:
72             if re.search('/events/unauthenticated.PNF_READY', self.path):
73                 global captured_prh_event
74                 captured_prh_event = httpServerLib.get_payload(self)
75                 httpServerLib.set_response_200_ok(self)
76                 logger.debug('DMaaPHandler POST /events/unauthenticated.PNF_READY -> 200, content: '
77                              + captured_prh_event.decode("utf-8"))
78             else:
79                 httpServerLib.set_response_404_not_found(self)
80                 logger.info('DMaaPHandler POST ' + self.path + ' -> 404 Not found')
81         except Exception as e:
82             logger.error(e)
83             httpServerLib.set_response_500_server_error(self)
84
85     def do_GET(self):
86         try:
87             if re.search('/events/unauthenticated.VES_PNFREG_OUTPUT/OpenDCAE-c12/c12', self.path):
88                 global ves_event
89                 httpServerLib.set_response_200_ok(self, payload = ves_event)
90                 logger.debug(
91                     'DMaaPHandler GET /events/unauthenticated.VES_PNFREG_OUTPUT/OpenDcae-c12/c12 -> 200, content: '
92                     + ves_event.decode("utf-8"))
93                 ves_event = DMAAP_EMPTY
94                 logger.debug('DMaaPHandler GET /events/unauthenticated.VES_PNFREG_OUTPUT/OpenDcae-c12/c12 -> 200')
95             else:
96                 httpServerLib.set_response_404_not_found(self)
97                 logger.info('DMaaPHandler GET ' + self.path + ' -> 404 Not found')
98         except Exception as e:
99             logger.error(e)
100             httpServerLib.set_response_500_server_error(self)
101
102 def _main_(handler_class=DMaaPHandler, protocol="HTTP/1.0"):
103     handler_class.protocol_version = protocol
104     httpServerLib.start_http_endpoint(2222, DMaaPHandler)
105     httpServerLib.start_https_endpoint(2223, DMaaPHandler, keyfile="certs/dmaap-mr.key", certfile="certs/dmaap-mr.crt", ca_certs="certs/root.crt")
106     httpServerLib.start_http_endpoint(2224, DmaapSetup)
107     while 1:
108         time.sleep(10)
109
110 if __name__ == '__main__':
111     _main_()