コード例 #1
0
def test_update_msg_visibility_timeout():
    job_item_key = id_generator.generate_job_item_id()
    queue_name = id_generator.generate_job_item_id()
    queue = get_test_queue(queue_name)

    attribs = {}
    attribs['VisibilityTimeout'] = str(120)
    sqs.set_queue_attributes(queue, attribs)

    message_id = sqs.send_message(
        queue, 'boto3',
        {"job_item_key": {
            "StringValue": job_item_key,
            "DataType": "String"
        }})
    # 1st Try
    message = sqs.get_message_by_key(queue.url, job_item_key)
    msg_receipt = message['ReceiptHandle']
    assert message is not None

    # 2nd - Visibilty Timeout not exceeded
    message = sqs.get_message_by_key(queue.url, job_item_key)
    assert message is None

    new_timeout = 10
    response = sqs.update_msg_visibility_timeout(queue.url, msg_receipt,
                                                 new_timeout)

    # 3rd - Visibilty Timeout not exceeded
    message = sqs.get_message_by_key(queue.url, job_item_key)
    assert message is None

    # Visibilty Timeout exceeded
    time.sleep(new_timeout)

    # 4th message request succeeds
    message = sqs.get_next_message(queue)
    assert message['MessageId'] == message_id

    sqs.delete_queue(queue)
コード例 #2
0
ファイル: test_sqs.py プロジェクト: bfortuner/vaa3d-api
def test_update_msg_visibility_timeout():
	job_item_key = id_generator.generate_job_item_id()
	queue_name = id_generator.generate_job_item_id()
	queue = get_test_queue(queue_name)

	attribs = {}
	attribs['VisibilityTimeout'] = str(120)
	sqs.set_queue_attributes(queue, attribs)

	message_id = sqs.send_message(queue, 'boto3', {
		"job_item_key" : { 
			"StringValue" : job_item_key, 
			"DataType" : "String"
		}
	})
	# 1st Try
	message = sqs.get_message_by_key(queue.url, job_item_key)
	msg_receipt = message['ReceiptHandle']
	assert message is not None

	# 2nd - Visibilty Timeout not exceeded
	message = sqs.get_message_by_key(queue.url, job_item_key)
	assert message is None

	new_timeout = 10
	response = sqs.update_msg_visibility_timeout(queue.url, 
		msg_receipt, new_timeout)

	# 3rd - Visibilty Timeout not exceeded
	message = sqs.get_message_by_key(queue.url, job_item_key)
	assert message is None

	# Visibilty Timeout exceeded
	time.sleep(new_timeout)

	# 4th message request succeeds
	message = sqs.get_next_message(queue)
	assert message['MessageId'] == message_id

	sqs.delete_queue(queue)
コード例 #3
0
ファイル: test_sqs.py プロジェクト: bfortuner/vaa3d-api
def test_get_message_by_key():
	TEST_JOB_ITEM_KEY = id_generator.generate_job_item_id()
	queue_name = id_generator.generate_job_item_id()
	queue = get_test_queue(queue_name)
	message_id = sqs.send_message(queue, 'boto3', {
		"job_item_key" : { 
			"StringValue" : TEST_JOB_ITEM_KEY, 
			"DataType" : "String"
		},
		"job_type" : { 
			"StringValue" : "process_job_item", 
			"DataType" : "String"
		}
	})
	message = sqs.get_message_by_key(queue.url, TEST_JOB_ITEM_KEY)
	assert message_id == message['MessageId']
	assert message['MessageAttributes']['job_item_key']['StringValue'] == TEST_JOB_ITEM_KEY
	sqs.delete_queue(queue)
コード例 #4
0
def test_get_message_by_key():
    TEST_JOB_ITEM_KEY = id_generator.generate_job_item_id()
    queue_name = id_generator.generate_job_item_id()
    queue = get_test_queue(queue_name)
    message_id = sqs.send_message(
        queue, 'boto3', {
            "job_item_key": {
                "StringValue": TEST_JOB_ITEM_KEY,
                "DataType": "String"
            },
            "job_type": {
                "StringValue": "process_job_item",
                "DataType": "String"
            }
        })
    message = sqs.get_message_by_key(queue.url, TEST_JOB_ITEM_KEY)
    assert message_id == message['MessageId']
    assert message['MessageAttributes']['job_item_key'][
        'StringValue'] == TEST_JOB_ITEM_KEY
    sqs.delete_queue(queue)