Example #1
0
 def test_ip_address(self):
     self.assertEqual(ip_address()(self.form, DummyField('127.0.0.1')),
                      None)
     self.assertRaises(ValidationError, ip_address(), self.form,
                       DummyField('abc.0.0.1'))
     self.assertRaises(ValidationError, ip_address(), self.form,
                       DummyField('1278.0.0.1'))
     self.assertRaises(ValidationError, ip_address(), self.form,
                       DummyField('127.0.0.abc'))
Example #2
0
def test_lazy_proxy_fixture(really_lazy_proxy):
    """
    Tests that the validators support lazy translation strings for messages.
    """
    equal_to("fieldname", message=really_lazy_proxy)
    length(min=1, message=really_lazy_proxy)
    NumberRange(1, 5, message=really_lazy_proxy)
    data_required(message=really_lazy_proxy)
    regexp(".+", message=really_lazy_proxy)
    email(message=really_lazy_proxy)
    ip_address(message=really_lazy_proxy)
    url(message=really_lazy_proxy)
class SwitchForm(FlaskForm):
    source_switch_ip = StringField(
        'source_switch_ip',
        validators=[
            DataRequired(
                message="Source switch IP address must be populated."),
            ip_address(message="Source switch IP format should be: A.B.C.D")
        ])
    destination_switch_ip = StringField(
        'destination_switch_ip',
        validators=[
            DataRequired(
                message="Destination switch IP address must be populated."),
            ip_address(
                message="Destination switch IP format should be: A.B.C.D")
        ])
    starting_clients = IntegerField('starting_clients')
Example #4
0
 def test_ip_address(self):
     self.assertEqual(ip_address()(self.form, DummyField("127.0.0.1")), None)
     self.assertRaises(ValidationError, ip_address(), self.form, DummyField("abc.0.0.1"))
     self.assertRaises(ValidationError, ip_address(), self.form, DummyField("1278.0.0.1"))
     self.assertRaises(ValidationError, ip_address(), self.form, DummyField("127.0.0.abc"))
     self.assertRaises(ValidationError, ip_address(), self.form, DummyField("900.200.100.75"))
     self.assertRaises(ValidationError, ip_address(ipv6=True), self.form, DummyField("abc.0.0.1"))
     self.assertRaises(ValidationError, ip_address(ipv6=True), self.form, DummyField("abcd:1234::123::1"))
     for good_address in ("::1", "dead:beef:0:0:0:0:42:1", "abcd:ef::42:1"):
         self.assertEqual(ip_address(ipv6=True)(self.form, DummyField(good_address)), None)
Example #5
0
 def test_ip_address(self):
     self.assertEqual(ip_address()(self.form, DummyField('127.0.0.1')), None)
     self.assertRaises(ValidationError, ip_address(), self.form, DummyField('abc.0.0.1'))
     self.assertRaises(ValidationError, ip_address(), self.form, DummyField('1278.0.0.1'))
     self.assertRaises(ValidationError, ip_address(), self.form, DummyField('127.0.0.abc'))
     self.assertRaises(ValidationError, ip_address(), self.form, DummyField('900.200.100.75'))
     self.assertRaises(ValidationError, ip_address(ipv6=True), self.form, DummyField('abc.0.0.1'))
     self.assertRaises(ValidationError, ip_address(ipv6=True), self.form, DummyField('abcd:1234::123::1'))
     for good_address in ('::1', 'dead:beef:0:0:0:0:42:1', 'abcd:ef::42:1'):
         self.assertEqual(ip_address(ipv6=True)(self.form, DummyField(good_address)), None)
