Exemplo n.º 1
0
    def test_parse_int_list(self):
        '''Tests parsing a required list of int parameters that is provided via GET.'''
        request = MagicMock(Request)
        request.QUERY_PARAMS = QueryDict('', mutable=True)
        request.QUERY_PARAMS.setlist('test', ['1', '2'])

        self.assertListEqual(rest_util.parse_int_list(request, 'test'), [1, 2])
Exemplo n.º 2
0
    def test_parse_int_list_accepted_all(self):
        '''Tests parsing a list of int parameters where all values are acceptable.'''
        request = MagicMock(Request)
        request.QUERY_PARAMS = QueryDict('', mutable=True)
        request.QUERY_PARAMS.setlist('test', ['1', '2'])

        self.assertListEqual(rest_util.parse_int_list(request, 'test', accepted_values=[1, 2]), [1, 2])
Exemplo n.º 3
0
    def test_parse_string_list_default(self):
        '''Tests parsing a required list of string parameters that are provided via default value.'''
        request = MagicMock(Request)
        request.QUERY_PARAMS = QueryDict('', mutable=True)
        request.QUERY_PARAMS.setlist('test', ['value1'])

        self.assertEqual(rest_util.parse_string_list(request, 'test2', ['value2', 'value3']), ['value2', 'value3'])
Exemplo n.º 4
0
    def test_parse_string_list_missing(self):
        '''Tests parsing a required list of string parameters that are missing.'''
        request = MagicMock(Request)
        request.QUERY_PARAMS = QueryDict('', mutable=True)
        request.QUERY_PARAMS.setlist('test', ['value1', 'value2'])

        self.assertRaises(BadParameter, rest_util.parse_string_list, request, 'test2')
Exemplo n.º 5
0
    def test_parse_string_list_accepted_none(self):
        '''Tests parsing a list of string parameters where none of the values are acceptable.'''
        request = MagicMock(Request)
        request.QUERY_PARAMS = QueryDict('', mutable=True)
        request.QUERY_PARAMS.setlist('test', ['value1', 'value2'])

        self.assertRaises(BadParameter, rest_util.parse_string_list, request, 'test', accepted_values=['value'])
Exemplo n.º 6
0
    def test_parse_string_list_optional(self):
        '''Tests parsing an optional list of string parameters that are missing.'''
        request = MagicMock(Request)
        request.QUERY_PARAMS = QueryDict('', mutable=True)
        request.QUERY_PARAMS.setlist('test', ['value1'])

        self.assertListEqual(rest_util.parse_string_list(request, 'test2', required=False), [])
Exemplo n.º 7
0
    def test_parse_int_list_accepted_partial(self):
        '''Tests parsing a list of int parameters where only some values are acceptable.'''
        request = MagicMock(Request)
        request.QUERY_PARAMS = QueryDict('', mutable=True)
        request.QUERY_PARAMS.setlist('test', ['1', '2'])

        self.assertRaises(BadParameter, rest_util.parse_int_list, request, 'test', accepted_values=[1])
Exemplo n.º 8
0
 def test_parse_string_default(self):
     '''Tests parsing an optional string parameter that is provided via default value.'''
     request = MagicMock(Request)
     request.QUERY_PARAMS = QueryDict('', mutable=True)
     request.QUERY_PARAMS.update({
         'test': 'value1',
     })
     self.assertEqual(rest_util.parse_string(request, 'test2', 'value2'), 'value2')
Exemplo n.º 9
0
 def test_parse_datetime_missing_timezone(self):
     '''Tests parsing an ISO datetime missing a timezone.'''
     request = MagicMock(Request)
     request.QUERY_PARAMS = QueryDict('', mutable=True)
     request.QUERY_PARAMS.update({
         'test': '2015-01-01T00:00:00',
     })
     self.assertRaises(BadParameter, rest_util.parse_datetime, request, 'test')
Exemplo n.º 10
0
 def test_parse_datetime_optional(self):
     '''Tests parsing an optional ISO datetime parameter that is missing.'''
     request = MagicMock(Request)
     request.QUERY_PARAMS = QueryDict('', mutable=True)
     request.QUERY_PARAMS.update({
         'test': 'value1',
     })
     self.assertIsNone(rest_util.parse_datetime(request, 'test2', required=False))
