# paperdoorknob: Print glowfic # # This program is free software: you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the # Free Software Foundation, version 3. import unittest import threading from http.server import BaseHTTPRequestHandler, HTTPServer import paperdoorknob TIMEOUT = 8 class FakeGlowficHTTPRequestHandler(BaseHTTPRequestHandler): def do_GET(self) -> None: body = b'This is glowfic' self.send_response(200) self.send_header("Content-type", "text/html") self.send_header("Content-Length", str(len(body))) self.end_headers() self.wfile.write(body) class TestFetch(unittest.TestCase): def setUp(self) -> None: web_server = HTTPServer(('', 0), FakeGlowficHTTPRequestHandler) self._port = web_server.socket.getsockname()[1] threading.Thread(target=web_server.serve_forever).start() self._stop_server = web_server.shutdown def tearDown(self) -> None: self._stop_server() def testFetch(self) -> None: paperdoorknob.fetch(f"http://localhost:{self._port}", TIMEOUT) if __name__ == '__main__': unittest.main()