Example #6
0
    def test_ip_address(self):
        self.assertEqual(ip_address()(self.form, DummyField('127.0.0.1')), None)
        self.assertRaises(ValidationError, ip_address(), self.form, DummyField('abc.0.0.1'))
        self.assertRaises(ValidationError, ip_address(), self.form, DummyField('1278.0.0.1'))
        self.assertRaises(ValidationError, ip_address(), self.form, DummyField('127.0.0.abc'))
        self.assertRaises(ValidationError, ip_address(), self.form, DummyField('900.200.100.75'))
        for bad_address in ('abc.0.0.1', 'abcd:1234::123::1', '1:2:3:4:5:6:7:8:9', 'abcd::1ffff'):
            self.assertRaises(ValidationError, ip_address(ipv6=True), self.form, DummyField(bad_address))

        for good_address in ('::1', 'dead:beef:0:0:0:0:42:1', 'abcd:ef::42:1'):
            self.assertEqual(ip_address(ipv6=True)(self.form, DummyField(good_address)), None)

        #Test ValueError on ipv6=False and ipv4=False
        self.assertRaises(ValueError, ip_address, ipv4=False, ipv6=False)
Example #7
0
    def test_ip_address(self):
        self.assertEqual(ip_address()(self.form, DummyField('127.0.0.1')), None)
        self.assertRaises(ValidationError, ip_address(), self.form, DummyField('abc.0.0.1'))
        self.assertRaises(ValidationError, ip_address(), self.form, DummyField('1278.0.0.1'))
        self.assertRaises(ValidationError, ip_address(), self.form, DummyField('127.0.0.abc'))
        self.assertRaises(ValidationError, ip_address(), self.form, DummyField('900.200.100.75'))
        for bad_address in ('abc.0.0.1', 'abcd:1234::123::1', '1:2:3:4:5:6:7:8:9', 'abcd::1ffff'):
            self.assertRaises(ValidationError, ip_address(ipv6=True), self.form, DummyField(bad_address))

        for good_address in ('::1', 'dead:beef:0:0:0:0:42:1', 'abcd:ef::42:1'):
            self.assertEqual(ip_address(ipv6=True)(self.form, DummyField(good_address)), None)

        # Test ValueError on ipv6=False and ipv4=False
        self.assertRaises(ValueError, ip_address, ipv4=False, ipv6=False)
Example #8
0
    def test_lazy_proxy(self):
        """Tests that the validators support lazy translation strings for messages."""

        class ReallyLazyProxy(object):
            def __unicode__(self):
                raise Exception('Translator function called during form declaration: it should be called at response time.')
            __str__ = __unicode__

        message = ReallyLazyProxy()
        self.assertRaises(Exception, str, message)
        self.assertRaises(Exception, text_type, message)
        self.assertTrue(equal_to('fieldname', message=message))
        self.assertTrue(length(min=1, message=message))
        self.assertTrue(NumberRange(1, 5, message=message))
        self.assertTrue(required(message=message))
        self.assertTrue(regexp('.+', message=message))
        self.assertTrue(email(message=message))
        self.assertTrue(ip_address(message=message))
        self.assertTrue(url(message=message))
Example #9
0
    def test_lazy_proxy(self):
        """Tests that the validators support lazy translation strings for messages."""

        class ReallyLazyProxy(object):
            def __unicode__(self):
                raise Exception('Translator function called during form declaration: it should be called at response time.')
            __str__ = __unicode__

        message = ReallyLazyProxy()
        self.assertRaises(Exception, str, message)
        self.assertRaises(Exception, unicode, message)
        self.assert_(equal_to('fieldname', message=message))
        self.assert_(length(min=1, message=message))
        self.assert_(NumberRange(1,5, message=message))
        self.assert_(required(message=message))
        self.assert_(regexp('.+', message=message))
        self.assert_(email(message=message))
        self.assert_(ip_address(message=message))
        self.assert_(url(message=message))
Example #10
0
 def conv_IPAddressField(self, model, field, kwargs):
     kwargs['validators'].append(validators.ip_address())
     return f.TextField(**kwargs)
Example #11
0
def test_ip_address_raises_on_bad_init():
    """
    IpAddress validator should raise ValueError when ipv6=False and ipv4=False
    """
    with pytest.raises(ValueError):
        ip_address(ipv4=False, ipv6=False)
