def test_sanity_test_table_task(self, mock_config): mock_config.get_config.return_value.get.return_value = AWS_ACCESS_KEY t = TestSanityTestDynamoDBTableTask() # mock s3 location for writing output token s3_client = S3Client(AWS_ACCESS_KEY, AWS_SECRET_KEY) s3_client.s3.create_bucket('mybucket') # create table table_name = 'dynamo_table1' schema = [HashKey('my_hash', data_type=STRING)] indexes = [ AllIndex('IndexName', parts=[ HashKey('my_hash', data_type=STRING), RangeKey('range_index', data_type=NUMBER) ]) ] throughput = {'read': 2, 'write': 4} client = DynamoDBClient(aws_access_key_id=AWS_ACCESS_KEY, aws_secret_access_key=AWS_SECRET_KEY) client.create_table(table_name, schema, throughput, indexes=indexes) self.assertRaises(DynamoDBTaskException, luigi.build([t], local_scheduler=True))
def test_create_table_task(self, mock_config): mock_config.get_config.return_value.get.return_value = AWS_ACCESS_KEY t = TestCreateDynamoDBTableTask() s3_client = S3Client(AWS_ACCESS_KEY, AWS_SECRET_KEY) s3_client.s3.create_bucket('mybucket') luigi.build([t], local_scheduler=True) client = DynamoDBClient(aws_access_key_id=AWS_ACCESS_KEY, aws_secret_access_key=AWS_SECRET_KEY) table = client.get_table('dynamo_table1') self.assertEquals(2, table.throughput['read']) self.assertEquals(3, table.throughput['write']) self.assertEquals('key1', table.schema[0].name)
def test_create_table(self): table_name = 'dynamo_table' schema = [HashKey('my_hash', data_type=STRING)] indexes = [ AllIndex('IndexName', parts=[ HashKey('my_hash', data_type=STRING), RangeKey('range_index', data_type=NUMBER) ]) ] throughput = {'read': 2, 'write': 4} client = DynamoDBClient(aws_access_key_id=AWS_ACCESS_KEY, aws_secret_access_key=AWS_SECRET_KEY) client.create_table(table_name, schema, throughput, indexes=indexes) table = client.get_table(table_name) self.assertEquals(2, table.throughput['read']) self.assertEquals(4, table.throughput['write']) self.assertEquals('my_hash', table.schema[0].name)