Example #1
0
    def test_refresh(self):
        setup_mock_response('SearchCerts')
        cert = UUID('adb3261b-c657-4fd2-a057-bc9f85310b80')
        app = app_factory()
        IARCCert.objects.create(app=app, cert_id=cert.get_hex())
        refresh(app)
        eq_(len(responses.calls), 1)
        eq_(responses.calls[0].request.headers.get('StorePassword'),
            settings.IARC_V2_STORE_PASSWORD)
        eq_(responses.calls[0].request.headers.get('StoreID'),
            settings.IARC_V2_STORE_ID)
        eq_(json.loads(responses.calls[0].request.body), {
            'CertID': unicode(cert)
        })

        # Compare with mock data. Force reload using .objects.get in order to
        # properly reset the related objects caching.
        app = Webapp.objects.get(pk=app.pk)
        self.assertSetEqual(
            app.rating_descriptors.to_keys(),
            ['has_classind_lang', 'has_generic_parental_guidance_recommended',
             'has_pegi_parental_guidance_recommended'])
        self.assertSetEqual(
            app.rating_interactives.to_keys(),
            ['has_shares_location', 'has_digital_purchases',
             'has_users_interact'])
        eq_(app.content_ratings.all()[0].get_rating_class(), CLASSIND_12)
Example #2
0
    def test_refresh(self):
        setup_mock_response('SearchCerts')
        cert = UUID('adb3261b-c657-4fd2-a057-bc9f85310b80')
        app = app_factory()
        IARCCert.objects.create(app=app, cert_id=cert.get_hex())
        refresh(app)
        eq_(len(responses.calls), 1)
        eq_(responses.calls[0].request.headers.get('StorePassword'),
            settings.IARC_V2_STORE_PASSWORD)
        eq_(responses.calls[0].request.headers.get('StoreID'),
            settings.IARC_V2_STORE_ID)
        eq_(json.loads(responses.calls[0].request.body),
            {'CertID': unicode(cert)})

        # Compare with mock data. Force reload using .objects.get in order to
        # properly reset the related objects caching.
        app = Webapp.objects.get(pk=app.pk)
        self.assertSetEqual(app.rating_descriptors.to_keys(), [
            'has_classind_lang', 'has_generic_parental_guidance_recommended',
            'has_pegi_parental_guidance_recommended'
        ])
        self.assertSetEqual(app.rating_interactives.to_keys(), [
            'has_shares_location', 'has_digital_purchases',
            'has_users_interact'
        ])
        eq_(app.content_ratings.all()[0].get_rating_class(), CLASSIND_12)
Example #3
0
    def clean_cert_id(self):
        cert_id = self.cleaned_data['cert_id']

        if settings.DEBUG and cert_id == '0':
            # For local developement without IARC server, accept '0' as a
            # special value which will generate a rating locally.
            return None
        try:
            value = UUID(cert_id)
        except ValueError as e:
            raise forms.ValidationError(e.message)

        # Check for existence using the hexadecimal value without a separator.
        if (IARCCert.objects.filter(
                cert_id=value.get_hex()).exclude(app=self.app).exists()):
            raise forms.ValidationError(
                _('This IARC certificate is already being used for another '
                  'app. Please create a new IARC Ratings Certificate.'))

        # Return as string separated by dashes.
        return unicode(value)
Example #4
0
    def clean_cert_id(self):
        cert_id = self.cleaned_data['cert_id']

        if settings.DEBUG and cert_id == '0':
            # For local developement without IARC server, accept '0' as a
            # special value which will generate a rating locally.
            return None
        try:
            value = UUID(cert_id)
        except ValueError as e:
            raise forms.ValidationError(e.message)

        # Check for existence using the hexadecimal value without a separator.
        if (IARCCert.objects.filter(
                cert_id=value.get_hex()).exclude(app=self.app).exists()):
            raise forms.ValidationError(
                _('This IARC certificate is already being used for another '
                  'app. Please create a new IARC Ratings Certificate.'))

        # Return as string separated by dashes.
        return unicode(value)