Skip to content

Commit 271b6ec

Browse files
yangmengerAddisonGao
authored andcommitted
Add Feature verify parameter name (#9)
* verify_parameter_name * rename test file * modify test data * update verify parameter name
1 parent afa55a4 commit 271b6ec

File tree

4 files changed

+40
-7
lines changed

4 files changed

+40
-7
lines changed

lyrebird_api_coverage/client/url_compare.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,13 @@
44
# TODO 校验URL是否相等 需要把{num}情况一起放在这里解决
55

66
def compare_query(url_org, url_compare):
7-
parts_org = set(parse.parse_qsl(parse.urlparse(url_org).query))
8-
parts_compare = set(parse.parse_qsl(parse.urlparse(url_compare).query))
9-
if parts_org.issubset(parts_compare):
10-
return True
7+
param_org = parse.parse_qs(parse.urlparse(url_org).query, True)
8+
param_compare = parse.parse_qs(parse.urlparse(url_compare).query, True)
9+
for key, value in param_org.items():
10+
if not (key in param_compare):
11+
return False
12+
if value[0].strip():
13+
if not param_compare[key] == value:
14+
return False
15+
return True
1116

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
setup(
1010
name='lyrebird-api-coverage',
11-
version='0.2.4',
11+
version='0.2.5',
1212
packages=['lyrebird_api_coverage'],
1313
url='https://github.com/meituan/lyrebird-api-coverage',
1414
author='HBQA',

tests/test_coverage.py

Lines changed: 0 additions & 2 deletions
This file was deleted.
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
from lyrebird_api_coverage.client.url_compare import compare_query
2+
3+
4+
base_url1 = "abc.test.com/test?a=2&b=&c="
5+
base_url2 = "abc.test.com/test?a=&c=&b="
6+
base_url3 = "abc.test.com/test?a=2&b=c&c="
7+
base_url4 = "abc.test.com/test?a=2&b=3&c=e"
8+
base_url5 = "abc.test.com/test?a=4&b="
9+
req_url_1 = "http://abc.test.com/test?a=2&c=e&b=d"
10+
req_url_2 = "http://abc.test.com/test?a=2&b=d&c=e"
11+
req_url_3 = "http://abc.test.com/test?a=2&b=c"
12+
req_url_4 = "http://abc.test.com/test?a=2&b=3&c="
13+
req_url_5 = "http://abc.test.com/test?a=4&b=&c=e&f=q"
14+
15+
16+
def test_compare():
17+
result1 = compare_query(base_url1, req_url_1)
18+
assert result1
19+
20+
result2 = compare_query(base_url2, req_url_2)
21+
assert result2
22+
23+
result3 = compare_query(base_url3, req_url_3)
24+
assert not result3
25+
26+
result4 = compare_query(base_url4, req_url_4)
27+
assert not result4
28+
29+
result5 = compare_query(base_url5, req_url_5)
30+
assert result5

0 commit comments

Comments
 (0)