Refactor sqs.get_queue_url
This commit is contained in:
		
							parent
							
								
									23978e644f
								
							
						
					
					
						commit
						6573f69087
					
				| @ -6065,7 +6065,7 @@ | ||||
| - [X] untag_resource | ||||
| 
 | ||||
| ## sqs | ||||
| 75% implemented | ||||
| 80% implemented | ||||
| - [X] add_permission | ||||
| - [X] change_message_visibility | ||||
| - [ ] change_message_visibility_batch | ||||
| @ -6074,7 +6074,7 @@ | ||||
| - [ ] delete_message_batch | ||||
| - [X] delete_queue | ||||
| - [ ] get_queue_attributes | ||||
| - [ ] get_queue_url | ||||
| - [X] get_queue_url | ||||
| - [X] list_dead_letter_source_queues | ||||
| - [X] list_queue_tags | ||||
| - [X] list_queues | ||||
|  | ||||
| @ -466,6 +466,9 @@ class SQSBackend(BaseBackend): | ||||
| 
 | ||||
|         return queue | ||||
| 
 | ||||
|     def get_queue_url(self, queue_name): | ||||
|         return self.get_queue(queue_name) | ||||
| 
 | ||||
|     def list_queues(self, queue_name_prefix): | ||||
|         re_str = '.*' | ||||
|         if queue_name_prefix: | ||||
|  | ||||
| @ -90,13 +90,10 @@ class SQSResponse(BaseResponse): | ||||
|         request_url = urlparse(self.uri) | ||||
|         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) | ||||
|             return template.render(queue=queue, request_url=request_url) | ||||
|         else: | ||||
|             return "", dict(status=404) | ||||
|         return template.render(queue_url=queue.url(request_url)) | ||||
| 
 | ||||
|     def list_queues(self): | ||||
|         request_url = urlparse(self.uri) | ||||
| @ -420,7 +417,7 @@ CREATE_QUEUE_RESPONSE = """<CreateQueueResponse> | ||||
| 
 | ||||
| GET_QUEUE_URL_RESPONSE = """<GetQueueUrlResponse> | ||||
|     <GetQueueUrlResult> | ||||
|         <QueueUrl>{{ queue.url(request_url) }}</QueueUrl> | ||||
|         <QueueUrl>{{ queue_url }}</QueueUrl> | ||||
|     </GetQueueUrlResult> | ||||
|     <ResponseMetadata> | ||||
|         <RequestId></RequestId> | ||||
|  | ||||
| @ -156,6 +156,30 @@ def test_create_queue_with_tags(): | ||||
|     }) | ||||
| 
 | ||||
| 
 | ||||
| @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 | ||||
| def test_get_nonexistent_queue(): | ||||
|     sqs = boto3.resource('sqs', region_name='us-east-1') | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user