@@ -35,6 +35,30 @@ def test_default_query_paramater(app):
3535 assert response .get_json () == {"foo" : "bar" }
3636
3737
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+
3862def test_custom_query_paramater (app ):
3963 app .config ["JWT_QUERY_STRING_NAME" ] = "foo"
4064 test_client = app .test_client ()
@@ -46,7 +70,7 @@ def test_custom_query_paramater(app):
4670 url = "/protected?jwt={}" .format (access_token )
4771 response = test_client .get (url )
4872 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" }
5074
5175 # Insure new query_string does work
5276 url = "/protected?foo={}" .format (access_token )
@@ -65,13 +89,13 @@ def test_missing_query_paramater(app):
6589 # Insure no query paramaters doesn't give a response
6690 response = test_client .get ("/protected" )
6791 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" }
6993
7094 # Insure headers don't work
7195 access_headers = {"Authorization" : "Bearer {}" .format (access_token )}
7296 response = test_client .get ("/protected" , headers = access_headers )
7397 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" }
7599
76100 # Test custom response works
77101 @jwtM .unauthorized_loader
0 commit comments