Ejemplo n.º 1
0
    def test_source(self, mocker):
        req = mocker.Mock(['args', 'headers', 'values'])
        req.args = {'foo': 'bar'}
        req.headers = {'baz': 'bat'}
        arg = Argument('foo', location=['args'])
        assert arg.source(req) == MultiDict(req.args)

        arg = Argument('foo', location=['headers'])
        assert arg.source(req) == MultiDict(req.headers)
Ejemplo n.º 2
0
    def test_option_case_sensitive(self):
        arg = Argument('foo', choices=['bar', 'baz'], case_sensitive=True)
        assert arg.case_sensitive is True

        # Insensitive
        arg = Argument('foo', choices=['bar', 'baz'], case_sensitive=False)
        assert arg.case_sensitive is False

        # Default
        arg = Argument('foo', choices=['bar', 'baz'])
        assert arg.case_sensitive is True
Ejemplo n.º 3
0
    def test_option_case_sensitive(self):
        arg = Argument('foo', choices=['bar', 'baz'], case_sensitive=True)
        self.assertEqual(True, arg.case_sensitive)

        # Insensitive
        arg = Argument('foo', choices=['bar', 'baz'], case_sensitive=False)
        self.assertEqual(False, arg.case_sensitive)

        # Default
        arg = Argument('foo', choices=['bar', 'baz'])
        self.assertEqual(True, arg.case_sensitive)
Ejemplo n.º 4
0
    def test_passing_arguments_object(self, app):
        req = Request.from_values('/bubble?foo=bar')
        parser = RequestParser()
        parser.add_argument(Argument('foo'))

        args = parser.parse_args(req)
        assert args['foo'] == 'bar'
Ejemplo n.º 5
0
    def test_passing_arguments_object(self):
        req = Request.from_values('/bubble?foo=bar')
        parser = RequestParser()
        parser.add_argument(Argument('foo'))

        args = parser.parse_args(req)
        self.assertEqual(args['foo'], 'bar')
Ejemplo n.º 6
0
    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'
Ejemplo n.º 7
0
    def test_request_parser_copy(self):
        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
        self.assertFalse(foo_arg 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)
        self.assertFalse(bar_arg in parser.args)

        args = parser_copy.parse_args(req)
        self.assertEqual(args['foo'], 101)
        self.assertEqual(args['bar'], 'baz')
Ejemplo n.º 8
0
    def test_source(self):
        req = Mock(['args', 'headers', 'values'])
        req.args = {'foo': 'bar'}
        req.headers = {'baz': 'bat'}
        arg = Argument('foo', location=['args'])
        self.assertEqual(arg.source(req), MultiDict(req.args))

        arg = Argument('foo', location=['headers'])
        self.assertEqual(arg.source(req), MultiDict(req.headers))
Ejemplo n.º 9
0
    def test_source(self, mocker):
        req = mocker.Mock(['args', 'headers', 'values'])
        req.args = {'foo': 'bar'}
        req.headers = {'baz': 'bat'}
        arg = Argument('foo', location=['args'])
        assert arg.source(req) == MultiDict(req.args)

        arg = Argument('foo', location=['headers'])
        assert arg.source(req) == MultiDict(req.headers)
Ejemplo n.º 10
0
 def test_action(self):
     arg = Argument('foo', action='append')
     self.assertEqual(arg.action, 'append')
Ejemplo n.º 11
0
 def test_action_filter(self):
     arg = Argument('foo', action='filter')
     self.assertEqual(arg.action, 'filter')
Ejemplo n.º 12
0
 def test_operator(self):
     arg = Argument('foo', operators=['>=', '<=', '='])
     self.assertEqual(arg.operators, ['>=', '<=', '='])
Ejemplo n.º 13
0
 def test_convert_default_type_with_null_input(self):
     arg = Argument('foo')
     assert arg.convert(None, None) is None
