diff --git a/tests/rptest/clients/rpk.py b/tests/rptest/clients/rpk.py index 4013e9958ebc..e248eae95eb9 100644 --- a/tests/rptest/clients/rpk.py +++ b/tests/rptest/clients/rpk.py @@ -132,6 +132,10 @@ def create_topic(self, topic, partitions=1, replicas=None, config=None): self._check_stdout_success(output) return output + def add_partitions(self, topic, partitions): + cmd = ["add-partitions", topic, "-n", str(partitions)] + return self._run_topic(cmd) + def _check_stdout_success(self, output): """ Helper for topic operations where rpk does not surface errors diff --git a/tests/rptest/tests/rpk_topic_test.py b/tests/rptest/tests/rpk_topic_test.py index ecfcbcb5fbfa..45811e87abab 100644 --- a/tests/rptest/tests/rpk_topic_test.py +++ b/tests/rptest/tests/rpk_topic_test.py @@ -46,6 +46,13 @@ def test_create_topic_with_invalid_config(self, config_type): lambda e: "INVALID_CONFIG" in str(e)): out = self._rpk.create_topic("topic", config={config_type: "foo"}) + @cluster(num_nodes=1) + def test_add_unfeasible_number_of_partitions(self): + with expect_exception(RpkException, + lambda e: "INVALID_REQUEST" in str(e)): + self._rpk.create_topic("topic") + out = self._rpk.add_partitions("topic", 2000000000000) + @cluster(num_nodes=4) def test_produce(self): topic = 'topic'