@@ -35,6 +35,30 @@ def test_default_query_paramater(app):
35
35
assert response .get_json () == {"foo" : "bar" }
36
36
37
37
38
+ def test_query_string_value_prefix (app ):
39
+ app .config ["JWT_QUERY_STRING_VALUE_PREFIX" ] = "bearer "
40
+ test_client = app .test_client ()
41
+
42
+ with app .test_request_context ():
43
+ access_token = create_access_token ("username" )
44
+
45
+ # Valid string prefix
46
+ url = f"/protected?jwt=bearer { access_token } "
47
+ response = test_client .get (url )
48
+ assert response .status_code == 200
49
+ assert response .get_json () == {"foo" : "bar" }
50
+
51
+ # Invalid string prefix
52
+ url = f"/protected?jwt={ access_token } "
53
+ response = test_client .get (url )
54
+ error_msg = (
55
+ "Invalid value for query parameter 'jwt'. "
56
+ "Expected the value to start with 'bearer '"
57
+ )
58
+ assert response .status_code == 422
59
+ assert response .get_json () == {"msg" : error_msg }
60
+
61
+
38
62
def test_custom_query_paramater (app ):
39
63
app .config ["JWT_QUERY_STRING_NAME" ] = "foo"
40
64
test_client = app .test_client ()
@@ -46,7 +70,7 @@ def test_custom_query_paramater(app):
46
70
url = "/protected?jwt={}" .format (access_token )
47
71
response = test_client .get (url )
48
72
assert response .status_code == 401
49
- assert response .get_json () == {"msg" : ' Missing " foo" query paramater' }
73
+ assert response .get_json () == {"msg" : " Missing ' foo' query paramater" }
50
74
51
75
# Insure new query_string does work
52
76
url = "/protected?foo={}" .format (access_token )
@@ -65,13 +89,13 @@ def test_missing_query_paramater(app):
65
89
# Insure no query paramaters doesn't give a response
66
90
response = test_client .get ("/protected" )
67
91
assert response .status_code == 401
68
- assert response .get_json () == {"msg" : ' Missing " jwt" query paramater' }
92
+ assert response .get_json () == {"msg" : " Missing ' jwt' query paramater" }
69
93
70
94
# Insure headers don't work
71
95
access_headers = {"Authorization" : "Bearer {}" .format (access_token )}
72
96
response = test_client .get ("/protected" , headers = access_headers )
73
97
assert response .status_code == 401
74
- assert response .get_json () == {"msg" : ' Missing " jwt" query paramater' }
98
+ assert response .get_json () == {"msg" : " Missing ' jwt' query paramater" }
75
99
76
100
# Test custom response works
77
101
@jwtM .unauthorized_loader
0 commit comments