def testRejectUser(self):
        new_user = TaoUser(username='******', email='*****@*****.**', first_name='fname', last_name='lname', is_active=False, institution='Intersect', scientific_interests='', title='Mr')
        new_user.set_password('password')
        new_user.save()

        self.assertEquals(2, len(TaoUser.objects.all()))
        self.assertFalse(new_user.is_active)
        self.assertFalse(new_user.rejected)

        self.assertTrue(self.client.login(username='******', password='******'))

        outbox = mail.outbox #@UndefinedVariable
        self.assertEqual(0, len(outbox))

        reject_reason = 'Superman cannot use the system.'
        response = self.client.post("/administration/reject_user/%d" % new_user.id, {'reason':reject_reason})

        self.assertEqual(1, len(outbox))
        email_content = str(outbox[0].body)
        self.assertTrue(reject_reason in email_content)

        self.assertEqual(302, response.status_code)
        rejected_user = TaoUser.objects.get(pk=new_user.id)
        self.assertTrue(rejected_user.rejected)
        self.assertFalse(rejected_user.is_active)
 def setUp(self):
     self.client = Client()
     super_user = TaoUser(username='******', email='*****@*****.**', first_name='super', last_name='man', is_active=True, is_staff=True)
     super_user.set_password('superman')
     super_user.save()
     GlobalParameterFactory(parameter_name='approve.html', parameter_value='')
     GlobalParameterFactory(parameter_name='approve.txt', parameter_value='')
     GlobalParameterFactory(parameter_name='registration.html', parameter_value='')
     GlobalParameterFactory(parameter_name='registration.txt', parameter_value='')
     GlobalParameterFactory(parameter_name='reject.html', parameter_value='{{ reason }}')
     GlobalParameterFactory(parameter_name='reject.txt', parameter_value='{{ reason }}')
     mail.outbox = []
示例#3
0
    def setUp(self):
        super(JobTestCase, self).setUp()
        GlobalParameterFactory(parameter_name='job-status.html', parameter_value='{{ job.id }} {{ user.username }}')
        GlobalParameterFactory(parameter_name='job-status.txt', parameter_value='{{ job.id }} {{ user.username }}')

        self.user = TaoUser()
        self.user.save()
        mail.outbox = []
    def testApproveUser(self):
        new_user = TaoUser(username='******', email='*****@*****.**', first_name='fname', last_name='lname', is_active=False, institution='Intersect', scientific_interests='', title='Mr')
        new_user.set_password('password')
        new_user.save()

        self.assertEquals(2, len(TaoUser.objects.all()))
        self.assertFalse(new_user.is_active)

        self.assertTrue(self.client.login(username='******', password='******'))

        outbox = mail.outbox #@UndefinedVariable
        self.assertEqual(0, len(outbox)) 

        response = self.client.post("/administration/approve_user/%d" % new_user.id)

        self.assertEqual(0, len(outbox))
        
        self.assertEqual(302, response.status_code)
        self.assertTrue(TaoUser.objects.get(pk=new_user.id).is_active)
示例#5
0
class JobTestCase(TestCase):
    def setUp(self):
        super(JobTestCase, self).setUp()
        GlobalParameterFactory(parameter_name='job-status.html', parameter_value='{{ job.id }} {{ user.username }}')
        GlobalParameterFactory(parameter_name='job-status.txt', parameter_value='{{ job.id }} {{ user.username }}')

        self.user = TaoUser()
        self.user.save()
        mail.outbox = []

    def tearDown(self):
        super(JobTestCase, self).tearDown()

    def test_initial_job_status(self):
        GlobalParameterFactory(parameter_name='INITIAL_JOB_STATUS', parameter_value='SUBMITTED')
        job = Job(user=self.user)
        self.assertEquals('SUBMITTED', job.status)

    def test_files(self):
        output_path = 'job_dir'
        j = Job(user=self.user, status=Job.COMPLETED, output_path=output_path)
        j.save()
        
        dir_path = os.path.join(settings.FILES_BASE, output_path)
        if not os.path.exists(dir_path):
            os.makedirs(dir_path)
        output_path2 = 'job_dir/job_subdir'
        dir_path2 = os.path.join(settings.FILES_BASE, output_path2)
        if not os.path.exists(dir_path2):
            os.makedirs(dir_path2)
            
        file_names_to_contents = {
                                'file1': 'ksjhfewiu\n',
                                'filez2': 'faeowrfjieawmnc\n',
                                'file3': 'sdlkjfaeowijfiaowjef\n',
                                }
        file_names_to_contents2 = {
                                'job_subdir/fileA': 'aaaaahhhhhhh',
                                'job_subdir/fileB': 'baaaaaaaahhhhhh',
                                }
        from tao.tests import helper
        for file_name in file_names_to_contents.keys():
            helper.create_file(dir_path, file_name, file_names_to_contents)
        for file_name in file_names_to_contents2.keys():
            helper.create_file(dir_path, file_name, file_names_to_contents2)
            
        merged_file_names_to_contents = {}
        merged_file_names_to_contents.update(file_names_to_contents)
        merged_file_names_to_contents.update(file_names_to_contents2)
        self.assertEqual(sorted(merged_file_names_to_contents.keys()), sorted([job_file.file_name for job_file in j.files()]))

    def test_email_sent_only_when_completed(self):
        mail.outbox = []
        job = Job(user=self.user, status=Job.IN_PROGRESS, output_path='job_dir')
        job.save()
        self.assertEqual(0, len(mail.outbox))
        job.status = Job.COMPLETED
        job.save()
        self.assertEqual(1, len(mail.outbox))
        self.assertEquals('[ASVO-TAO] Catalogue status update',
                          mail.outbox[0].subject)
        mail_content = str(mail.outbox[0].body)
        self.assertTrue((str(job.id) in mail_content) and (self.user.username in mail_content))