aboutsummaryrefslogtreecommitdiffstats
path: root/tests/vid/resources/simulators/SO.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/vid/resources/simulators/SO.py')
-rw-r--r--tests/vid/resources/simulators/SO.py45
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/vid/resources/simulators/SO.py b/tests/vid/resources/simulators/SO.py
new file mode 100644
index 00000000..edc15f62
--- /dev/null
+++ b/tests/vid/resources/simulators/SO.py
@@ -0,0 +1,45 @@
+import logging
+from http.server import BaseHTTPRequestHandler, HTTPServer
+
+DEFAULT_PORT = 8443
+
+
+class SOHandler(BaseHTTPRequestHandler):
+
+ def __init__(self, request, client_address, server):
+ self.response_on_get = self._read_on_get_response()
+ super().__init__(request, client_address, server)
+
+ def do_POST(self):
+ logging.info('POST called')
+ self.send_response(200)
+ self._set_headers()
+
+ self.wfile.write(self.response_on_get.encode("utf-8"))
+ return
+
+ def do_GET(self):
+ logging.info('GET called')
+ self.send_response(200)
+ self._set_headers()
+
+ self.wfile.write(self.response_on_get.encode("utf-8"))
+ return
+
+ def _set_headers(self):
+ self.send_header('Content-Type', 'application/json')
+ self.end_headers()
+
+ @staticmethod
+ def _read_on_get_response():
+ with open('so_post_response.json', 'r') as file:
+ return file.read()
+
+
+if __name__ == '__main__':
+ logging.basicConfig(filename='output.log', level=logging.INFO)
+ SOHandler.protocol_version = "HTTP/1.0"
+
+ httpd = HTTPServer(('', DEFAULT_PORT), SOHandler)
+ logging.info("serving on: " + str(httpd.socket.getsockname()))
+ httpd.serve_forever()