diff options
| author | Jan Tuomi <jan-sebastian.tuomi@aalto.fi> | 2016-07-18 00:01:25 +0300 |
|---|---|---|
| committer | Jan Tuomi <jan-sebastian.tuomi@aalto.fi> | 2016-07-18 00:01:25 +0300 |
| commit | e1b2b62b20266cbebb266b6089215fb46d968a18 (patch) | |
| tree | 35d525d30e9a8656a1e4391523333ea7aa5cd4c9 | |
| parent | 46380f5907c6e8e9e0e655d064dececb0978a3ce (diff) | |
Add mock http server for api tests, response logging
| -rw-r--r-- | botmanager.py | 3 | ||||
| -rw-r--r-- | mock_http_server.py | 49 |
2 files changed, 52 insertions, 0 deletions
diff --git a/botmanager.py b/botmanager.py index c889e49..32fa69f 100644 --- a/botmanager.py +++ b/botmanager.py @@ -44,8 +44,11 @@ class BotManager(object): try: r = requests.get(self.shoutbox_api_url) logging.info("Response from API OK.") + logging.info("Messages:") + logging.info(r.text) except: logging.warning("Failed to get response from API!") + traceback.print_exc(2) return def default_action(self, chat_id): diff --git a/mock_http_server.py b/mock_http_server.py new file mode 100644 index 0000000..6d2fff7 --- /dev/null +++ b/mock_http_server.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python + +import sys +import http.server +from http.server import SimpleHTTPRequestHandler + +''' +Mock HTTP server to test +shoutbox api requests. + +Copyright: linuxjournal.com +Source: http://www.linuxjournal.com/content/tech-tip-really-simple-http-server-python +''' + +class MyHandler(SimpleHTTPRequestHandler): + def do_HEAD(self): + self.send_response(200) + self.send_header("Content-type", "application/json") + self.end_headers() + + def do_GET(self): + """Respond to a GET request.""" + self.send_response(200) + self.send_header("Content-type", "application/json") + self.end_headers() + + body = """{ + \"message\":\"test message\" + \"user\":\"test user\" + }""" + + self.wfile.write(body.encode()) + +HandlerClass = MyHandler +ServerClass = http.server.HTTPServer +Protocol = "HTTP/1.0" + +if sys.argv[1:]: + port = int(sys.argv[1]) +else: + port = 8000 +server_address = ('127.0.0.1', port) + +HandlerClass.protocol_version = Protocol +httpd = ServerClass(server_address, HandlerClass) + +sa = httpd.socket.getsockname() +print("Serving HTTP on", sa[0], "port", sa[1], "...") +httpd.serve_forever() |
