Example #1
0
 def test_integerfield_6(self):
     f = IntegerField(step_size=3)
     self.assertWidgetRendersTo(
         f,
         '<input name="f" step="3" type="number" id="id_f" required>',
     )
     with self.assertRaisesMessage(
         ValidationError, "'Ensure this value is a multiple of step size 3.'"
     ):
         f.clean("10")
     self.assertEqual(12, f.clean(12))
     self.assertEqual(12, f.clean("12"))
     self.assertEqual(f.step_size, 3)
Example #2
0
 def test_integerfield_float(self):
     f = IntegerField()
     self.assertEqual(1, f.clean(1.0))
     self.assertEqual(1, f.clean("1.0"))
     self.assertEqual(1, f.clean(" 1.0 "))
     self.assertEqual(1, f.clean("1."))
     self.assertEqual(1, f.clean(" 1. "))
     with self.assertRaisesMessage(ValidationError, "'Enter a whole number.'"):
         f.clean("1.5")
     with self.assertRaisesMessage(ValidationError, "'Enter a whole number.'"):
         f.clean("…")
Example #3
0
 def test_integerfield_float(self):
     f = IntegerField()
     self.assertEqual(1, f.clean(1.0))
     self.assertEqual(1, f.clean('1.0'))
     self.assertEqual(1, f.clean(' 1.0 '))
     self.assertEqual(1, f.clean('1.'))
     self.assertEqual(1, f.clean(' 1. '))
     with self.assertRaisesMessage(ValidationError, "'Enter a whole number.'"):
         f.clean('1.5')
     with self.assertRaisesMessage(ValidationError, "'Enter a whole number.'"):
         f.clean('…')
Example #4
0
 def test_integerfield_3(self):
     f = IntegerField(max_value=10)
     self.assertWidgetRendersTo(f, '<input max="10" type="number" name="f" id="id_f" required>')
     with self.assertRaisesMessage(ValidationError, "'This field is required.'"):
         f.clean(None)
     self.assertEqual(1, f.clean(1))
     self.assertEqual(10, f.clean(10))
     with self.assertRaisesMessage(ValidationError, "'Ensure this value is less than or equal to 10.'"):
         f.clean(11)
     self.assertEqual(10, f.clean('10'))
     with self.assertRaisesMessage(ValidationError, "'Ensure this value is less than or equal to 10.'"):
         f.clean('11')
     self.assertEqual(f.max_value, 10)
     self.assertIsNone(f.min_value)
Example #5
0
 def test_integerfield_3(self):
     f = IntegerField(max_value=10)
     self.assertWidgetRendersTo(f, '<input max="10" type="number" name="f" id="id_f" required>')
     with self.assertRaisesMessage(ValidationError, "'This field is required.'"):
         f.clean(None)
     self.assertEqual(1, f.clean(1))
     self.assertEqual(10, f.clean(10))
     with self.assertRaisesMessage(ValidationError, "'Ensure this value is less than or equal to 10.'"):
         f.clean(11)
     self.assertEqual(10, f.clean('10'))
     with self.assertRaisesMessage(ValidationError, "'Ensure this value is less than or equal to 10.'"):
         f.clean('11')
     self.assertEqual(f.max_value, 10)
     self.assertIsNone(f.min_value)
Example #6
0
 def test_integerfield_5(self):
     f = IntegerField(min_value=10, max_value=20)
     self.assertWidgetRendersTo(f, '<input id="id_f" max="20" type="number" name="f" min="10" />')
     with self.assertRaisesMessage(ValidationError, "'This field is required.'"):
         f.clean(None)
     with self.assertRaisesMessage(ValidationError, "'Ensure this value is greater than or equal to 10.'"):
         f.clean(1)
     self.assertEqual(10, f.clean(10))
     self.assertEqual(11, f.clean(11))
     self.assertEqual(10, f.clean('10'))
     self.assertEqual(11, f.clean('11'))
     self.assertEqual(20, f.clean(20))
     with self.assertRaisesMessage(ValidationError, "'Ensure this value is less than or equal to 20.'"):
         f.clean(21)
     self.assertEqual(f.max_value, 20)
     self.assertEqual(f.min_value, 10)
Example #7
0
def remove(request, link_id):
    ''' Remove a specific link with ID ``link_id`` '''

    from django.forms import IntegerField
    from django.forms import ValidationError

    field = IntegerField(min_value=1)
    try:
        value = field.clean(link_id)
    except ValidationError, err:
        jd = json.dumps({'status': 1, 'messages': '\n'.join(err.messages)})
        return HttpJSONResponseBadRequest(content=jd)
