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()
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()
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))