Refactor sqs.get_queue_url
This commit is contained in:
		
							parent
							
								
									23978e644f
								
							
						
					
					
						commit
						6573f69087
					
				| @ -6065,7 +6065,7 @@ | |||||||
| - [X] untag_resource | - [X] untag_resource | ||||||
| 
 | 
 | ||||||
| ## sqs | ## sqs | ||||||
| 75% implemented | 80% implemented | ||||||
| - [X] add_permission | - [X] add_permission | ||||||
| - [X] change_message_visibility | - [X] change_message_visibility | ||||||
| - [ ] change_message_visibility_batch | - [ ] change_message_visibility_batch | ||||||
| @ -6074,7 +6074,7 @@ | |||||||
| - [ ] delete_message_batch | - [ ] delete_message_batch | ||||||
| - [X] delete_queue | - [X] delete_queue | ||||||
| - [ ] get_queue_attributes | - [ ] get_queue_attributes | ||||||
| - [ ] get_queue_url | - [X] get_queue_url | ||||||
| - [X] list_dead_letter_source_queues | - [X] list_dead_letter_source_queues | ||||||
| - [X] list_queue_tags | - [X] list_queue_tags | ||||||
| - [X] list_queues | - [X] list_queues | ||||||
|  | |||||||
| @ -466,6 +466,9 @@ class SQSBackend(BaseBackend): | |||||||
| 
 | 
 | ||||||
|         return queue |         return queue | ||||||
| 
 | 
 | ||||||
|  |     def get_queue_url(self, queue_name): | ||||||
|  |         return self.get_queue(queue_name) | ||||||
|  | 
 | ||||||
|     def list_queues(self, queue_name_prefix): |     def list_queues(self, queue_name_prefix): | ||||||
|         re_str = '.*' |         re_str = '.*' | ||||||
|         if queue_name_prefix: |         if queue_name_prefix: | ||||||
|  | |||||||
| @ -90,13 +90,10 @@ class SQSResponse(BaseResponse): | |||||||
|         request_url = urlparse(self.uri) |         request_url = urlparse(self.uri) | ||||||
|         queue_name = self._get_param("QueueName") |         queue_name = self._get_param("QueueName") | ||||||
| 
 | 
 | ||||||
|         queue = self.sqs_backend.get_queue(queue_name) |         queue = self.sqs_backend.get_queue_url(queue_name) | ||||||
| 
 | 
 | ||||||
|         if queue: |  | ||||||
|         template = self.response_template(GET_QUEUE_URL_RESPONSE) |         template = self.response_template(GET_QUEUE_URL_RESPONSE) | ||||||
|             return template.render(queue=queue, request_url=request_url) |         return template.render(queue_url=queue.url(request_url)) | ||||||
|         else: |  | ||||||
|             return "", dict(status=404) |  | ||||||
| 
 | 
 | ||||||
|     def list_queues(self): |     def list_queues(self): | ||||||
|         request_url = urlparse(self.uri) |         request_url = urlparse(self.uri) | ||||||
| @ -420,7 +417,7 @@ CREATE_QUEUE_RESPONSE = """<CreateQueueResponse> | |||||||
| 
 | 
 | ||||||
| GET_QUEUE_URL_RESPONSE = """<GetQueueUrlResponse> | GET_QUEUE_URL_RESPONSE = """<GetQueueUrlResponse> | ||||||
|     <GetQueueUrlResult> |     <GetQueueUrlResult> | ||||||
|         <QueueUrl>{{ queue.url(request_url) }}</QueueUrl> |         <QueueUrl>{{ queue_url }}</QueueUrl> | ||||||
|     </GetQueueUrlResult> |     </GetQueueUrlResult> | ||||||
|     <ResponseMetadata> |     <ResponseMetadata> | ||||||
|         <RequestId></RequestId> |         <RequestId></RequestId> | ||||||
|  | |||||||
| @ -144,18 +144,42 @@ def test_create_queue_kms(): | |||||||
| def test_create_queue_with_tags(): | def test_create_queue_with_tags(): | ||||||
|     client = boto3.client('sqs', region_name='us-east-1') |     client = boto3.client('sqs', region_name='us-east-1') | ||||||
|     response = client.create_queue( |     response = client.create_queue( | ||||||
|         QueueName = 'test-queue-with-tags', |         QueueName='test-queue-with-tags', | ||||||
|         tags = { |         tags={ | ||||||
|             'tag_key_1': 'tag_value_1' |             'tag_key_1': 'tag_value_1' | ||||||
|         } |         } | ||||||
|     ) |     ) | ||||||
|     queue_url = response['QueueUrl'] |     queue_url = response['QueueUrl'] | ||||||
| 
 | 
 | ||||||
|     client.list_queue_tags(QueueUrl = queue_url)['Tags'].should.equal({ |     client.list_queue_tags(QueueUrl=queue_url)['Tags'].should.equal({ | ||||||
|         'tag_key_1': 'tag_value_1' |         'tag_key_1': 'tag_value_1' | ||||||
|     }) |     }) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @mock_sqs | ||||||
|  | def test_get_queue_url(): | ||||||
|  |     client = boto3.client('sqs', region_name='us-east-1') | ||||||
|  |     client.create_queue(QueueName='test-queue') | ||||||
|  | 
 | ||||||
|  |     response = client.get_queue_url(QueueName='test-queue') | ||||||
|  | 
 | ||||||
|  |     response['QueueUrl'].should.equal( | ||||||
|  |         'https://queue.amazonaws.com/123456789012/test-queue' | ||||||
|  |     ) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | @mock_sqs | ||||||
|  | def test_get_queue_url_errors(): | ||||||
|  |     client = boto3.client('sqs', region_name='us-east-1') | ||||||
|  | 
 | ||||||
|  |     client.get_queue_url.when.called_with( | ||||||
|  |         QueueName='non-existing-queue' | ||||||
|  |     ).should.throw( | ||||||
|  |         ClientError, | ||||||
|  |         'The specified queue does not exist for this wsdl version.' | ||||||
|  |     ) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| @mock_sqs | @mock_sqs | ||||||
| def test_get_nonexistent_queue(): | def test_get_nonexistent_queue(): | ||||||
|     sqs = boto3.resource('sqs', region_name='us-east-1') |     sqs = boto3.resource('sqs', region_name='us-east-1') | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user