def qtype(aws_creds): # build name = name_with_hostname_prefix() service = MTurkService(**aws_creds) qtype = service.create_qualification_type( name=name, description=TEST_QUALIFICATION_DESCRIPTION, status='Active', ) yield qtype # clean up service.dispose_qualification_type(qtype['id'])
def with_cleanup(aws_creds, request): # tear-down: clean up all specially-marked HITs: def test_hits_only(hit): return hit['description'] == TEST_HIT_DESCRIPTION + str(os.getpid()) service = MTurkService(**aws_creds) request.instance._qtypes_to_purge = [] try: yield service except Exception as e: raise e finally: try: for hit in service.get_hits(test_hits_only): service.disable_hit(hit['id']) # remove QualificationTypes we may have added: for qtype_id in request.instance._qtypes_to_purge: service.dispose_qualification_type(qtype_id) except Exception: # Broad exception so we don't leak credentials in Travis CI logs pass