def test_create_partition_batches_by_one_hundred(self): self.s3.create_bucket(Bucket=self.bucket) self.helper.make_database_and_table() partitions = sorted(self.helper.create_many_partitions(count=150)) partitioner = Partitioner(self.database, self.table, aws_region=self.region) create_partitions_mock = MagicMock(return_value=[]) partitioner.glue.batch_create_partition = create_partitions_mock partitioner.create_partitions(partitions) first_list = [ partitioner._partition_input(p) for p in partitions[:100] ] second_list = [ partitioner._partition_input(p) for p in partitions[100:] ] calls = [ call(DatabaseName=self.database, TableName=self.table, PartitionInputList=first_list), call(DatabaseName=self.database, TableName=self.table, PartitionInputList=second_list), ] create_partitions_mock.call_count.should.equal(2) create_partitions_mock.assert_has_calls(calls)
def test_create_partitions(self): self.s3.create_bucket(Bucket=self.bucket) self.helper.make_database_and_table() partition = self.helper.create_partition_data() partitioner = Partitioner(self.database, self.table, aws_region=self.region) create_partitions_mock = MagicMock(return_value=[]) partitioner.glue.batch_create_partition = create_partitions_mock partitioner.create_partitions([partition]) create_partitions_mock.assert_called_with( DatabaseName=self.database, TableName=self.table, PartitionInputList=[partitioner._partition_input(partition)])