From 66d1bb0d734f12d758b0f0e9e3c0b42543508f8d Mon Sep 17 00:00:00 2001 From: jiangpengcheng Date: Fri, 24 Jan 2025 12:10:59 +0800 Subject: [PATCH] [improve][fn] Set default tenant and namespace for ListFunctions cmd (#23881) --- .../apache/pulsar/admin/cli/CmdFunctionsTest.java | 13 +++++++++++++ .../org/apache/pulsar/admin/cli/CmdFunctions.java | 10 ++++++++++ 2 files changed, 23 insertions(+) diff --git a/pulsar-client-tools-test/src/test/java/org/apache/pulsar/admin/cli/CmdFunctionsTest.java b/pulsar-client-tools-test/src/test/java/org/apache/pulsar/admin/cli/CmdFunctionsTest.java index d3087b7fc873c..5cac07502b47f 100644 --- a/pulsar-client-tools-test/src/test/java/org/apache/pulsar/admin/cli/CmdFunctionsTest.java +++ b/pulsar-client-tools-test/src/test/java/org/apache/pulsar/admin/cli/CmdFunctionsTest.java @@ -631,6 +631,19 @@ public void testListFunctions() throws Exception { verify(functions, times(1)).getFunctions(eq(TENANT), eq(NAMESPACE)); } + @Test + public void testListFunctionsWithDefaultValue() throws Exception { + cmd.run(new String[] { + "list", + }); + + ListFunctions lister = cmd.getLister(); + assertEquals("public", lister.getTenant()); + assertEquals("default", lister.getNamespace()); + + verify(functions, times(1)).getFunctions(eq("public"), eq("default")); + } + @Test public void testStateGetter() throws Exception { String key = TEST_NAME + "-key"; diff --git a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdFunctions.java b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdFunctions.java index 4c7e058af6de1..a1b8d26ef1883 100644 --- a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdFunctions.java +++ b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdFunctions.java @@ -105,6 +105,16 @@ abstract class NamespaceCommand extends BaseCommand { @Option(names = "--namespace", description = "The namespace of a Pulsar Function") protected String namespace; + + @Override + public void processArguments() { + if (tenant == null) { + tenant = PUBLIC_TENANT; + } + if (namespace == null) { + namespace = DEFAULT_NAMESPACE; + } + } } /**