Example #8
0
def remove(request, link_id):
    ''' Remove a specific link with ID ``link_id`` '''

    from django.forms import IntegerField
    from django.forms import ValidationError

    field = IntegerField(min_value=1)
    try:
        value = field.clean(link_id)
    except ValidationError, err:
        jd = json.dumps({'rc': 1, 'response': '\n'.join(err.messages)})
        return HttpJSONResponseBadRequest(content=jd)
Example #9
0
def remove(_request, link_id):
    """ Remove a specific link with ID ``link_id`` """

    field = IntegerField(min_value=1)
    try:
        value = field.clean(link_id)
    except ValidationError as err:
        json_data = {'rc': 1, 'response': '\n'.join(err.messages)}
        return http.JsonResponse(json_data, status=HTTPStatus.BAD_REQUEST)

    # this will silently ignore non-existing objects
    LinkReference.objects.filter(pk=value).delete()

    return http.JsonResponse({
        'rc': 0,
        'response': 'Link has been removed successfully.'
    })
Example #10
0
File: views.py Project: xbln/Kiwi
def remove(request, link_id):
    ''' Remove a specific link with ID ``link_id`` '''

    field = IntegerField(min_value=1)
    try:
        value = field.clean(link_id)
    except ValidationError as err:
        jd = json.dumps({'rc': 1, 'response': '\n'.join(err.messages)})
        return http.HttpResponseBadRequest(content=jd, content_type='application/json')

    # this will silently ignore non-existing objects
    LinkReference.objects.filter(pk=value).delete()

    return http.JsonResponse({
        'rc': 0,
        'response': 'Link has been removed successfully.'
    })
Example #11
0
def remove(request, link_id):
    """Remove a specific link with ID ``link_id``"""

    from django.forms import IntegerField
    from django.forms import ValidationError

    field = IntegerField(min_value=1)
    try:
        value = field.clean(link_id)
    except ValidationError as err:
        return JsonResponseBadRequest({
            'rc': 1,
            'response': '\n'.join(err.messages)
        })

    try:
        LinkReference.unlink(value)
    except Exception as err:
        return JsonResponseBadRequest({'rc': 1, 'response': str(err)})

    return JsonResponse({
        'rc': 0,
        'response': 'Link has been removed successfully.'
    })
Example #12
0
def remove(request, link_id):
    """Remove a specific link with ID ``link_id``"""

    from django.forms import IntegerField
    from django.forms import ValidationError

    field = IntegerField(min_value=1)
    try:
        value = field.clean(link_id)
    except ValidationError as err:
        return JsonResponseBadRequest({
            'rc': 1,
            'response': '\n'.join(err.messages)
        })

    try:
        LinkReference.unlink(value)
    except Exception as err:
        return JsonResponseBadRequest({'rc': 1, 'response': str(err)})

    return JsonResponse({
        'rc': 0,
        'response': 'Link has been removed successfully.'
    })
Example #13
0
 def test_integerfield_unicode_number(self):
     f = IntegerField()
     self.assertEqual(50, f.clean("50"))
Example #14
0
 def test_integerfield_big_num(self):
     f = IntegerField()
     self.assertEqual(9223372036854775808, f.clean(9223372036854775808))
     self.assertEqual(9223372036854775808, f.clean("9223372036854775808"))
     self.assertEqual(9223372036854775808, f.clean("9223372036854775808.0"))
Example #15
0
 def test_integerfield_2(self):
     f = IntegerField(required=False)
     self.assertIsNone(f.clean(''))
     self.assertEqual('None', repr(f.clean('')))
     self.assertIsNone(f.clean(None))
     self.assertEqual('None', repr(f.clean(None)))
     self.assertEqual(1, f.clean('1'))
     self.assertIsInstance(f.clean('1'), int)
     self.assertEqual(23, f.clean('23'))
     with self.assertRaisesMessage(ValidationError, "'Enter a whole number.'"):
         f.clean('a')
     self.assertEqual(1, f.clean('1 '))
     self.assertEqual(1, f.clean(' 1'))
     self.assertEqual(1, f.clean(' 1 '))
     with self.assertRaisesMessage(ValidationError, "'Enter a whole number.'"):
         f.clean('1a')
     self.assertIsNone(f.max_value)
     self.assertIsNone(f.min_value)
