fix #1249: catch exceptions when requesting with disabling allow_redirects

This commit is contained in:
debugtalk
2022-04-18 13:08:25 +08:00
parent 1572aced95
commit 9157401c3a
5 changed files with 76 additions and 5 deletions

View File

@@ -3,6 +3,7 @@ import unittest
from httprunner import loader
from httprunner.cli import main_run
from httprunner.client import HttpSession
from httprunner.runner import HttpRunner
@@ -38,3 +39,68 @@ class TestHttpRunner(unittest.TestCase):
self.assertTrue(os.path.exists("tests/data/debugtalk.py"))
self.assertTrue(os.path.exists("tests/data/a_b_c/T1_test.py"))
self.assertTrue(os.path.exists("tests/data/a_b_c/T2_3_test.py"))
class TestHttpSession(unittest.TestCase):
def setUp(self):
self.session = HttpSession()
def test_request_http(self):
self.session.request("get", "http://httpbin.org/get")
address = self.session.data.address
self.assertGreater(len(address.server_ip), 0)
self.assertEqual(address.server_port, 80)
self.assertGreater(len(address.client_ip), 0)
self.assertGreater(address.client_port, 10000)
def test_request_https(self):
self.session.request("get", "https://httpbin.org/get")
address = self.session.data.address
self.assertGreater(len(address.server_ip), 0)
self.assertEqual(address.server_port, 443)
self.assertGreater(len(address.client_ip), 0)
self.assertGreater(address.client_port, 10000)
def test_request_http_allow_redirects(self):
self.session.request(
"get",
"http://httpbin.org/redirect-to?url=https%3A%2F%2Fgithub.com",
allow_redirects=True)
address = self.session.data.address
self.assertNotEqual(address.server_ip, "N/A")
self.assertEqual(address.server_port, 443)
self.assertNotEqual(address.server_ip, "N/A")
self.assertGreater(address.client_port, 10000)
def test_request_https_allow_redirects(self):
self.session.request(
"get",
"https://httpbin.org/redirect-to?url=https%3A%2F%2Fgithub.com",
allow_redirects=True)
address = self.session.data.address
self.assertNotEqual(address.server_ip, "N/A")
self.assertEqual(address.server_port, 443)
self.assertNotEqual(address.server_ip, "N/A")
self.assertGreater(address.client_port, 10000)
def test_request_http_not_allow_redirects(self):
self.session.request(
"get",
"http://httpbin.org/redirect-to?url=https%3A%2F%2Fgithub.com",
allow_redirects=False)
address = self.session.data.address
self.assertEqual(address.server_ip, "N/A")
self.assertEqual(address.server_port, 0)
self.assertEqual(address.client_ip, "N/A")
self.assertEqual(address.client_port, 0)
def test_request_https_not_allow_redirects(self):
self.session.request(
"get",
"https://httpbin.org/redirect-to?url=https%3A%2F%2Fgithub.com",
allow_redirects=False)
address = self.session.data.address
self.assertEqual(address.server_ip, "N/A")
self.assertEqual(address.server_port, 0)
self.assertEqual(address.client_ip, "N/A")
self.assertEqual(address.client_port, 0)