Exemplo n.º 11
0
 def test_parse_datetime_missing(self):
     '''Tests parsing a required ISO datetime parameter that is missing.'''
     request = MagicMock(Request)
     request.QUERY_PARAMS = QueryDict('', mutable=True)
     request.QUERY_PARAMS.update({
         'test': '10',
     })
     self.assertRaises(BadParameter, rest_util.parse_datetime, request, 'test2')
Exemplo n.º 12
0
 def test_parse_float_invalid(self):
     '''Tests parsing a required float parameter that is not a valid number.'''
     request = MagicMock(Request)
     request.QUERY_PARAMS = QueryDict('', mutable=True)
     request.QUERY_PARAMS.update({
         'test': 'abc',
     })
     self.assertRaises(BadParameter, rest_util.parse_float, request, 'test')
Exemplo n.º 13
0
 def test_parse_duration(self):
     '''Tests parsing a required ISO duration parameter that is provided via GET.'''
     request = MagicMock(Request)
     request.QUERY_PARAMS = QueryDict('', mutable=True)
     request.QUERY_PARAMS.update({
         'test': 'PT3H0M0S',
     })
     self.assertEqual(rest_util.parse_duration(request, 'test'), datetime.timedelta(0, 10800))
Exemplo n.º 14
0
 def test_parse_bool_default(self):
     '''Tests parsing an optional bool parameter that is provided via default value.'''
     request = MagicMock(Request)
     request.QUERY_PARAMS = QueryDict('', mutable=True)
     request.QUERY_PARAMS.update({
         'test': 'true',
     })
     self.assertFalse(rest_util.parse_bool(request, 'test2', False))
Exemplo n.º 15
0
 def test_parse_float_zero(self):
     '''Tests parsing an optional float parameter zero instead of using the default value.'''
     request = MagicMock(Request)
     request.QUERY_PARAMS = QueryDict('', mutable=True)
     request.QUERY_PARAMS.update({
         'test': '0.0',
     })
     self.assertEqual(rest_util.parse_float(request, 'test', 10.1), 0.0)
Exemplo n.º 16
0
 def test_parse_float_default(self):
     '''Tests parsing a required float parameter that is provided via default value.'''
     request = MagicMock(Request)
     request.QUERY_PARAMS = QueryDict('', mutable=True)
     request.QUERY_PARAMS.update({
         'test': '10.1',
     })
     self.assertEqual(rest_util.parse_float(request, 'test2', 20.1), 20.1)
Exemplo n.º 17
0
 def test_has_params_partial(self):
     '''Tests checking parameter presence when some are given.'''
     request = MagicMock(Request)
     request.QUERY_PARAMS = QueryDict('', mutable=True)
     request.QUERY_PARAMS.update({
         'test1': 'value1',
     })
     self.assertFalse(rest_util.has_params(request, 'test1', 'test2'))
Exemplo n.º 18
0
 def test_parse_int_list_default(self):
     '''Tests parsing a required list of int parameters that are provided via default value.'''
     request = MagicMock(Request)
     request.QUERY_PARAMS = QueryDict('', mutable=True)
     request.QUERY_PARAMS.update({
         'test': '1',
     })
     self.assertEqual(rest_util.parse_int_list(request, 'test2', ['2', '3']), [2, 3])
Exemplo n.º 19
0
 def test_parse_timestamp_datetime(self):
     '''Tests parsing a valid ISO datetime.'''
     request = MagicMock(Request)
     request.QUERY_PARAMS = QueryDict('', mutable=True)
     request.QUERY_PARAMS.update({
         'test': '2015-01-01T00:00:00Z',
     })
     self.assertEqual(rest_util.parse_timestamp(request, 'test'), datetime.datetime(2015, 1, 1, tzinfo=timezone.utc))
Exemplo n.º 20
0
 def test_parse_int(self):
     '''Tests parsing a required int parameter that is provided via GET.'''
     request = MagicMock(Request)
     request.QUERY_PARAMS = QueryDict('', mutable=True)
     request.QUERY_PARAMS.update({
         'test': '10',
     })
     self.assertEqual(rest_util.parse_int(request, 'test'), 10)
Exemplo n.º 21
0
 def test_parse_datetime_invalid(self):
     '''Tests parsing a required ISO datetime parameter that is formatted incorrectly.'''
     request = MagicMock(Request)
     request.QUERY_PARAMS = QueryDict('', mutable=True)
     request.QUERY_PARAMS.update({
         'test': '20150101T00:00:00Z',
     })
     self.assertRaises(BadParameter, rest_util.parse_datetime, request, 'test')
