def test_invalid_aws_client_credentials(self): """ Test invalid AWS client credentials """ try: credentials = "testing" AWSClient(credentials, 'us-west-2') self.fail('Expected InvalidCredentials exception did not ocurr.') except InvalidCredentials: pass
def test_valid_aws_client(self): """ Test valid AWS Credentials """ try: credentials = AWSCredentials( 'AKIAIOSFODNN7EXAMPLE', 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY' ) AWSClient(credentials, 'us-west-2') except InvalidCredentials: self.fail('Unexpected exception initializing AWSClient')
def test_empty_query(self): """ Test empty query from DynamoDB table """ expected = [] dynamo = DynamoDBProvider( AWSClient(self.credentials, 'us-west-2', mock=AWSMockResponses.empty_query_response)) response = dynamo.get_records( TestModel(), 'TestTable', KeyConditionExpression=Key('test1').eq('value1'), IndexName='TestIndex') self.assertListEqual(response, expected)
def test_get_item_not_found(self): """ Test get_item not found from dynamodb table """ key = {'test1': 'value1', 'test2': 'value2'} dynamo = DynamoDBProvider( AWSClient(self.credentials, 'us-west-2', mock=AWSMockResponses.get_empty_item_response)) try: dynamo.get_record(TestModel(), 'TestTable', Key=key) self.fail('Expected exception not raised.') except RecordNotFound as e: pass except Exception as e: self.fail('Unexpected exception: {}'.format(str(e.message)))
def test_basic_put_item(self): """ Test basic put_item into dynamodb table """ expected = { 'test1': 'value1', 'test2': 'value2', 'test3': 'value3', 'test4': 'value4' } dynamo = DynamoDBProvider( AWSClient(self.credentials, 'us-west-2', mock=AWSMockResponses.put_item_response)) response = dynamo.put_record(TestModel(), 'TestTable', Item=expected) self.assertDictEqual(response, expected)
def test_basic_delete_item(self): """ Test basic delete_item from dynamodb table """ expected = { 'test1': 'value1', 'test2': 'value2', 'test3': 'value3', 'test4': 'value4' } key = {'test1': 'value1', 'test2': 'value2'} dynamo = DynamoDBProvider( AWSClient(self.credentials, 'us-west-2', mock=AWSMockResponses.delete_item_response)) response = dynamo.delete_record(TestModel(), 'TestTable', Key=key) self.assertDictEqual(response, expected)
def test_basic_query(self): """ Test basic query from DynamoDB table """ expected = [ { 'test1': 'value1', 'test2': 'value2', 'test3': 'value3', 'test4': 'value4', }, { 'test1': 'value5', 'test2': 'value6', 'test3': 'value7', 'test4': 'value8', }, { 'test1': 'value9', 'test2': 'value10', 'test3': 'value11', 'test4': 'value12', }, { 'test1': 'value13', 'test2': 'value14', 'test3': 'value15', 'test4': 'value16', }, ] dynamo = DynamoDBProvider( AWSClient(self.credentials, 'us-west-2', mock=AWSMockResponses.query_response)) response = dynamo.get_records( TestModel(), 'TestTable', KeyConditionExpression=Key('test1').eq('value1'), IndexName='TestIndex') self.assertListEqual(response, expected)