Added test_main.py to tests

pull/38/head
Sheng 2018-10-23 22:56:18 +08:00
parent 2755a9871c
commit 4525f50b11
2 changed files with 46 additions and 0 deletions

45
tests/test_main.py Normal file
View File

@ -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)

View File

@ -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