mirror of https://github.com/huashengdun/webssh
Sheng
7 years ago
1 changed files with 37 additions and 0 deletions
@ -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)) |
Loading…
Reference in new issue