Exemplo n.º 22
0
 def test_parse_int_list_optional(self):
     '''Tests parsing an optional list of int parameters that are missing.'''
     request = MagicMock(Request)
     request.QUERY_PARAMS = QueryDict('', mutable=True)
     request.QUERY_PARAMS.update({
         'test': '1',
     })
     self.assertListEqual(rest_util.parse_int_list(request, 'test2', required=False), [])
Exemplo n.º 23
0
 def test_parse_datetime_default(self):
     '''Tests parsing a required ISO datetime parameter that is provided via default value.'''
     request = MagicMock(Request)
     request.QUERY_PARAMS = QueryDict('', mutable=True)
     request.QUERY_PARAMS.update({
         'test': '2015-01-01T00:00:00Z',
     })
     default_value = datetime.datetime(2015, 2, 10, tzinfo=timezone.utc)
     self.assertEqual(rest_util.parse_datetime(request, 'test2', default_value), default_value)
Exemplo n.º 24
0
    def test_parse_float_accepted_none(self):
        '''Tests parsing a float parameter where the value is not acceptable.'''
        request = MagicMock(Request)
        request.QUERY_PARAMS = QueryDict('', mutable=True)
        request.QUERY_PARAMS.update({
            'test': '1.0',
        })

        self.assertRaises(BadParameter, rest_util.parse_float, request, 'test', accepted_values=[5.0, 10.0])
Exemplo n.º 25
0
    def test_parse_int_accepted_all(self):
        '''Tests parsing an int parameter where the value is acceptable.'''
        request = MagicMock(Request)
        request.QUERY_PARAMS = QueryDict('', mutable=True)
        request.QUERY_PARAMS.update({
            'test': '1',
        })

        self.assertEqual(rest_util.parse_int(request, 'test', accepted_values=[1, 2, 3]), 1)
Exemplo n.º 26
0
    def test_parse_float_valid(self):
        '''Tests parsing a float parameter where the value is acceptable.'''
        request = MagicMock(Request)
        request.QUERY_PARAMS = QueryDict('', mutable=True)
        request.QUERY_PARAMS.update({
            'test': '1.1',
        })

        self.assertEqual(rest_util.parse_float(request, 'test', accepted_values=[1.1, 2.2, 3.3]), 1.1)
Exemplo n.º 27
0
    def test_parse_string_accepted_none(self):
        '''Tests parsing a string parameter where the value is not acceptable.'''
        request = MagicMock(Request)
        request.QUERY_PARAMS = QueryDict('', mutable=True)
        request.QUERY_PARAMS.update({
            'test': 'value1',
        })

        self.assertRaises(BadParameter, rest_util.parse_string, request, 'test', accepted_values=['value'])
Exemplo n.º 28
0
 def test_parse_int_list_missing(self):
     '''Tests parsing a required list of int parameters that are missing.'''
     request = MagicMock(Request)
     request.QUERY_PARAMS = QueryDict('', mutable=True)
     request.QUERY_PARAMS.update({
         'test': '1',
         'test': '2',
     })
     self.assertRaises(BadParameter, rest_util.parse_int_list, request, 'test2')
Exemplo n.º 29
0
 def test_parse_timestamp_duration(self, mock_now):
     '''Tests parsing a valid ISO duration.'''
     mock_now.return_value = datetime.datetime(2015, 1, 1, 10, tzinfo=timezone.utc)
     request = MagicMock(Request)
     request.QUERY_PARAMS = QueryDict('', mutable=True)
     request.QUERY_PARAMS.update({
         'test': 'PT3H0M0S',
     })
     self.assertEqual(rest_util.parse_timestamp(request, 'test'),
                      datetime.datetime(2015, 1, 1, 7, tzinfo=timezone.utc))
Exemplo n.º 30
0
 def test_parse_dict(self):
     '''Tests parsing a dictionary.'''
     result = {
         'name': 'value',
     }
     request = MagicMock(Request)
     request.QUERY_PARAMS = QueryDict('', mutable=True)
     request.QUERY_PARAMS.update({
         'test': result,
     })
     self.assertDictEqual(rest_util.parse_dict(request, 'test'), result)