def _test_sqs_to_lamdba_to_sqs(self): queue_1 = Queue('unit_tests_temp_queue__1').create() queue_2 = Queue('unit_tests_temp_queue__2').create() lambda_obj = Lambda_Package('osbot_aws.lambdas.pocs.send_event_data_to_queue') #.update_with_root_folder() payload = {'queue_url': queue_2.url(), 'message': 'test 123'} #queue_1.attributes_update({'VisibilityTimeout': '61'}) # needs to be bigger than lambda timeout queue_1_arn = queue_1.attributes().get('QueueArn') function_arn = lambda_obj._lambda.function_Arn() #Dev.pprint(lambda_obj.role_arn) # needed to add the extra priv to pull SQS messages #result = lambda_obj._lambda.boto_lambda().list_event_source_mappings(EventSourceArn=queue_1_arn) # result = lambda_obj._lambda.boto_lambda().create_event_source_mapping( # EventSourceArn=queue_1_arn, # FunctionName=function_arn, # Enabled=True, # BatchSize=1 # ) queue_1.push('some message 1') queue_1.push('some message 2') queue_1.push('some message 3') queue_1.push('some message 4') #lambda_obj.invoke(payload) sleep(2) Dev.pprint(queue_2.pull()) Dev.pprint(queue_2.pull()) Dev.pprint(queue_2.pull()) Dev.pprint(queue_2.pull()) queue_1.delete() queue_2.delete()
def test_lambda_write_to_queue(self): queue_name = 'unit_tests_temp_queue' # Queue(queue_name).create() lambda_name = 'osbot_aws.lambdas.dev.write_queue' message = 'this is a message sent from an lambda function...' queue = Queue(queue_name) queue_url = queue.url() payload = {'queue_url': queue_url, 'message': message} lambda_obj = Lambda_Package(lambda_name) assert lambda_obj.invoke(payload) == {'status': 'ok'} assert Queue(queue_name).pull() == message