webssh

Web based ssh client https://github.com/huashengdun/webssh webssh.huashengdun.org/
git clone http://git.hanabi.in/repos/webssh.git
Log | Files | Refs | README | LICENSE

commit acc3b47ec6d29e2e65525deaabff234a695e5bb4
parent 5dd08a72a56a12259c9061ccb0a2a0cbd209dea8
Author: Sheng <webmaster0115@gmail.com>
Date:   Tue, 24 Apr 2018 09:59:51 +0800

Added test_handler.py

Diffstat:
Atests/test_handler.py | 37+++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+), 0 deletions(-)

diff --git a/tests/test_handler.py b/tests/test_handler.py @@ -0,0 +1,37 @@ +import unittest + +from handler import MixinHandler + + +class RequestMock(object): + + def __init__(self): + self.headers = {} + + def set_ip(self, ip): + self.headers['X-Real-Ip'] = ip + + def set_port(self, port): + self.headers['X-Real-Port'] = port + + +class TestMixinHandler(unittest.TestCase): + + def test_get_real_client_addr(self): + handler = MixinHandler() + handler.request = RequestMock() + self.assertIsNone(handler.get_real_client_addr()) + + ip = '127.0.0.1' + handler.request.set_ip(ip) + with self.assertLogs() as cm: + handler.get_real_client_addr() + self.assertEqual(cm.output, ['WARNING:root:Bad nginx configuration.']) + + handler.request.set_port('12345x') + with self.assertLogs() as cm: + handler.get_real_client_addr() + self.assertEqual(cm.output, ['WARNING:root:Bad nginx configuration.']) + + handler.request.set_port('12345') + self.assertEqual(handler.get_real_client_addr(), (ip, 12345))