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