Exemple #1
0
    def test_not_assigned_semifinal_in_assigned_semifinal(self):
        from contest.models import Contestant
        user = get_user_model()(username="******",
                                email="*****@*****.**")
        user.save()
        contestant = Contestant(edition=self.edition, user=user)
        contestant.save()
        policy = OpenIDClientPolicy(openid_client=self.oidc_client,
                                    allow_assigned_semifinal=True)
        policy.save()

        self.assertFalse(policy.is_user_allowed(user))

        user.delete()
        policy.delete()
Exemple #2
0
 def setUp(self):
     self.edition = Edition.objects.create(
         year=2016,
         date_begin=make_aware(datetime(2015, 8, 25)),
         date_end=make_aware(datetime(2016, 5, 30)))
     self.edition.save()
     qualif = Event.objects.create(edition=self.edition,
                                   type=Event.Type.qualification.value,
                                   date_begin=make_aware(
                                       datetime(2015, 9, 1)),
                                   date_end=make_aware(datetime(2016, 1,
                                                                1)))
     qualif.save()
     semi1 = Event.objects.create(edition=self.edition,
                                  type=Event.Type.semifinal.value,
                                  date_begin=make_aware(datetime(
                                      2016, 2, 1)),
                                  date_end=make_aware(datetime(2016, 2, 2)))
     semi1.save()
     semi2 = Event.objects.create(edition=self.edition,
                                  type=Event.Type.semifinal.value,
                                  date_begin=make_aware(datetime(
                                      2016, 3, 1)),
                                  date_end=make_aware(datetime(2016, 3, 2)))
     semi2.save()
     semi3 = Event.objects.create(edition=self.edition,
                                  type=Event.Type.semifinal.value,
                                  date_begin=make_aware(datetime(
                                      2016, 4, 1)),
                                  date_end=make_aware(datetime(2016, 4, 2)))
     semi3.save()
     final = Event.objects.create(edition=self.edition,
                                  type=Event.Type.final.value,
                                  date_begin=make_aware(
                                      datetime(2016, 5, 20)),
                                  date_end=make_aware(datetime(2016, 5,
                                                               23)))
     final.save()
     self.noob_user = ProloginUser(username='******',
                                   email='*****@*****.**')
     self.noob_user.save()
     self.noob_contestant = Contestant(
         user=self.noob_user,
         edition=self.edition,
         assignation_semifinal=Assignation.ruled_out.value)
     self.noob_contestant.save()
     self.semifinal_user = ProloginUser(username='******',
                                        email='*****@*****.**')
     self.semifinal_user.save()
     self.semifinal_contestant = Contestant(
         user=self.semifinal_user,
         edition=self.edition,
         assignation_semifinal=Assignation.assigned.value,
         assignation_final=Assignation.ruled_out.value)
     self.semifinal_contestant.save()
     self.final_user = ProloginUser(username='******',
                                    email='*****@*****.**')
     self.final_user.save()
     self.final_contestant = Contestant(
         user=self.final_user,
         edition=self.edition,
         assignation_semifinal=Assignation.assigned.value,
         assignation_final=Assignation.assigned.value)
     self.final_contestant.save()
Exemple #3
0
def add_contestant(user, contest):
    contestant = Contestant(contest=contest, user=user)
    contestant.save()
    logger.info('Contest: User %s attends Contest %s!' %
                (user.username, contest.id))