Example #16
0
 def test_integerfield_1(self):
     f = IntegerField()
     self.assertWidgetRendersTo(f, '<input type="number" name="f" id="id_f" required>')
     with self.assertRaisesMessage(ValidationError, "'This field is required.'"):
         f.clean('')
     with self.assertRaisesMessage(ValidationError, "'This field is required.'"):
         f.clean(None)
     self.assertEqual(1, f.clean('1'))
     self.assertIsInstance(f.clean('1'), int)
     self.assertEqual(23, f.clean('23'))
     with self.assertRaisesMessage(ValidationError, "'Enter a whole number.'"):
         f.clean('a')
     self.assertEqual(42, f.clean(42))
     with self.assertRaisesMessage(ValidationError, "'Enter a whole number.'"):
         f.clean(3.14)
     self.assertEqual(1, f.clean('1 '))
     self.assertEqual(1, f.clean(' 1'))
     self.assertEqual(1, f.clean(' 1 '))
     with self.assertRaisesMessage(ValidationError, "'Enter a whole number.'"):
         f.clean('1a')
     self.assertIsNone(f.max_value)
     self.assertIsNone(f.min_value)
Example #17
0
 def test_integerfield_2(self):
     f = IntegerField(required=False)
     self.assertIsNone(f.clean(""))
     self.assertEqual("None", repr(f.clean("")))
     self.assertIsNone(f.clean(None))
     self.assertEqual("None", repr(f.clean(None)))
     self.assertEqual(1, f.clean("1"))
     self.assertIsInstance(f.clean("1"), int)
     self.assertEqual(23, f.clean("23"))
     with self.assertRaisesMessage(ValidationError, "'Enter a whole number.'"):
         f.clean("a")
     self.assertEqual(1, f.clean("1 "))
     self.assertEqual(1, f.clean(" 1"))
     self.assertEqual(1, f.clean(" 1 "))
     with self.assertRaisesMessage(ValidationError, "'Enter a whole number.'"):
         f.clean("1a")
     self.assertIsNone(f.max_value)
     self.assertIsNone(f.min_value)
Example #18
0
 def test_integerfield_2(self):
     f = IntegerField(required=False)
     self.assertIsNone(f.clean(''))
     self.assertEqual('None', repr(f.clean('')))
     self.assertIsNone(f.clean(None))
     self.assertEqual('None', repr(f.clean(None)))
     self.assertEqual(1, f.clean('1'))
     self.assertIsInstance(f.clean('1'), int)
     self.assertEqual(23, f.clean('23'))
     with self.assertRaisesMessage(ValidationError, "'Enter a whole number.'"):
         f.clean('a')
     self.assertEqual(1, f.clean('1 '))
     self.assertEqual(1, f.clean(' 1'))
     self.assertEqual(1, f.clean(' 1 '))
     with self.assertRaisesMessage(ValidationError, "'Enter a whole number.'"):
         f.clean('1a')
     self.assertIsNone(f.max_value)
     self.assertIsNone(f.min_value)
Example #19
0
 def test_integerfield_unicode_number(self):
     f = IntegerField()
     self.assertEqual(50, f.clean('50'))
Example #20
0
 def test_integerfield_1(self):
     f = IntegerField()
     self.assertWidgetRendersTo(
         f, '<input type="number" name="f" id="id_f" required>'
     )
     with self.assertRaisesMessage(ValidationError, "'This field is required.'"):
         f.clean("")
     with self.assertRaisesMessage(ValidationError, "'This field is required.'"):
         f.clean(None)
     self.assertEqual(1, f.clean("1"))
     self.assertIsInstance(f.clean("1"), int)
     self.assertEqual(23, f.clean("23"))
     with self.assertRaisesMessage(ValidationError, "'Enter a whole number.'"):
         f.clean("a")
     self.assertEqual(42, f.clean(42))
     with self.assertRaisesMessage(ValidationError, "'Enter a whole number.'"):
         f.clean(3.14)
     self.assertEqual(1, f.clean("1 "))
     self.assertEqual(1, f.clean(" 1"))
     self.assertEqual(1, f.clean(" 1 "))
     with self.assertRaisesMessage(ValidationError, "'Enter a whole number.'"):
         f.clean("1a")
     self.assertIsNone(f.max_value)
     self.assertIsNone(f.min_value)
Example #21
0
 def test_integerfield_big_num(self):
     f = IntegerField()
     self.assertEqual(9223372036854775808, f.clean(9223372036854775808))
     self.assertEqual(9223372036854775808, f.clean('9223372036854775808'))
     self.assertEqual(9223372036854775808, f.clean('9223372036854775808.0'))