This is an automated email from the ASF dual-hosted git repository.
nkurihar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/master by this push:
new 7037c5e [cli] Fix output format of string by pulsar-admin command
(#11878)
7037c5e is described below
commit 7037c5e71bf80f5f41b9b3736f68c1e521af632a
Author: Masahiro Sakamoto <[email protected]>
AuthorDate: Mon Oct 25 10:50:02 2021 +0900
[cli] Fix output format of string by pulsar-admin command (#11878)
* Fix output format of list of strings by pulsar-admin command
* Fix test code
* Fix docs
---
.../org/apache/pulsar/admin/cli/CliCommand.java | 6 +++-
.../org/apache/pulsar/admin/cli/TestCmdTopics.java | 34 ++++++++++++++++++++++
site2/docs/io-quickstart.md | 10 +++----
.../tests/integration/cli/FunctionsCLITest.java | 4 +--
.../integration/functions/PulsarFunctionsTest.java | 10 +++----
.../integration/functions/PulsarStateTest.java | 6 ++--
.../io/PulsarGenericObjectSinkTest.java | 2 +-
.../integration/io/sinks/PulsarIOSinkRunner.java | 6 ++--
.../io/sources/AvroKafkaSourceTest.java | 2 +-
.../integration/io/sources/BatchSourceTest.java | 4 +--
.../io/sources/GenericRecordSourceTest.java | 4 +--
.../io/sources/PulsarIOSourceRunner.java | 4 +--
.../io/sources/PulsarSourcePropertyTest.java | 2 +-
13 files changed, 66 insertions(+), 28 deletions(-)
diff --git
a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CliCommand.java
b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CliCommand.java
index 2f1cf72..6a1428a 100644
---
a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CliCommand.java
+++
b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CliCommand.java
@@ -188,7 +188,11 @@ abstract class CliCommand {
<T> void print(T item) {
try {
- System.out.println(writer.writeValueAsString(item));
+ if (item instanceof String) {
+ System.out.println(item);
+ } else {
+ System.out.println(writer.writeValueAsString(item));
+ }
} catch (Exception e) {
throw new RuntimeException(e);
}
diff --git
a/pulsar-client-tools/src/test/java/org/apache/pulsar/admin/cli/TestCmdTopics.java
b/pulsar-client-tools/src/test/java/org/apache/pulsar/admin/cli/TestCmdTopics.java
index 9dee2b1..fb53600 100644
---
a/pulsar-client-tools/src/test/java/org/apache/pulsar/admin/cli/TestCmdTopics.java
+++
b/pulsar-client-tools/src/test/java/org/apache/pulsar/admin/cli/TestCmdTopics.java
@@ -18,8 +18,19 @@
*/
package org.apache.pulsar.admin.cli;
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.anyString;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import com.google.common.collect.Lists;
+import java.io.ByteArrayOutputStream;
+import java.io.PrintStream;
import java.util.ArrayList;
import java.util.List;
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.Topics;
import org.apache.pulsar.client.impl.MessageIdImpl;
import
org.apache.pulsar.common.policies.data.ManagedLedgerInternalStats.LedgerInfo;
import org.testng.Assert;
@@ -54,4 +65,27 @@ public class TestCmdTopics {
Assert.assertEquals(CmdTopics.findFirstLedgerWithinThreshold(ledgers,
5000),
new MessageIdImpl(1, 0, -1));
}
+
+ @Test
+ public void testListCmd() throws Exception {
+ List<String> topicList =
Lists.newArrayList("persistent://public/default/t1",
"persistent://public/default/t2",
+ "persistent://public/default/t3");
+
+ Topics topics = mock(Topics.class);
+ doReturn(topicList).when(topics).getList(anyString(), any());
+
+ PulsarAdmin admin = mock(PulsarAdmin.class);
+ when(admin.topics()).thenReturn(topics);
+
+ CmdTopics cmd = new CmdTopics(() -> admin);
+
+ PrintStream defaultSystemOut = System.out;
+ try (ByteArrayOutputStream out = new ByteArrayOutputStream();
PrintStream ps = new PrintStream(out)) {
+ System.setOut(ps);
+ cmd.run("list public/default".split("\\s+"));
+ Assert.assertEquals(out.toString(), String.join("\n", topicList) +
"\n");
+ } finally {
+ System.setOut(defaultSystemOut);
+ }
+ }
}
diff --git a/site2/docs/io-quickstart.md b/site2/docs/io-quickstart.md
index 75b48d1..e354896 100644
--- a/site2/docs/io-quickstart.md
+++ b/site2/docs/io-quickstart.md
@@ -558,7 +558,7 @@ This sink connector runs as a Pulsar Function and writes
the messages produced i
The sink has been created successfully if the following message appears.
```bash
-"Created successfully"
+Created successfully
```
### Inspect a JDBC sink
@@ -682,7 +682,7 @@ $ bin/pulsar-admin sinks stop \
The sink instance has been stopped successfully if the following message
disappears.
```bash
-"Stopped successfully"
+Stopped successfully
```
### Restart a JDBC sink
@@ -704,7 +704,7 @@ $ bin/pulsar-admin sinks restart \
The sink instance has been started successfully if the following message
disappears.
```bash
-"Started successfully"
+Started successfully
```
> #### Tip
@@ -735,7 +735,7 @@ $ bin/pulsar-admin sinks update \
The sink connector has been updated successfully if the following message
disappears.
```bash
-"Updated successfully"
+Updated successfully
```
This example double-checks the information.
@@ -794,7 +794,7 @@ $ bin/pulsar-admin sinks delete \
The sink connector has been deleted successfully if the following message
appears.
```text
-"Deleted successfully"
+Deleted successfully
```
This example double-checks the status of the sink connector.
diff --git
a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/cli/FunctionsCLITest.java
b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/cli/FunctionsCLITest.java
index a89d36d..75987f1 100644
---
a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/cli/FunctionsCLITest.java
+++
b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/cli/FunctionsCLITest.java
@@ -54,7 +54,7 @@ public class FunctionsCLITest extends PulsarFunctionsTestBase
{
};
ContainerExecResult output =
pulsarCluster.getAnyWorker().execCmd(commands);
assertEquals(0, output.getExitCode());
- assertTrue(output.getStdout().contains("\"Uploaded successfully\""));
+ assertTrue(output.getStdout().contains("Uploaded successfully"));
return bkPkgPath;
}
@@ -77,7 +77,7 @@ public class FunctionsCLITest extends PulsarFunctionsTestBase
{
WorkerContainer container = pulsarCluster.getAnyWorker();
ContainerExecResult output = container.execCmd(commands);
assertEquals(0, output.getExitCode());
- assertTrue(output.getStdout().contains("\"Downloaded successfully\""));
+ assertTrue(output.getStdout().contains("Downloaded successfully"));
String[] diffCommand = {
"diff",
PulsarCluster.ADMIN_SCRIPT,
diff --git
a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/functions/PulsarFunctionsTest.java
b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/functions/PulsarFunctionsTest.java
index 87357a04..97d2c7b 100644
---
a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/functions/PulsarFunctionsTest.java
+++
b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/functions/PulsarFunctionsTest.java
@@ -272,7 +272,7 @@ public abstract class PulsarFunctionsTest extends
PulsarFunctionsTestBase {
};
ContainerExecResult containerExecResult =
pulsarCluster.getAnyWorker().execCmd(commands);
- assertTrue(containerExecResult.getStdout().contains("\"Created
successfully\""));
+ assertTrue(containerExecResult.getStdout().contains("Created
successfully"));
// get function info
getFunctionInfoSuccess(functionName);
@@ -848,7 +848,7 @@ public abstract class PulsarFunctionsTest extends
PulsarFunctionsTestBase {
};
ContainerExecResult result = pulsarCluster.getAnyWorker().execCmd(
commands);
- assertTrue(result.getStdout().contains("\"Created successfully\""));
+ assertTrue(result.getStdout().contains("Created successfully"));
if (StringUtils.isNotEmpty(inputTopicName)) {
ensureSubscriptionCreated(
@@ -869,7 +869,7 @@ public abstract class PulsarFunctionsTest extends
PulsarFunctionsTestBase {
};
ContainerExecResult result = pulsarCluster.getAnyWorker().execCmd(
commands);
- assertTrue(result.getStdout().contains("\"Updated successfully\""));
+ assertTrue(result.getStdout().contains("Updated successfully"));
}
protected <T> void submitFunction(Runtime runtime,
@@ -912,7 +912,7 @@ public abstract class PulsarFunctionsTest extends
PulsarFunctionsTestBase {
};
ContainerExecResult result = pulsarCluster.getAnyWorker().execCmd(
commands);
- assertTrue(result.getStdout().contains("\"Created successfully\""));
+ assertTrue(result.getStdout().contains("Created successfully"));
}
private <T> void ensureSubscriptionCreated(String inputTopicName,
@@ -1514,7 +1514,7 @@ public abstract class PulsarFunctionsTest extends
PulsarFunctionsTestBase {
};
ContainerExecResult result = pulsarCluster.getAnyWorker().execCmd(
commands);
- assertTrue(result.getStdout().contains("\"Created successfully\""));
+ assertTrue(result.getStdout().contains("Created successfully"));
ensureSubscriptionCreated(inputTopicName,
String.format("public/default/%s", functionName), schema);
}
diff --git
a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/functions/PulsarStateTest.java
b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/functions/PulsarStateTest.java
index c5fb6ec..21b1df1 100644
---
a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/functions/PulsarStateTest.java
+++
b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/functions/PulsarStateTest.java
@@ -199,7 +199,7 @@ public class PulsarStateTest extends
PulsarStandaloneTestSuite {
log.info("Run command : {}", StringUtils.join(commands, ' '));
ContainerExecResult result = container.execCmd(commands);
assertTrue(
- result.getStdout().contains("\"Created successfully\""),
+ result.getStdout().contains("Created successfully"),
result.getStdout());
}
@@ -218,7 +218,7 @@ public class PulsarStateTest extends
PulsarStandaloneTestSuite {
log.info("Run command : {}", StringUtils.join(commands, ' '));
ContainerExecResult result = container.execCmd(commands);
assertTrue(
- result.getStdout().contains("\"Created successfully\""),
+ result.getStdout().contains("Created successfully"),
result.getStdout());
}
@@ -267,7 +267,7 @@ public class PulsarStateTest extends
PulsarStandaloneTestSuite {
};
ContainerExecResult result = container.execCmd(
commands);
- assertTrue(result.getStdout().contains("\"Created successfully\""));
+ assertTrue(result.getStdout().contains("Created successfully"));
ensureSubscriptionCreated(inputTopicName,
String.format("public/default/%s", functionName), inputTopicSchema);
}
diff --git
a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/PulsarGenericObjectSinkTest.java
b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/PulsarGenericObjectSinkTest.java
index fc266a5..e5b1698 100644
---
a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/PulsarGenericObjectSinkTest.java
+++
b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/PulsarGenericObjectSinkTest.java
@@ -270,7 +270,7 @@ public class PulsarGenericObjectSinkTest extends
PulsarStandaloneTestSuite {
log.info("Run command : {}", StringUtils.join(commands, ' '));
ContainerExecResult result = container.execCmd(commands);
assertTrue(
- result.getStdout().contains("\"Created successfully\""),
+ result.getStdout().contains("Created successfully"),
result.getStdout());
}
diff --git
a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/sinks/PulsarIOSinkRunner.java
b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/sinks/PulsarIOSinkRunner.java
index 92b6196..4b055d1 100644
---
a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/sinks/PulsarIOSinkRunner.java
+++
b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/sinks/PulsarIOSinkRunner.java
@@ -173,7 +173,7 @@ public class PulsarIOSinkRunner extends PulsarIOTestRunner {
log.info("Run command : {}", StringUtils.join(commands, ' '));
ContainerExecResult result =
pulsarCluster.getAnyWorker().execCmd(commands);
assertTrue(
- result.getStdout().contains("\"Created successfully\""),
+ result.getStdout().contains("Created successfully"),
result.getStdout());
}
@@ -212,7 +212,7 @@ public class PulsarIOSinkRunner extends PulsarIOTestRunner {
log.info("Run command : {}", StringUtils.join(commands, ' '));
ContainerExecResult result =
pulsarCluster.getAnyWorker().execCmd(commands);
assertTrue(
- result.getStdout().contains("\"Updated successfully\""),
+ result.getStdout().contains("Updated successfully"),
result.getStdout());
}
@@ -450,4 +450,4 @@ public class PulsarIOSinkRunner extends PulsarIOTestRunner {
}
return kvs;
}
-}
\ No newline at end of file
+}
diff --git
a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/sources/AvroKafkaSourceTest.java
b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/sources/AvroKafkaSourceTest.java
index 256c49e..94b6969 100644
---
a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/sources/AvroKafkaSourceTest.java
+++
b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/sources/AvroKafkaSourceTest.java
@@ -328,7 +328,7 @@ public class AvroKafkaSourceTest extends
PulsarFunctionsTestBase {
log.info("Run command : {}", StringUtils.join(commands, ' '));
ContainerExecResult result =
pulsarCluster.getAnyWorker().execCmd(commands);
assertTrue(
- result.getStdout().contains("\"Created successfully\""),
+ result.getStdout().contains("Created successfully"),
result.getStdout());
}
diff --git
a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/sources/BatchSourceTest.java
b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/sources/BatchSourceTest.java
index 8ed9e54..a3d9b23 100644
---
a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/sources/BatchSourceTest.java
+++
b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/sources/BatchSourceTest.java
@@ -118,7 +118,7 @@ public class BatchSourceTest extends
PulsarStandaloneTestSuite {
log.info("Run command : {}", StringUtils.join(commands, ' '));
ContainerExecResult result = container.execCmd(commands);
assertTrue(
- result.getStdout().contains("\"Created successfully\""),
+ result.getStdout().contains("Created successfully"),
result.getStdout());
}
@@ -224,4 +224,4 @@ public class BatchSourceTest extends
PulsarStandaloneTestSuite {
}
}
-}
\ No newline at end of file
+}
diff --git
a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/sources/GenericRecordSourceTest.java
b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/sources/GenericRecordSourceTest.java
index 3c961fa..d9484ac 100644
---
a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/sources/GenericRecordSourceTest.java
+++
b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/sources/GenericRecordSourceTest.java
@@ -116,7 +116,7 @@ public class GenericRecordSourceTest extends
PulsarStandaloneTestSuite {
log.info("Run command : {}", StringUtils.join(commands, ' '));
ContainerExecResult result = container.execCmd(commands);
assertTrue(
- result.getStdout().contains("\"Created successfully\""),
+ result.getStdout().contains("Created successfully"),
result.getStdout());
}
@@ -255,4 +255,4 @@ public class GenericRecordSourceTest extends
PulsarStandaloneTestSuite {
}
}
-}
\ No newline at end of file
+}
diff --git
a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/sources/PulsarIOSourceRunner.java
b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/sources/PulsarIOSourceRunner.java
index 68e80fd..ddad6ed 100644
---
a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/sources/PulsarIOSourceRunner.java
+++
b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/sources/PulsarIOSourceRunner.java
@@ -137,7 +137,7 @@ public class PulsarIOSourceRunner extends
PulsarIOTestRunner {
log.info("Run command : {}", StringUtils.join(commands, ' '));
ContainerExecResult result =
pulsarCluster.getAnyWorker().execCmd(commands);
assertTrue(
- result.getStdout().contains("\"Created successfully\""),
+ result.getStdout().contains("Created successfully"),
result.getStdout());
}
@@ -162,7 +162,7 @@ public class PulsarIOSourceRunner extends
PulsarIOTestRunner {
log.info("Run command : {}", StringUtils.join(commands, ' '));
ContainerExecResult result =
pulsarCluster.getAnyWorker().execCmd(commands);
assertTrue(
- result.getStdout().contains("\"Updated successfully\""),
+ result.getStdout().contains("Updated successfully"),
result.getStdout());
}
diff --git
a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/sources/PulsarSourcePropertyTest.java
b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/sources/PulsarSourcePropertyTest.java
index 19da91a..71b7445 100644
---
a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/sources/PulsarSourcePropertyTest.java
+++
b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/sources/PulsarSourcePropertyTest.java
@@ -104,7 +104,7 @@ public class PulsarSourcePropertyTest extends
PulsarStandaloneTestSuite {
log.info("Run command : {}", StringUtils.join(commands, ' '));
ContainerExecResult result = container.execCmd(commands);
assertTrue(
- result.getStdout().contains("\"Created successfully\""),
+ result.getStdout().contains("Created successfully"),
result.getStdout());
}