示例#1
0
    def assert_validators(self, validators, substract=0):
        load_username_validators(validators)

        new_validators = get_validators()
        self.assertEqual(len(validators) - substract, len(new_validators))
        for val in new_validators:
            self.assertTrue(isinstance(val, Validator), type(val))
示例#2
0
文件: tests.py 项目: RestAuth/server
    def assert_validators(self, validators, substract=0):
        load_username_validators(validators)

        new_validators = get_validators()
        self.assertEqual(len(validators) - substract, len(new_validators))
        for val in new_validators:
            self.assertTrue(isinstance(val, Validator), type(val))
示例#3
0
 def test_drupal_check(self):
     load_username_validators(('Users.validators.DrupalValidator', ))
     self.assertRaises(UsernameInvalid, validate_username, ' foobar')
     self.assertRaises(UsernameInvalid, validate_username, 'foobar ')
     self.assertRaises(UsernameInvalid, validate_username, 'foo  bar')
     self.assertRaises(UsernameInvalid, validate_username, 'foo&bar')
     validate_username('foobar')
示例#4
0
    def test_add_invalid(self):
        # test an invalid resource (that is, with a slash)
        username = '******'
        with capture() as (stdout, stderr):
            try:
                restauth_user(['add', '--password', password1, username])
                self.fail('restauth-user allows invalid characters')
            except SystemExit as e:
                self.assertEqual(e.code, 2)
                self.assertEqual(stdout.getvalue(), '')
                self.assertTrue(stderr.getvalue().startswith('usage: '))

        self.assertItemsEqual(user_backend.list(), [])
        self.assertRaises(UserNotFound, user_backend.check_password, username, password1)

        # load a custom validator:
        load_username_validators(('Users.validators.MediaWikiValidator', ))
        username = '******'
        with capture() as (stdout, stderr):
            try:
                restauth_user(['add', '--password', password1, username])
                self.fail('restauth-user allows invalid characters')
            except SystemExit as e:
                self.assertEqual(e.code, 2)
                self.assertEqual(stdout.getvalue(), '')
                self.assertTrue(stderr.getvalue().startswith('usage: '))
        self.assertItemsEqual(user_backend.list(), [])
        self.assertRaises(UserNotFound, user_backend.check_password, username, password1)

        load_username_validators()
示例#5
0
    def test_linux_check(self):
        load_username_validators(('Users.validators.LinuxValidator', ))
        validate_username('foobar')

        self.assertRaises(UsernameInvalid, validate_username, 'x' * 33)
        self.assertRaises(UsernameInvalid, validate_username, '-foobar')

        with self.settings(RELAXED_LINUX_CHECKS=False):
            self.assertRaises(UsernameInvalid, validate_username, 'foo%bar')
示例#6
0
文件: tests.py 项目: RestAuth/server
 def test_drupal_check(self):
     load_username_validators(('Users.validators.DrupalValidator', ))
     with self.assertRaises(UsernameInvalid):
         validate_username(' foobar')
     with self.assertRaises(UsernameInvalid):
         validate_username('foobar ')
     with self.assertRaises(UsernameInvalid):
         validate_username('foo  bar')
     with self.assertRaises(UsernameInvalid):
         validate_username('foo&bar')
     validate_username('foobar')
示例#7
0
文件: tests.py 项目: RestAuth/server
    def test_linux_check(self):
        load_username_validators(('Users.validators.LinuxValidator', ))
        validate_username('foobar')

        with self.assertRaises(UsernameInvalid):
            validate_username('x' * 33)
        with self.assertRaises(UsernameInvalid):
            validate_username('-foobar')

        with self.settings(RELAXED_LINUX_CHECKS=False), self.assertRaises(UsernameInvalid):
            validate_username('foo%bar')
示例#8
0
文件: tests.py 项目: RestAuth/server
 def test_mediawiki_check(self):
     load_username_validators(('Users.validators.MediaWikiValidator', ))
     with self.settings(MAX_USERNAME_LENGTH=500), self.assertRaises(UsernameInvalid):
         validate_username('x' * 256)
     validate_username('foobar')
示例#9
0
文件: tests.py 项目: RestAuth/server
 def test_email_check(self):
     load_username_validators(('Users.validators.EmailValidator', ))
     with self.assertRaises(UsernameInvalid):
         validate_username('x' * 65)  # more then 64 chars
     validate_username('foobar')
示例#10
0
文件: tests.py 项目: RestAuth/server
 def test_non_ascii_whitespace(self):
     load_username_validators(('Users.validators.XMPPValidator', ))
     with self.assertRaises(UsernameInvalid):
         validate_username('foo bar')
     validate_username('foobar')
示例#11
0
文件: tests.py 项目: RestAuth/server
 def tearDown(self):
     super(ValidatorTests, self).tearDown()
     load_username_validators()
示例#12
0
文件: tests.py 项目: RestAuth/server
 def setUp(self):
     super(ValidatorTests, self).setUp()
     load_username_validators(validators)
示例#13
0
 def setUp(self):
     super(ValidatorTests, self).setUp()
     load_username_validators(validators)
示例#14
0
 def test_mediawiki_check(self):
     load_username_validators(('Users.validators.MediaWikiValidator', ))
     with self.settings(MAX_USERNAME_LENGTH=500):
         self.assertRaises(UsernameInvalid, validate_username, 'x' * 256)
     validate_username('foobar')
示例#15
0
 def test_email_check(self):
     load_username_validators(('Users.validators.EmailValidator', ))
     self.assertRaises(UsernameInvalid, validate_username, 'x' * 65)  # more then 64 chars
     validate_username('foobar')
示例#16
0
 def test_non_ascii_whitespace(self):
     load_username_validators(('Users.validators.XMPPValidator', ))
     self.assertRaises(UsernameInvalid, validate_username, 'foo bar')
     validate_username('foobar')
示例#17
0
 def tearDown(self):
     super(ValidatorTests, self).tearDown()
     load_username_validators()