@ParameterizedTest
    @ValueSource(strings = {"zk", "kraft"})
    public void testCreateWithDefaults(String quorum) throws Exception {
        TestUtils.createTopicWithAdmin(adminClient, testTopicName, scalaBrokers, scalaControllers, defaultNumPartitions, defaultReplicationFactor,
                scala.collection.immutable.Map$.MODULE$.empty(), new Properties()
        );
        List<TopicPartitionInfo> partitions = adminClient
            .describeTopics(Collections.singletonList(testTopicName))
            .allTopicNames()
            .get()
            .get(testTopicName)
            .partitions();
        assertEquals(defaultNumPartitions, partitions.size(), "Unequal partition size: " + partitions.size());
        assertEquals(defaultReplicationFactor, (short) partitions.get(0).replicas().size(), "Unequal replication factor: " + partitions.get(0).replicas().size());
    }
Implementations must override this method to return a set of KafkaConfigs. This method will be invoked for every
test and should not reuse previous configurations unless they select their ports randomly when servers are started.

Note the replica fetch max bytes is set to `1` in order to throttle the rate of replication for test
`testDescribeUnderReplicatedPartitionsWhenReassignmentIsInProgress`.
tools/src/test/java/org/apache/kafka/tools/TopicCommandIntegrationTest.java