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))
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')
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()
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')
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')
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')
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')
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')
def test_non_ascii_whitespace(self): load_username_validators(('Users.validators.XMPPValidator', )) with self.assertRaises(UsernameInvalid): validate_username('foo bar') validate_username('foobar')
def tearDown(self): super(ValidatorTests, self).tearDown() load_username_validators()
def setUp(self): super(ValidatorTests, self).setUp() load_username_validators(validators)
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')
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')
def test_non_ascii_whitespace(self): load_username_validators(('Users.validators.XMPPValidator', )) self.assertRaises(UsernameInvalid, validate_username, 'foo bar') validate_username('foobar')