Skip to content

Commit 188355b

Browse files
authored
[fix][admin] Fix deprecated check (apache#22653)
Signed-off-by: Zixuan Liu <[email protected]>
1 parent 3114199 commit 188355b

File tree

4 files changed

+45
-9
lines changed

4 files changed

+45
-9
lines changed

pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSinks.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import com.fasterxml.jackson.core.JsonProcessingException;
2626
import com.fasterxml.jackson.core.type.TypeReference;
2727
import com.fasterxml.jackson.databind.ObjectMapper;
28+
import com.google.common.annotations.VisibleForTesting;
2829
import com.google.gson.Gson;
2930
import com.google.gson.GsonBuilder;
3031
import com.google.gson.reflect.TypeToken;
@@ -197,16 +198,16 @@ private void mergeArgs() {
197198
}
198199
}
199200

200-
@Override
201-
public void runCmd() throws Exception {
201+
@VisibleForTesting
202+
List<String> getLocalRunArgs() throws Exception {
202203
// merge deprecated args with new args
203204
mergeArgs();
204205
List<String> localRunArgs = new LinkedList<>();
205206
localRunArgs.add(System.getenv("PULSAR_HOME") + "/bin/function-localrunner");
206207
localRunArgs.add("--sinkConfig");
207208
localRunArgs.add(new Gson().toJson(sinkConfig));
208209
for (Field field : this.getClass().getDeclaredFields()) {
209-
if (field.getName().startsWith("DEPRECATED")) {
210+
if (field.getName().toUpperCase().startsWith("DEPRECATED")) {
210211
continue;
211212
}
212213
if (field.getName().contains("$")) {
@@ -218,7 +219,12 @@ public void runCmd() throws Exception {
218219
localRunArgs.add(value.toString());
219220
}
220221
}
221-
ProcessBuilder processBuilder = new ProcessBuilder(localRunArgs).inheritIO();
222+
return localRunArgs;
223+
}
224+
225+
@Override
226+
public void runCmd() throws Exception {
227+
ProcessBuilder processBuilder = new ProcessBuilder(getLocalRunArgs()).inheritIO();
222228
Process process = processBuilder.start();
223229
process.waitFor();
224230
}

pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSources.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import com.fasterxml.jackson.core.JsonProcessingException;
2626
import com.fasterxml.jackson.core.type.TypeReference;
2727
import com.fasterxml.jackson.databind.ObjectMapper;
28+
import com.google.common.annotations.VisibleForTesting;
2829
import com.google.gson.Gson;
2930
import com.google.gson.GsonBuilder;
3031
import com.google.gson.reflect.TypeToken;
@@ -198,17 +199,16 @@ private void mergeArgs() {
198199
}
199200
}
200201

201-
@Override
202-
public void runCmd() throws Exception {
202+
@VisibleForTesting
203+
List<String> getLocalRunArgs() throws Exception {
203204
// merge deprecated args with new args
204205
mergeArgs();
205-
206206
List<String> localRunArgs = new LinkedList<>();
207207
localRunArgs.add(System.getenv("PULSAR_HOME") + "/bin/function-localrunner");
208208
localRunArgs.add("--sourceConfig");
209209
localRunArgs.add(new Gson().toJson(sourceConfig));
210210
for (Field field : this.getClass().getDeclaredFields()) {
211-
if (field.getName().startsWith("DEPRECATED")) {
211+
if (field.getName().toUpperCase().startsWith("DEPRECATED")) {
212212
continue;
213213
}
214214
if (field.getName().contains("$")) {
@@ -220,7 +220,12 @@ public void runCmd() throws Exception {
220220
localRunArgs.add(value.toString());
221221
}
222222
}
223-
ProcessBuilder processBuilder = new ProcessBuilder(localRunArgs).inheritIO();
223+
return localRunArgs;
224+
}
225+
226+
@Override
227+
public void runCmd() throws Exception {
228+
ProcessBuilder processBuilder = new ProcessBuilder(getLocalRunArgs()).inheritIO();
224229
Process process = processBuilder.start();
225230
process.waitFor();
226231
}

pulsar-client-tools/src/test/java/org/apache/pulsar/admin/cli/TestCmdSinks.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import static org.mockito.Mockito.spy;
2626
import static org.mockito.Mockito.verify;
2727
import static org.mockito.Mockito.when;
28+
import static org.testng.Assert.assertFalse;
2829
import com.fasterxml.jackson.core.JsonProcessingException;
2930
import com.fasterxml.jackson.dataformat.yaml.YAMLMapper;
3031
import java.io.Closeable;
@@ -37,6 +38,7 @@
3738
import java.util.List;
3839
import java.util.Map;
3940
import lombok.extern.slf4j.Slf4j;
41+
import org.apache.pulsar.admin.cli.CmdSinks.LocalSinkRunner;
4042
import org.apache.pulsar.admin.cli.utils.CmdUtils;
4143
import org.apache.pulsar.client.admin.PulsarAdmin;
4244
import org.apache.pulsar.client.admin.Sinks;
@@ -808,4 +810,14 @@ public void testParseConfigs() throws Exception {
808810
Assert.assertEquals(config.get("float_string"), "1000.0");
809811
Assert.assertEquals(config.get("created_at"), "Mon Jul 02 00:33:15 +0000 2018");
810812
}
813+
814+
@Test
815+
public void testExcludeDeprecatedOptions() throws Exception {
816+
SinkConfig testSinkConfig = getSinkConfig();
817+
LocalSinkRunner localSinkRunner = spy(new CmdSinks(() -> pulsarAdmin)).getLocalSinkRunner();
818+
localSinkRunner.sinkConfig = testSinkConfig;
819+
localSinkRunner.deprecatedBrokerServiceUrl = "pulsar://localhost:6650";
820+
List<String> localRunArgs = localSinkRunner.getLocalRunArgs();
821+
assertFalse(String.join(",", localRunArgs).contains("--deprecated"));
822+
}
811823
}

pulsar-client-tools/src/test/java/org/apache/pulsar/admin/cli/TestCmdSources.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,18 @@
2626
import static org.mockito.Mockito.spy;
2727
import static org.mockito.Mockito.verify;
2828
import static org.mockito.Mockito.when;
29+
import static org.testng.Assert.assertFalse;
2930
import static org.testng.Assert.assertTrue;
3031
import com.fasterxml.jackson.core.JsonProcessingException;
3132
import com.fasterxml.jackson.dataformat.yaml.YAMLMapper;
3233
import java.io.Closeable;
3334
import java.io.File;
3435
import java.io.IOException;
3536
import java.nio.file.Files;
37+
import java.util.List;
3638
import java.util.Map;
3739
import java.util.UUID;
40+
import org.apache.pulsar.admin.cli.CmdSources.LocalSourceRunner;
3841
import org.apache.pulsar.admin.cli.utils.CmdUtils;
3942
import org.apache.pulsar.client.admin.PulsarAdmin;
4043
import org.apache.pulsar.client.admin.Sources;
@@ -680,4 +683,14 @@ public void testParseConfigs() throws Exception {
680683
Assert.assertEquals(config.get("float_string"), "1000.0");
681684
Assert.assertEquals(config.get("created_at"), "Mon Jul 02 00:33:15 +0000 2018");
682685
}
686+
687+
@Test
688+
public void testExcludeDeprecatedOptions() throws Exception {
689+
SourceConfig testSinkConfig = getSourceConfig();
690+
LocalSourceRunner localSourceRunner = spy(new CmdSources(() -> pulsarAdmin)).getLocalSourceRunner();
691+
localSourceRunner.sourceConfig = testSinkConfig;
692+
localSourceRunner.deprecatedBrokerServiceUrl = "pulsar://localhost:6650";
693+
List<String> localRunArgs = localSourceRunner.getLocalRunArgs();
694+
assertFalse(String.join(",", localRunArgs).contains("--deprecated"));
695+
}
683696
}

0 commit comments

Comments
 (0)