def test_challenge_phase_create_serializer_with_invalid_data(self): serializer = ChallengePhaseCreateSerializer(data=self.serializer_data) self.assertFalse(serializer.is_valid()) self.assertEqual( set(serializer.errors), set(["test_annotation", "slug"]) )
def setUp(self): super(ChallengePhaseCreateSerializerTest, self).setUp() try: os.makedirs('/tmp/evalai') except OSError: pass with self.settings(MEDIA_ROOT='/tmp/evalai'): self.challenge_phase = ChallengePhase.objects.create( name='Challenge Phase', description='Description for Challenge Phase', leaderboard_public=False, is_public=False, start_date=timezone.now() - timedelta(days=2), end_date=timezone.now() + timedelta(days=1), challenge=self.challenge, test_annotation=SimpleUploadedFile('test_sample_file.txt', 'Dummy file content', content_type='text/plain'), max_submissions_per_day=100000, max_submissions=100000, ) self.serializer_data = { 'id': self.challenge_phase.pk, 'name': 'Challenge Phase', 'description': 'Description for Challenge Phase', 'leaderboard_public': False, 'is_public': False, 'start_date': "{0}{1}".format(self.challenge_phase.start_date.isoformat(), 'Z').replace("+00:00", ""), 'end_date': "{0}{1}".format(self.challenge_phase.end_date.isoformat(), 'Z').replace("+00:00", ""), 'challenge': self.challenge.pk, 'test_annotation': self.challenge_phase.test_annotation.url, 'max_submissions_per_day': 100000, 'max_submissions': 100000, 'codename': self.challenge_phase.codename, 'is_active': self.challenge_phase.is_active, } self.challenge_phase_create_serializer = ChallengePhaseCreateSerializer( instance=self.challenge_phase)
def setUp(self): super(ChallengePhaseCreateSerializerTest, self).setUp() try: os.makedirs("/tmp/evalai") except OSError: pass with self.settings(MEDIA_ROOT="/tmp/evalai"): self.challenge_phase = ChallengePhase.objects.create( name="Challenge Phase", description="Description for Challenge Phase", leaderboard_public=False, is_public=False, start_date=timezone.now() - timedelta(days=2), end_date=timezone.now() + timedelta(days=1), challenge=self.challenge, test_annotation=SimpleUploadedFile( "test_sample_file.txt", b"Dummy file content", content_type="text/plain", ), max_submissions_per_day=100000, max_submissions=100000, max_submissions_per_month=100000, codename="Phase Code Name", is_restricted_to_select_one_submission=True, is_partial_submission_evaluation_enabled=False, ) self.challenge_phase.slug = "{}-{}-{}".format( self.challenge.title.split(" ")[0].lower(), self.challenge_phase.codename.replace(" ", "-").lower(), self.challenge.pk, )[:198] self.challenge_phase.save() self.serializer_data = { "id": self.challenge_phase.pk, "name": "Challenge Phase", "description": "Description for Challenge Phase", "leaderboard_public": False, "is_public": False, "start_date": "{0}{1}".format(self.challenge_phase.start_date.isoformat(), "Z").replace("+00:00", ""), "end_date": "{0}{1}".format(self.challenge_phase.end_date.isoformat(), "Z").replace("+00:00", ""), "challenge": self.challenge.pk, "test_annotation": self.challenge_phase.test_annotation.url, "max_submissions_per_day": 100000, "max_submissions": 100000, "max_submissions_per_month": 100000, "codename": self.challenge_phase.codename, "is_active": self.challenge_phase.is_active, "slug": self.challenge_phase.slug, "max_concurrent_submissions_allowed": self.challenge_phase.max_concurrent_submissions_allowed, "environment_image": self.challenge_phase.environment_image, "is_restricted_to_select_one_submission": self.challenge_phase.is_restricted_to_select_one_submission, "is_partial_submission_evaluation_enabled": self.challenge_phase.is_partial_submission_evaluation_enabled, "allowed_submission_file_types": self.challenge_phase.allowed_submission_file_types, "default_submission_meta_attributes": self.challenge_phase.default_submission_meta_attributes, "allowed_email_ids": self.challenge_phase.allowed_email_ids, } self.challenge_phase_create_serializer = ( ChallengePhaseCreateSerializer(instance=self.challenge_phase)) self.serializer_data_wihout_max_submissions_per_month = { "id": self.challenge_phase.pk, "name": "Challenge Phase", "description": "Description for Challenge Phase", "leaderboard_public": False, "is_public": False, "start_date": "{0}{1}".format(self.challenge_phase.start_date.isoformat(), "Z").replace("+00:00", ""), "end_date": "{0}{1}".format(self.challenge_phase.end_date.isoformat(), "Z").replace("+00:00", ""), "challenge": self.challenge.pk, "test_annotation": self.challenge_phase.test_annotation.url, "max_submissions_per_day": 100, "max_submissions": 500, "codename": self.challenge_phase.codename, "is_active": self.challenge_phase.is_active, "slug": self.challenge_phase.slug, "max_concurrent_submissions_allowed": self.challenge_phase.max_concurrent_submissions_allowed, "environment_image": self.challenge_phase.environment_image, "is_restricted_to_select_one_submission": self.challenge_phase.is_restricted_to_select_one_submission, "is_partial_submission_evaluation_enabled": self.challenge_phase.is_partial_submission_evaluation_enabled, "allowed_submission_file_types": self.challenge_phase.allowed_submission_file_types, "default_submission_meta_attributes": self.challenge_phase.default_submission_meta_attributes, "allowed_email_ids": self.challenge_phase.allowed_email_ids, } self.challenge_phase_create_serializer_without_max_submissions_per_month = ChallengePhaseCreateSerializer( instance=self.challenge_phase) self.serializer_data_without_max_concurrent_submissions_allowed = { "id": self.challenge_phase.pk, "name": "Challenge Phase", "description": "Description for Challenge Phase", "leaderboard_public": False, "is_public": False, "start_date": "{0}{1}".format(self.challenge_phase.start_date.isoformat(), "Z").replace("+00:00", ""), "end_date": "{0}{1}".format(self.challenge_phase.end_date.isoformat(), "Z").replace("+00:00", ""), "challenge": self.challenge.pk, "test_annotation": self.challenge_phase.test_annotation.url, "max_submissions_per_day": 100000, "max_submissions": 100000, "max_submissions_per_month": 100000, "codename": self.challenge_phase.codename, "is_active": self.challenge_phase.is_active, "slug": self.challenge_phase.slug, "is_restricted_to_select_one_submission": self.challenge_phase.is_restricted_to_select_one_submission, "is_partial_submission_evaluation_enabled": self.challenge_phase.is_partial_submission_evaluation_enabled, "allowed_submission_file_types": self.challenge_phase.allowed_submission_file_types, "default_submission_meta_attributes": self.challenge_phase.default_submission_meta_attributes, "allowed_email_ids": self.challenge_phase.allowed_email_ids, } self.challenge_phase_create_serializer_without_max_concurrent_submissions_allowed = ChallengePhaseCreateSerializer( instance=self.challenge_phase)
def setUp(self): super(ChallengePhaseCreateSerializerTest, self).setUp() try: os.makedirs("/tmp/evalai") except OSError: pass with self.settings(MEDIA_ROOT="/tmp/evalai"): self.challenge_phase = ChallengePhase.objects.create( name="Challenge Phase", description="Description for Challenge Phase", leaderboard_public=False, is_public=False, start_date=timezone.now() - timedelta(days=2), end_date=timezone.now() + timedelta(days=1), challenge=self.challenge, test_annotation=SimpleUploadedFile( "test_sample_file.txt", b"Dummy file content", content_type="text/plain", ), max_submissions_per_day=100000, max_submissions=100000, max_submissions_per_month=100000, ) self.serializer_data = { "id": self.challenge_phase.pk, "name": "Challenge Phase", "description": "Description for Challenge Phase", "leaderboard_public": False, "is_public": False, "start_date": "{0}{1}".format(self.challenge_phase.start_date.isoformat(), "Z").replace("+00:00", ""), "end_date": "{0}{1}".format(self.challenge_phase.end_date.isoformat(), "Z").replace("+00:00", ""), "challenge": self.challenge.pk, "test_annotation": self.challenge_phase.test_annotation.url, "max_submissions_per_day": 100000, "max_submissions": 100000, "max_submissions_per_month": 100000, "codename": self.challenge_phase.codename, "is_active": self.challenge_phase.is_active, } self.challenge_phase_create_serializer = ChallengePhaseCreateSerializer( instance=self.challenge_phase) self.serializer_data_wihout_max_submissions_per_month = { "id": self.challenge_phase.pk, "name": "Challenge Phase", "description": "Description for Challenge Phase", "leaderboard_public": False, "is_public": False, "start_date": "{0}{1}".format(self.challenge_phase.start_date.isoformat(), "Z").replace("+00:00", ""), "end_date": "{0}{1}".format(self.challenge_phase.end_date.isoformat(), "Z").replace("+00:00", ""), "challenge": self.challenge.pk, "test_annotation": self.challenge_phase.test_annotation.url, "max_submissions_per_day": 100, "max_submissions": 500, "codename": self.challenge_phase.codename, "is_active": self.challenge_phase.is_active, } self.challenge_phase_create_serializer_wihout_max_submissions_per_month = ChallengePhaseCreateSerializer( instance=self.challenge_phase)