Ejemplo n.º 14
0
 def test_source_default_location(self):
     req = Mock(['values'])
     req._get_child_mock = lambda **kwargs: MultiDict()
     arg = Argument('foo')
     self.assertEqual(arg.source(req), req.values)
Ejemplo n.º 15
0
 def test_convert_with_null_input_when_not_nullable(self):
     arg = Argument('foo', nullable=False)
     self.assertRaises(ValueError, lambda: arg.convert(None, None))
Ejemplo n.º 16
0
 def test_action_default(self):
     arg = Argument('foo')
     self.assertEqual(arg.action, 'store')
Ejemplo n.º 17
0
 def test_required_default(self):
     arg = Argument('foo')
     self.assertEqual(arg.required, False)
Ejemplo n.º 18
0
 def test_default_type(self, mock_six):
     arg = Argument('foo')
     sentinel = object()
     arg.type(sentinel)
     mock_six.text_type.assert_called_with(sentinel)
Ejemplo n.º 19
0
 def test_choices(self):
     arg = Argument('foo', choices=[1, 2])
     self.assertEqual(arg.choices, [1, 2])
Ejemplo n.º 20
0
 def test_source_bad_location(self, mocker):
     req = mocker.Mock(['values'])
     arg = Argument('foo', location=['foo'])
     assert len(arg.source(req)) == 0  # yes, basically you don't find it
Ejemplo n.º 21
0
 def test_source_default_location(self, mocker):
     req = mocker.Mock(['values'])
     req._get_child_mock = lambda **kwargs: MultiDict()
     arg = Argument('foo')
     assert arg.source(req) == req.values
Ejemplo n.º 22
0
 def test_default_operators(self):
     arg = Argument('foo')
     self.assertEqual(arg.operators[0], '=')
     self.assertEqual(len(arg.operators), 1)
Ejemplo n.º 23
0
 def test_location_get_json(self):
     arg = Argument('foo', location='get_json')
     self.assertEqual(arg.location, 'get_json')
Ejemplo n.º 24
0
 def test_default_default(self):
     arg = Argument('foo')
     self.assertEqual(arg.default, None)
Ejemplo n.º 25
0
 def test_location_header_list(self):
     arg = Argument('foo', location=['headers'])
     self.assertEqual(arg.location, ['headers'])
Ejemplo n.º 26
0
 def test_ignore_default(self):
     arg = Argument('foo')
     self.assertEqual(arg.ignore, False)
Ejemplo n.º 27
0
 def test_type(self):
     arg = Argument('foo', type=int)
     self.assertEqual(arg.type, int)
Ejemplo n.º 28
0
 def test_choices_default(self):
     arg = Argument('foo')
     self.assertEqual(len(arg.choices), 0)
Ejemplo n.º 29
0
 def test_default(self):
     arg = Argument('foo', default=True)
     self.assertEqual(arg.default, True)
Ejemplo n.º 30
0
 def test_convert_default_type_with_null_input(self):
     arg = Argument('foo')
     self.assertEqual(arg.convert(None, None), None)
Ejemplo n.º 31
0
 def test_default_help(self):
     arg = Argument('foo')
     self.assertEqual(arg.help, None)
Ejemplo n.º 32
0
 def test_source_bad_location(self):
     req = Mock(['values'])
     arg = Argument('foo', location=['foo'])
     self.assertTrue(len(arg.source(req)) == 0)  # yes, basically you don't find it
Ejemplo n.º 33
0
 def test_required(self):
     arg = Argument('foo', required=True)
     self.assertEqual(arg.required, True)
Ejemplo n.º 34
0
 def test_ignore(self):
     arg = Argument('foo', ignore=True)
     self.assertEqual(arg.ignore, True)
Ejemplo n.º 35
0
 def test_default_type(self, mocker):
     mock_six = mocker.patch('flask_restplus.reqparse.six')
     arg = Argument('foo')
     sentinel = object()
     arg.type(sentinel)
     mock_six.text_type.assert_called_with(sentinel)