mirror of
https://github.com/httprunner/httprunner.git
synced 2026-07-07 23:41:22 +08:00
fix #1339: omit pseudo header names for HTTP/1, e.g. :authority, :method, :path, :schema
This commit is contained in:
@@ -16,6 +16,7 @@
|
|||||||
- feat: support skip for pytest
|
- feat: support skip for pytest
|
||||||
- feat: print request and response details in DEBUG level when running API cases
|
- feat: print request and response details in DEBUG level when running API cases
|
||||||
- fix: support None/dict/list format when printing sql response
|
- fix: support None/dict/list format when printing sql response
|
||||||
|
- fix: omit pseudo header names for HTTP/1, e.g. :authority, :method, :path, :schema
|
||||||
|
|
||||||
## v4.1.3 (2022-06-14)
|
## v4.1.3 (2022-06-14)
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,10 @@ teststeps:
|
|||||||
foo1: bar1
|
foo1: bar1
|
||||||
foo2: bar2
|
foo2: bar2
|
||||||
headers:
|
headers:
|
||||||
|
:authority: postman-echo.com
|
||||||
|
:method: POST
|
||||||
|
:path: /get
|
||||||
|
:schema: https
|
||||||
User-Agent: HttpRunner/3.0
|
User-Agent: HttpRunner/3.0
|
||||||
validate:
|
validate:
|
||||||
- eq: ["status_code", 200]
|
- eq: ["status_code", 200]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# NOTE: Generated By HttpRunner v4.1.3
|
# NOTE: Generated By HttpRunner v4.1.4
|
||||||
# FROM: request_methods/hardcode.yml
|
# FROM: request_methods/hardcode.yml
|
||||||
|
|
||||||
|
|
||||||
@@ -18,7 +18,15 @@ class TestCaseHardcode(HttpRunner):
|
|||||||
RunRequest("get with params")
|
RunRequest("get with params")
|
||||||
.get("/get")
|
.get("/get")
|
||||||
.with_params(**{"foo1": "bar1", "foo2": "bar2"})
|
.with_params(**{"foo1": "bar1", "foo2": "bar2"})
|
||||||
.with_headers(**{"User-Agent": "HttpRunner/3.0"})
|
.with_headers(
|
||||||
|
**{
|
||||||
|
":authority": "postman-echo.com",
|
||||||
|
":method": "POST",
|
||||||
|
":path": "/get",
|
||||||
|
":schema": "https",
|
||||||
|
"User-Agent": "HttpRunner/3.0",
|
||||||
|
}
|
||||||
|
)
|
||||||
.validate()
|
.validate()
|
||||||
.assert_equal("status_code", 200)
|
.assert_equal("status_code", 200)
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -93,10 +93,17 @@ def run_step_request(runner: HttpRunner, step: TStep) -> StepResult:
|
|||||||
request_dict = step.request.dict()
|
request_dict = step.request.dict()
|
||||||
request_dict.pop("upload", None)
|
request_dict.pop("upload", None)
|
||||||
parsed_request_dict = runner.parser.parse_data(request_dict, step_variables)
|
parsed_request_dict = runner.parser.parse_data(request_dict, step_variables)
|
||||||
parsed_request_dict["headers"].setdefault(
|
|
||||||
"HRUN-Request-ID",
|
request_headers = parsed_request_dict.pop("headers", {})
|
||||||
f"HRUN-{runner.case_id}-{str(int(time.time() * 1000))[-6:]}",
|
# omit pseudo header names for HTTP/1, e.g. :authority, :method, :path, :scheme
|
||||||
)
|
request_headers = {
|
||||||
|
key: request_headers[key] for key in request_headers if not key.startswith(":")
|
||||||
|
}
|
||||||
|
request_headers[
|
||||||
|
"HRUN-Request-ID"
|
||||||
|
] = f"HRUN-{runner.case_id}-{str(int(time.time() * 1000))[-6:]}"
|
||||||
|
parsed_request_dict["headers"] = request_headers
|
||||||
|
|
||||||
step_variables["request"] = parsed_request_dict
|
step_variables["request"] = parsed_request_dict
|
||||||
|
|
||||||
# setup hooks
|
# setup hooks
|
||||||
|
|||||||
Reference in New Issue
Block a user