diff --git a/tests/test_main.py b/tests/test_main.py new file mode 100644 index 0000000..0dedbbd --- /dev/null +++ b/tests/test_main.py @@ -0,0 +1,45 @@ +import unittest + +from tornado.web import Application +from webssh.handler import open_to_public +from webssh.main import app_listen + + +class TestMain(unittest.TestCase): + + def test_app_listen(self): + app = Application() + app.listen = lambda x, y, **kwargs: 1 + open_to_public['https'] = None + open_to_public['http'] = None + + server_settings = dict(ssl_options=False) + app_listen(app, 80, '127.0.0.1', server_settings) + self.assertEqual(open_to_public['http'], False) + self.assertIsNone(open_to_public['https']) + open_to_public['http'] = None + + server_settings = dict(ssl_options=False) + app_listen(app, 80, '0.0.0.0', server_settings) + self.assertEqual(open_to_public['http'], True) + self.assertIsNone(open_to_public['https']) + open_to_public['http'] = None + + server_settings = dict(ssl_options=True) + app_listen(app, 443, '127.0.0.1', server_settings) + self.assertEqual(open_to_public['https'], False) + self.assertIsNone(open_to_public['http']) + open_to_public['https'] = None + + server_settings = dict(ssl_options=True) + app_listen(app, 443, '0.0.0.0', server_settings) + self.assertEqual(open_to_public['https'], True) + self.assertIsNone(open_to_public['http']) + open_to_public['https'] = None + + server_settings = dict(ssl_options=False) + app_listen(app, 80, '0.0.0.0', server_settings) + server_settings = dict(ssl_options=True) + app_listen(app, 443, '0.0.0.0', server_settings) + self.assertEqual(open_to_public['https'], True) + self.assertEqual(open_to_public['http'], True) diff --git a/webssh/handler.py b/webssh/handler.py index 09665f8..f9bfd0d 100644 --- a/webssh/handler.py +++ b/webssh/handler.py @@ -43,6 +43,7 @@ open_to_public = { def config_open_to_public(address, server_type): status = True if is_name_open_to_public(address) else False + logging.debug('{} server open to public: {}'.format(server_type, status)) open_to_public[server_type] = status