def test_authmap_repair(self): """Run authmap check and repair""" self._setstaff_login() Users().create_user('test0', 'test test') # Will raise exception, so no assert needed eamap = ExternalAuthMap.objects.get(external_name='test test') mitu = User.objects.get(username='******') self.assertTrue(check_password(eamap.internal_password, mitu.password)) mitu.set_password('not autogenerated') mitu.save() self.assertFalse(check_password(eamap.internal_password, mitu.password)) # Create really non user AuthMap ExternalAuthMap(external_id='ll', external_domain='ll', external_credentials='{}', external_email='[email protected]', external_name='c', internal_password='').save() response = self.client.post(reverse('sysadmin'), { 'action': 'repair_eamap', }) self.assertIn('{0} test0'.format('Failed in authenticating'), response.content) self.assertIn('fixed password', response.content.decode('utf-8')) self.assertTrue( self.client.login(username='******', password=eamap.internal_password)) # Check for all OK self._setstaff_login() response = self.client.post(reverse('sysadmin'), { 'action': 'repair_eamap', }) self.assertIn('All ok!', response.content.decode('utf-8'))
def test_user_csv(self): """Download and validate user CSV""" num_test_users = 100 self._setstaff_login() # Stuff full of users to test streaming for user_num in xrange(num_test_users): Users().create_user('testingman_with_long_name{}'.format(user_num), 'test test') response = self.client.post(reverse('sysadmin'), {'action': 'download_users', }) self.assertIn('attachment', response['Content-Disposition']) self.assertEqual('text/csv', response['Content-Type']) self.assertIn('test_user', response.content) self.assertTrue(num_test_users + 2, len(response.content.splitlines())) # Clean up User.objects.filter( username__startswith='testingman_with_long_name').delete()