def test_request_parser_remove_argument(self): req = Request.from_values('/bubble?foo=baz') parser = RequestParser() parser.add_argument('foo', type=int) parser_copy = parser.copy() parser_copy.remove_argument('foo') args = parser_copy.parse_args(req) assert args == {}
def test_request_parser_copy(self, app): req = Request.from_values('/bubble?foo=101&bar=baz') parser = RequestParser() foo_arg = Argument('foo', type=int) parser.args.append(foo_arg) parser_copy = parser.copy() # Deepcopy should create a clone of the argument object instead of # copying a reference to the new args list assert foo_arg not in parser_copy.args # Args added to new parser should not be added to the original bar_arg = Argument('bar') parser_copy.args.append(bar_arg) assert bar_arg not in parser.args args = parser_copy.parse_args(req) assert args['foo'] == 101 assert args['bar'] == 'baz'
def test_request_parse_copy_including_settings(self): parser = RequestParser(trim=True, bundle_errors=True) parser_copy = parser.copy() assert parser.trim == parser_copy.trim assert parser.bundle_errors == parser_copy.bundle_errors