def test_requiring_nonexistent_activities_be_public_raises_exception(self): with self.assertRaisesRegexp(Exception, 'non-existent exploration'): summary_services.require_activities_to_be_public([ activity_domain.ActivityReference( feconf.ACTIVITY_TYPE_EXPLORATION, 'fake')]) with self.assertRaisesRegexp(Exception, 'non-existent collection'): summary_services.require_activities_to_be_public([ activity_domain.ActivityReference( feconf.ACTIVITY_TYPE_COLLECTION, 'fake')])
def test_requiring_nonexistent_activities_be_public_raises_exception(self): with self.assertRaisesRegex(Exception, 'non-existent exploration'): summary_services.require_activities_to_be_public([ activity_domain.ActivityReference( constants.ACTIVITY_TYPE_EXPLORATION, 'fake')]) with self.assertRaisesRegex(Exception, 'non-existent collection'): summary_services.require_activities_to_be_public([ activity_domain.ActivityReference( constants.ACTIVITY_TYPE_COLLECTION, 'fake')])
def test_requiring_public_activities_to_be_public_succeeds(self): self.save_new_valid_exploration(self.EXP_ID_0, self.owner_id) self.save_new_valid_collection( self.COL_ID_2, self.owner_id, exploration_id=self.EXP_ID_0) rights_manager.publish_exploration(self.owner, self.EXP_ID_0) rights_manager.publish_collection(self.owner, self.COL_ID_2) # There are no validation errors. summary_services.require_activities_to_be_public([ activity_domain.ActivityReference( constants.ACTIVITY_TYPE_EXPLORATION, self.EXP_ID_0), activity_domain.ActivityReference( constants.ACTIVITY_TYPE_COLLECTION, self.COL_ID_2)])
def test_requiring_private_activities_to_be_public_raises_exception(self): self.save_new_valid_exploration(self.EXP_ID_0, self.owner_id) self.save_new_valid_exploration(self.EXP_ID_1, self.owner_id) self.save_new_valid_collection( self.COL_ID_2, self.owner_id, exploration_id=self.EXP_ID_0) with self.assertRaisesRegex(Exception, 'private exploration'): summary_services.require_activities_to_be_public([ activity_domain.ActivityReference( constants.ACTIVITY_TYPE_EXPLORATION, self.EXP_ID_0)]) with self.assertRaisesRegex(Exception, 'private collection'): summary_services.require_activities_to_be_public([ activity_domain.ActivityReference( constants.ACTIVITY_TYPE_COLLECTION, self.COL_ID_2)])
def test_requiring_public_activities_to_be_public_succeeds(self): self.save_new_valid_exploration(self.EXP_ID_0, self.owner_id) self.save_new_valid_collection( self.COL_ID_2, self.owner_id, exploration_id=self.EXP_ID_0) rights_manager.publish_exploration(self.owner_id, self.EXP_ID_0) rights_manager.publish_collection(self.owner_id, self.COL_ID_2) # There are no validation errors. summary_services.require_activities_to_be_public([ activity_domain.ActivityReference( feconf.ACTIVITY_TYPE_EXPLORATION, self.EXP_ID_0), activity_domain.ActivityReference( feconf.ACTIVITY_TYPE_COLLECTION, self.COL_ID_2)])
def test_requiring_private_activities_to_be_public_raises_exception(self): self.save_new_valid_exploration(self.EXP_ID_0, self.owner_id) self.save_new_valid_exploration(self.EXP_ID_1, self.owner_id) self.save_new_valid_collection( self.COL_ID_2, self.owner_id, exploration_id=self.EXP_ID_0) with self.assertRaisesRegexp(Exception, 'private exploration'): summary_services.require_activities_to_be_public([ activity_domain.ActivityReference( feconf.ACTIVITY_TYPE_EXPLORATION, self.EXP_ID_0)]) with self.assertRaisesRegexp(Exception, 'private collection'): summary_services.require_activities_to_be_public([ activity_domain.ActivityReference( feconf.ACTIVITY_TYPE_COLLECTION, self.COL_ID_2)])
def post(self): """Handles POST requests.""" featured_activity_references = self.normalized_payload.get( 'featured_activity_reference_dicts') try: summary_services.require_activities_to_be_public( featured_activity_references) except Exception as e: raise self.InvalidInputException(e) activity_services.update_featured_activity_references( featured_activity_references) self.render_json({})
def post(self): """Handles POST requests.""" featured_activity_reference_dicts = self.payload.get( 'featured_activity_reference_dicts') featured_activity_references = [ activity_domain.ActivityReference( reference_dict['type'], reference_dict['id']) for reference_dict in featured_activity_reference_dicts] try: summary_services.require_activities_to_be_public( featured_activity_references) except Exception as e: raise self.InvalidInputException(e) activity_services.update_featured_activity_references( featured_activity_references) self.render_json({})