@@ -41,8 +41,9 @@ def test_help(self, app, mocker):
41
41
)
42
42
parser = RequestParser ()
43
43
parser .add_argument ("foo" , choices = ("one" , "two" ), help = "Bad choice." )
44
- req = mocker .Mock (["values" ])
44
+ req = mocker .Mock (["values" , "get_json" ])
45
45
req .values = MultiDict ([("foo" , "three" )])
46
+ req .get_json .return_value = None
46
47
with pytest .raises (BadRequest ):
47
48
parser .parse_args (req )
48
49
expected = {
@@ -58,7 +59,8 @@ def test_no_help(self, app, mocker):
58
59
)
59
60
parser = RequestParser ()
60
61
parser .add_argument ("foo" , choices = ["one" , "two" ])
61
- req = mocker .Mock (["values" ])
62
+ req = mocker .Mock (["values" , "get_json" ])
63
+ req .get_json .return_value = None
62
64
req .values = MultiDict ([("foo" , "three" )])
63
65
with pytest .raises (BadRequest ):
64
66
parser .parse_args (req )
@@ -76,9 +78,9 @@ def test_viewargs(self, mocker):
76
78
args = parser .parse_args (req )
77
79
assert args ["foo" ] == "bar"
78
80
79
- req = mocker .Mock ()
81
+ req = mocker .Mock ([ "get_json" ] )
80
82
req .values = ()
81
- req .json = None
83
+ req .get_json . return_value = None
82
84
req .view_args = {"foo" : "bar" }
83
85
parser = RequestParser ()
84
86
parser .add_argument ("foo" , store_missing = True )
@@ -101,11 +103,12 @@ def test_parse_unicode_app(self, app):
101
103
args = parser .parse_args ()
102
104
assert args ["foo" ] == "barß"
103
105
104
- @pytest .mark .request_context ("/bubble" , method = "post" )
106
+ @pytest .mark .request_context (
107
+ "/bubble" , method = "post" , content_type = "application/json"
108
+ )
105
109
def test_json_location (self ):
106
110
parser = RequestParser ()
107
111
parser .add_argument ("foo" , location = "json" , store_missing = True )
108
-
109
112
args = parser .parse_args ()
110
113
assert args ["foo" ] is None
111
114
@@ -856,7 +859,8 @@ def test_source_bad_location(self, mocker):
856
859
assert len (arg .source (req )) == 0 # yes, basically you don't find it
857
860
858
861
def test_source_default_location (self , mocker ):
859
- req = mocker .Mock (["values" ])
862
+ req = mocker .Mock (["values" , "get_json" ])
863
+ req .get_json .return_value = None
860
864
req ._get_child_mock = lambda ** kwargs : MultiDict ()
861
865
arg = Argument ("foo" )
862
866
assert arg .source (req ) == req .values
@@ -910,28 +914,47 @@ def test_unknown_type(self):
910
914
parser = RequestParser ()
911
915
parser .add_argument ("unknown" , type = lambda v : v )
912
916
assert parser .__schema__ == [
913
- {"name" : "unknown" , "type" : "string" , "in" : "query" ,}
917
+ {
918
+ "name" : "unknown" ,
919
+ "type" : "string" ,
920
+ "in" : "query" ,
921
+ }
914
922
]
915
923
916
924
def test_required (self ):
917
925
parser = RequestParser ()
918
926
parser .add_argument ("int" , type = int , required = True )
919
927
assert parser .__schema__ == [
920
- {"name" : "int" , "type" : "integer" , "in" : "query" , "required" : True ,}
928
+ {
929
+ "name" : "int" ,
930
+ "type" : "integer" ,
931
+ "in" : "query" ,
932
+ "required" : True ,
933
+ }
921
934
]
922
935
923
936
def test_default (self ):
924
937
parser = RequestParser ()
925
938
parser .add_argument ("int" , type = int , default = 5 )
926
939
assert parser .__schema__ == [
927
- {"name" : "int" , "type" : "integer" , "in" : "query" , "default" : 5 ,}
940
+ {
941
+ "name" : "int" ,
942
+ "type" : "integer" ,
943
+ "in" : "query" ,
944
+ "default" : 5 ,
945
+ }
928
946
]
929
947
930
948
def test_default_as_false (self ):
931
949
parser = RequestParser ()
932
950
parser .add_argument ("bool" , type = inputs .boolean , default = False )
933
951
assert parser .__schema__ == [
934
- {"name" : "bool" , "type" : "boolean" , "in" : "query" , "default" : False ,}
952
+ {
953
+ "name" : "bool" ,
954
+ "type" : "boolean" ,
955
+ "in" : "query" ,
956
+ "default" : False ,
957
+ }
935
958
]
936
959
937
960
def test_choices (self ):
@@ -954,31 +977,59 @@ def test_location(self):
954
977
parser .add_argument ("in_headers" , type = int , location = "headers" )
955
978
parser .add_argument ("in_cookie" , type = int , location = "cookie" )
956
979
assert parser .__schema__ == [
957
- {"name" : "default" , "type" : "integer" , "in" : "query" ,},
958
- {"name" : "in_values" , "type" : "integer" , "in" : "query" ,},
959
- {"name" : "in_query" , "type" : "integer" , "in" : "query" ,},
960
- {"name" : "in_headers" , "type" : "integer" , "in" : "header" ,},
980
+ {
981
+ "name" : "default" ,
982
+ "type" : "integer" ,
983
+ "in" : "query" ,
984
+ },
985
+ {
986
+ "name" : "in_values" ,
987
+ "type" : "integer" ,
988
+ "in" : "query" ,
989
+ },
990
+ {
991
+ "name" : "in_query" ,
992
+ "type" : "integer" ,
993
+ "in" : "query" ,
994
+ },
995
+ {
996
+ "name" : "in_headers" ,
997
+ "type" : "integer" ,
998
+ "in" : "header" ,
999
+ },
961
1000
]
962
1001
963
1002
def test_location_json (self ):
964
1003
parser = RequestParser ()
965
1004
parser .add_argument ("in_json" , type = str , location = "json" )
966
1005
assert parser .__schema__ == [
967
- {"name" : "in_json" , "type" : "string" , "in" : "body" ,}
1006
+ {
1007
+ "name" : "in_json" ,
1008
+ "type" : "string" ,
1009
+ "in" : "body" ,
1010
+ }
968
1011
]
969
1012
970
1013
def test_location_form (self ):
971
1014
parser = RequestParser ()
972
1015
parser .add_argument ("in_form" , type = int , location = "form" )
973
1016
assert parser .__schema__ == [
974
- {"name" : "in_form" , "type" : "integer" , "in" : "formData" ,}
1017
+ {
1018
+ "name" : "in_form" ,
1019
+ "type" : "integer" ,
1020
+ "in" : "formData" ,
1021
+ }
975
1022
]
976
1023
977
1024
def test_location_files (self ):
978
1025
parser = RequestParser ()
979
1026
parser .add_argument ("in_files" , type = FileStorage , location = "files" )
980
1027
assert parser .__schema__ == [
981
- {"name" : "in_files" , "type" : "file" , "in" : "formData" ,}
1028
+ {
1029
+ "name" : "in_files" ,
1030
+ "type" : "file" ,
1031
+ "in" : "formData" ,
1032
+ }
982
1033
]
983
1034
984
1035
def test_form_and_body_location (self ):
@@ -1008,7 +1059,13 @@ def test_models(self):
1008
1059
)
1009
1060
parser = RequestParser ()
1010
1061
parser .add_argument ("todo" , type = todo_fields )
1011
- assert parser .__schema__ == [{"name" : "todo" , "type" : "Todo" , "in" : "body" ,}]
1062
+ assert parser .__schema__ == [
1063
+ {
1064
+ "name" : "todo" ,
1065
+ "type" : "Todo" ,
1066
+ "in" : "body" ,
1067
+ }
1068
+ ]
1012
1069
1013
1070
def test_lists (self ):
1014
1071
parser = RequestParser ()
@@ -1061,5 +1118,10 @@ def test_callable_default(self):
1061
1118
parser = RequestParser ()
1062
1119
parser .add_argument ("int" , type = int , default = lambda : 5 )
1063
1120
assert parser .__schema__ == [
1064
- {"name" : "int" , "type" : "integer" , "in" : "query" , "default" : 5 ,}
1121
+ {
1122
+ "name" : "int" ,
1123
+ "type" : "integer" ,
1124
+ "in" : "query" ,
1125
+ "default" : 5 ,
1126
+ }
1065
1127
]
0 commit comments