Exemple #1
0
    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)
Exemple #3
0
    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)