Fix dynamo item not found.
This commit is contained in:
		
							parent
							
								
									bbb021d06d
								
							
						
					
					
						commit
						75461cb110
					
				@ -381,6 +381,7 @@ class DynamoDBBackend(BaseBackend):
 | 
				
			|||||||
    def get_item(self, table_name, keys):
 | 
					    def get_item(self, table_name, keys):
 | 
				
			||||||
        table = self.get_table(table_name)
 | 
					        table = self.get_table(table_name)
 | 
				
			||||||
        if not table:
 | 
					        if not table:
 | 
				
			||||||
 | 
					            raise ValueError()
 | 
				
			||||||
            return None
 | 
					            return None
 | 
				
			||||||
        hash_key, range_key = self.get_keys_value(table, keys)
 | 
					        hash_key, range_key = self.get_keys_value(table, keys)
 | 
				
			||||||
        return table.get_item(hash_key, range_key)
 | 
					        return table.get_item(hash_key, range_key)
 | 
				
			||||||
 | 
				
			|||||||
@ -196,8 +196,8 @@ class DynamoHandler(BaseResponse):
 | 
				
			|||||||
            return dynamo_json_dump(item_dict)
 | 
					            return dynamo_json_dump(item_dict)
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            # Item not found
 | 
					            # Item not found
 | 
				
			||||||
            er = 'com.amazonaws.dynamodb.v20111205#ResourceNotFoundException'
 | 
					            er = '{}'
 | 
				
			||||||
            return self.error(er, status=404)
 | 
					            return self.error(er, status=200)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def batch_get_item(self):
 | 
					    def batch_get_item(self):
 | 
				
			||||||
        table_batches = self.body['RequestItems']
 | 
					        table_batches = self.body['RequestItems']
 | 
				
			||||||
 | 
				
			|||||||
@ -10,7 +10,7 @@ try:
 | 
				
			|||||||
    from boto.dynamodb2.fields import HashKey
 | 
					    from boto.dynamodb2.fields import HashKey
 | 
				
			||||||
    from boto.dynamodb2.table import Table
 | 
					    from boto.dynamodb2.table import Table
 | 
				
			||||||
    from boto.dynamodb2.table import Item
 | 
					    from boto.dynamodb2.table import Item
 | 
				
			||||||
    from boto.dynamodb2.exceptions import ConditionalCheckFailedException
 | 
					    from boto.dynamodb2.exceptions import ConditionalCheckFailedException, ItemNotFound
 | 
				
			||||||
except ImportError:
 | 
					except ImportError:
 | 
				
			||||||
    pass
 | 
					    pass
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -369,6 +369,13 @@ def test_get_key_fields():
 | 
				
			|||||||
    kf[0].should.equal('forum_name')
 | 
					    kf[0].should.equal('forum_name')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@requires_boto_gte("2.9")
 | 
				
			||||||
 | 
					@mock_dynamodb2
 | 
				
			||||||
 | 
					def test_get_missing_item():
 | 
				
			||||||
 | 
					    table = create_table()
 | 
				
			||||||
 | 
					    table.get_item.when.called_with(forum_name='missing').should.throw(ItemNotFound)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@requires_boto_gte("2.9")
 | 
					@requires_boto_gte("2.9")
 | 
				
			||||||
@mock_dynamodb2
 | 
					@mock_dynamodb2
 | 
				
			||||||
def test_get_special_item():
 | 
					def test_get_special_item():
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user