Example #12
0
def test_bad_ip4address_raises(address, dummy_form, dummy_field):
    adr = ip_address(ipv6=True)
    dummy_field.data = address
    with pytest.raises(ValidationError):
        adr(dummy_form, dummy_field)
Example #13
0
def test_good_ip6address_passes(address, dummy_form, dummy_field):
    adr = ip_address(ipv6=True)
    dummy_field.data = address
    adr(dummy_form, dummy_field)
Example #14
0
def test_ip4address_passes(address, dummy_form, dummy_field):
    adr = ip_address()
    dummy_field.data = address
    adr(dummy_form, dummy_field)
Example #15
0
 def conv_IPAddressField(self, model, field, kwargs):
     kwargs["validators"].append(validators.ip_address())
     return f.StringField(**kwargs)
Example #16
0
class UserView(AdminRoleModelView):
    column_list = ('id', 'first_name', 'last_name', 'email', 'active',
                   'login_count', 'roles')
    column_searchable_list = ('id', 'first_name', 'last_name', 'email',
                              'last_login_ip', 'current_login_ip')
    column_filters = ('id', 'first_name', 'last_name', 'email', 'active',
                      'confirmed_at', 'registered_at', 'last_login_at',
                      'current_login_at', 'last_login_ip', 'current_login_ip',
                      'login_count', u'roles')
    column_editable_list = ('first_name', 'last_name', 'email', 'active',
                            'confirmed_at', 'registered_at', 'last_login_at',
                            'current_login_at', 'last_login_ip',
                            'current_login_ip', 'login_count')
    form_columns = ('first_name', 'last_name', 'email', 'active',
                    'confirmed_at', 'registered_at', 'last_login_at',
                    'current_login_at', 'last_login_ip', 'current_login_ip',
                    'login_count', 'roles')
    form_args = {
        'first_name': {
            'validators': [required()]
        },
        'last_name': {
            'validators': [required()]
        },
        'email': {
            'validators': [required(), email()]
        },
        'last_login_ip': {
            'validators': [ip_address()]
        },
        'current_login_ip': {
            'validators': [ip_address()]
        },
    }

    @action('set_active', 'Set Active')
    def set_active(self, ids):
        try:
            count = 0
            for user in users.get_all(*ids):
                users.update(user, active=True)
                count += 1

            flash(
                ngettext('User(s) successfully set to active.',
                         '%(count)s users were successfully activate.',
                         count,
                         count=count))
        except Exception as ex:
            if not self.handle_view_exception(ex):
                raise
            flash(
                gettext('Failed to set user(s) to active. %(error)s',
                        error=str(ex)), 'error')

    @action('set_inactive', 'Set Inactive')
    def set_inactive(self, ids):
        try:
            count = 0
            for user in users.get_all(*ids):
                users.update(user, active=False)
                count += 1

            flash(
                ngettext('User(s) successfully set to inactive.',
                         '%(count)s users were successfully deactivated.',
                         count,
                         count=count))
        except Exception as ex:
            if not self.handle_view_exception(ex):
                raise
            flash(
                gettext('Failed to set user(s) to inactive. %(error)s',
                        error=str(ex)), 'error')
Example #17
0
 def conv_IPAddressField(self, model, field, kwargs):
     kwargs['validators'].append(validators.ip_address())
     return f.StringField(**kwargs)
Example #18
0
 def IPAddress(cls,ipv4=True, ipv6=False, message=None):
     ''' Validates an IP address. '''
     return validators.ip_address(ipv4, ipv6, message)
Example #19
0
 def test_ip_address(self):
     self.assertEqual(ip_address()(self.form, DummyField('127.0.0.1')), None)
     self.assertRaises(ValidationError, ip_address(), self.form, DummyField('abc.0.0.1'))
     self.assertRaises(ValidationError, ip_address(), self.form, DummyField('1278.0.0.1'))
     self.assertRaises(ValidationError, ip_address(), self.form, DummyField('127.0.0.abc'))
Example #20
0
 def conv_IPAddressField(self, model, field, kwargs):
     kwargs["validators"].append(validators.ip_address())
     return f.TextField(**kwargs)