mirror of https://github.com/apache/kafka.git
MINOR: Add unit tests for verifying --formatter-property in console tools. (#20560)
*What* In the implementation of KIP-1147 for console tools - https://github.com/apache/kafka/pull/20479/files#diff-85b87c675a4b933e8e0e05c654d35d60e9cfd36cebe3331af825191b2cc688ee, we missed adding unit tests for verifying the new "`--formatter-property`" option. Thanks to @Yunyung for pointing this out. PR adds unit tests to both `ConsoleConsumerOptionsTest` and `ConsoleShareConsumerOptionsTest` to verify the same. Reviewers: Jhen-Yung Hsu <jhenyunghsu@gmail.com>, Chia-Ping Tsai <chia7712@gmail.com>
This commit is contained in:
parent
cbea4f69bd
commit
348e64c57d
|
@ -151,7 +151,7 @@ public class ConsoleConsumerOptionsTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void shouldParseValidSimpleConsumerValidConfigWithStringOffset() throws Exception {
|
public void shouldParseValidSimpleConsumerValidConfigWithStringOffsetDeprecated() throws Exception {
|
||||||
String[] args = new String[]{
|
String[] args = new String[]{
|
||||||
"--bootstrap-server", "localhost:9092",
|
"--bootstrap-server", "localhost:9092",
|
||||||
"--topic", "test",
|
"--topic", "test",
|
||||||
|
@ -171,6 +171,27 @@ public class ConsoleConsumerOptionsTest {
|
||||||
assertFalse(((DefaultMessageFormatter) config.formatter()).printValue());
|
assertFalse(((DefaultMessageFormatter) config.formatter()).printValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void shouldParseValidSimpleConsumerValidConfigWithStringOffset() throws Exception {
|
||||||
|
String[] args = new String[]{
|
||||||
|
"--bootstrap-server", "localhost:9092",
|
||||||
|
"--topic", "test",
|
||||||
|
"--partition", "0",
|
||||||
|
"--offset", "LatEst",
|
||||||
|
"--formatter-property", "print.value=false"
|
||||||
|
};
|
||||||
|
|
||||||
|
ConsoleConsumerOptions config = new ConsoleConsumerOptions(args);
|
||||||
|
|
||||||
|
assertEquals("localhost:9092", config.bootstrapServer());
|
||||||
|
assertEquals("test", config.topicArg().orElse(""));
|
||||||
|
assertTrue(config.partitionArg().isPresent());
|
||||||
|
assertEquals(0, config.partitionArg().getAsInt());
|
||||||
|
assertEquals(-1, config.offsetArg());
|
||||||
|
assertFalse(config.fromBeginning());
|
||||||
|
assertFalse(((DefaultMessageFormatter) config.formatter()).printValue());
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void shouldParseValidConsumerConfigWithAutoOffsetResetLatestDeprecated() throws IOException {
|
public void shouldParseValidConsumerConfigWithAutoOffsetResetLatestDeprecated() throws IOException {
|
||||||
String[] args = new String[]{
|
String[] args = new String[]{
|
||||||
|
@ -355,7 +376,7 @@ public class ConsoleConsumerOptionsTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testCustomPropertyShouldBePassedToConfigureMethod() throws Exception {
|
public void testCustomPropertyShouldBePassedToConfigureMethodDeprecated() throws Exception {
|
||||||
String[] args = new String[]{
|
String[] args = new String[]{
|
||||||
"--bootstrap-server", "localhost:9092",
|
"--bootstrap-server", "localhost:9092",
|
||||||
"--topic", "test",
|
"--topic", "test",
|
||||||
|
@ -377,6 +398,56 @@ public class ConsoleConsumerOptionsTest {
|
||||||
assertTrue(keyDeserializer.isKey);
|
assertTrue(keyDeserializer.isKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testCustomPropertyShouldBePassedToConfigureMethod() throws Exception {
|
||||||
|
String[] args = new String[]{
|
||||||
|
"--bootstrap-server", "localhost:9092",
|
||||||
|
"--topic", "test",
|
||||||
|
"--formatter-property", "print.key=true",
|
||||||
|
"--formatter-property", "key.deserializer=org.apache.kafka.test.MockDeserializer",
|
||||||
|
"--formatter-property", "key.deserializer.my-props=abc"
|
||||||
|
};
|
||||||
|
|
||||||
|
ConsoleConsumerOptions config = new ConsoleConsumerOptions(args);
|
||||||
|
|
||||||
|
assertInstanceOf(DefaultMessageFormatter.class, config.formatter());
|
||||||
|
assertTrue(config.formatterArgs().containsKey("key.deserializer.my-props"));
|
||||||
|
DefaultMessageFormatter formatter = (DefaultMessageFormatter) config.formatter();
|
||||||
|
assertTrue(formatter.keyDeserializer().isPresent());
|
||||||
|
assertInstanceOf(MockDeserializer.class, formatter.keyDeserializer().get());
|
||||||
|
MockDeserializer keyDeserializer = (MockDeserializer) formatter.keyDeserializer().get();
|
||||||
|
assertEquals(1, keyDeserializer.configs.size());
|
||||||
|
assertEquals("abc", keyDeserializer.configs.get("my-props"));
|
||||||
|
assertTrue(keyDeserializer.isKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testCustomConfigShouldBePassedToConfigureMethodDeprecated() throws Exception {
|
||||||
|
Map<String, String> configs = new HashMap<>();
|
||||||
|
configs.put("key.deserializer.my-props", "abc");
|
||||||
|
configs.put("print.key", "false");
|
||||||
|
File propsFile = ToolsTestUtils.tempPropertiesFile(configs);
|
||||||
|
String[] args = new String[]{
|
||||||
|
"--bootstrap-server", "localhost:9092",
|
||||||
|
"--topic", "test",
|
||||||
|
"--property", "print.key=true",
|
||||||
|
"--property", "key.deserializer=org.apache.kafka.test.MockDeserializer",
|
||||||
|
"--formatter-config", propsFile.getAbsolutePath()
|
||||||
|
};
|
||||||
|
|
||||||
|
ConsoleConsumerOptions config = new ConsoleConsumerOptions(args);
|
||||||
|
|
||||||
|
assertInstanceOf(DefaultMessageFormatter.class, config.formatter());
|
||||||
|
assertTrue(config.formatterArgs().containsKey("key.deserializer.my-props"));
|
||||||
|
DefaultMessageFormatter formatter = (DefaultMessageFormatter) config.formatter();
|
||||||
|
assertTrue(formatter.keyDeserializer().isPresent());
|
||||||
|
assertInstanceOf(MockDeserializer.class, formatter.keyDeserializer().get());
|
||||||
|
MockDeserializer keyDeserializer = (MockDeserializer) formatter.keyDeserializer().get();
|
||||||
|
assertEquals(1, keyDeserializer.configs.size());
|
||||||
|
assertEquals("abc", keyDeserializer.configs.get("my-props"));
|
||||||
|
assertTrue(keyDeserializer.isKey);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testCustomConfigShouldBePassedToConfigureMethod() throws Exception {
|
public void testCustomConfigShouldBePassedToConfigureMethod() throws Exception {
|
||||||
Map<String, String> configs = new HashMap<>();
|
Map<String, String> configs = new HashMap<>();
|
||||||
|
@ -386,8 +457,8 @@ public class ConsoleConsumerOptionsTest {
|
||||||
String[] args = new String[]{
|
String[] args = new String[]{
|
||||||
"--bootstrap-server", "localhost:9092",
|
"--bootstrap-server", "localhost:9092",
|
||||||
"--topic", "test",
|
"--topic", "test",
|
||||||
"--property", "print.key=true",
|
"--formatter-property", "print.key=true",
|
||||||
"--property", "key.deserializer=org.apache.kafka.test.MockDeserializer",
|
"--formatter-property", "key.deserializer=org.apache.kafka.test.MockDeserializer",
|
||||||
"--formatter-config", propsFile.getAbsolutePath()
|
"--formatter-config", propsFile.getAbsolutePath()
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -222,7 +222,7 @@ public class ConsoleShareConsumerOptionsTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testCustomPropertyShouldBePassedToConfigureMethod() throws Exception {
|
public void testCustomPropertyShouldBePassedToConfigureMethodDeprecated() throws Exception {
|
||||||
String[] args = new String[]{
|
String[] args = new String[]{
|
||||||
"--bootstrap-server", "localhost:9092",
|
"--bootstrap-server", "localhost:9092",
|
||||||
"--topic", "test",
|
"--topic", "test",
|
||||||
|
@ -244,6 +244,56 @@ public class ConsoleShareConsumerOptionsTest {
|
||||||
assertTrue(keyDeserializer.isKey);
|
assertTrue(keyDeserializer.isKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testCustomPropertyShouldBePassedToConfigureMethod() throws Exception {
|
||||||
|
String[] args = new String[]{
|
||||||
|
"--bootstrap-server", "localhost:9092",
|
||||||
|
"--topic", "test",
|
||||||
|
"--formatter-property", "print.key=true",
|
||||||
|
"--formatter-property", "key.deserializer=org.apache.kafka.test.MockDeserializer",
|
||||||
|
"--formatter-property", "key.deserializer.my-props=abc"
|
||||||
|
};
|
||||||
|
|
||||||
|
ConsoleShareConsumerOptions config = new ConsoleShareConsumerOptions(args);
|
||||||
|
|
||||||
|
assertInstanceOf(DefaultMessageFormatter.class, config.formatter());
|
||||||
|
assertTrue(config.formatterArgs().containsKey("key.deserializer.my-props"));
|
||||||
|
DefaultMessageFormatter formatter = (DefaultMessageFormatter) config.formatter();
|
||||||
|
assertTrue(formatter.keyDeserializer().isPresent());
|
||||||
|
assertInstanceOf(MockDeserializer.class, formatter.keyDeserializer().get());
|
||||||
|
MockDeserializer keyDeserializer = (MockDeserializer) formatter.keyDeserializer().get();
|
||||||
|
assertEquals(1, keyDeserializer.configs.size());
|
||||||
|
assertEquals("abc", keyDeserializer.configs.get("my-props"));
|
||||||
|
assertTrue(keyDeserializer.isKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testCustomConfigShouldBePassedToConfigureMethodDeprecated() throws Exception {
|
||||||
|
Map<String, String> configs = new HashMap<>();
|
||||||
|
configs.put("key.deserializer.my-props", "abc");
|
||||||
|
configs.put("print.key", "false");
|
||||||
|
File propsFile = ToolsTestUtils.tempPropertiesFile(configs);
|
||||||
|
String[] args = new String[]{
|
||||||
|
"--bootstrap-server", "localhost:9092",
|
||||||
|
"--topic", "test",
|
||||||
|
"--property", "print.key=true",
|
||||||
|
"--property", "key.deserializer=org.apache.kafka.test.MockDeserializer",
|
||||||
|
"--formatter-config", propsFile.getAbsolutePath()
|
||||||
|
};
|
||||||
|
|
||||||
|
ConsoleShareConsumerOptions config = new ConsoleShareConsumerOptions(args);
|
||||||
|
|
||||||
|
assertInstanceOf(DefaultMessageFormatter.class, config.formatter());
|
||||||
|
assertTrue(config.formatterArgs().containsKey("key.deserializer.my-props"));
|
||||||
|
DefaultMessageFormatter formatter = (DefaultMessageFormatter) config.formatter();
|
||||||
|
assertTrue(formatter.keyDeserializer().isPresent());
|
||||||
|
assertInstanceOf(MockDeserializer.class, formatter.keyDeserializer().get());
|
||||||
|
MockDeserializer keyDeserializer = (MockDeserializer) formatter.keyDeserializer().get();
|
||||||
|
assertEquals(1, keyDeserializer.configs.size());
|
||||||
|
assertEquals("abc", keyDeserializer.configs.get("my-props"));
|
||||||
|
assertTrue(keyDeserializer.isKey);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testCustomConfigShouldBePassedToConfigureMethod() throws Exception {
|
public void testCustomConfigShouldBePassedToConfigureMethod() throws Exception {
|
||||||
Map<String, String> configs = new HashMap<>();
|
Map<String, String> configs = new HashMap<>();
|
||||||
|
@ -253,8 +303,8 @@ public class ConsoleShareConsumerOptionsTest {
|
||||||
String[] args = new String[]{
|
String[] args = new String[]{
|
||||||
"--bootstrap-server", "localhost:9092",
|
"--bootstrap-server", "localhost:9092",
|
||||||
"--topic", "test",
|
"--topic", "test",
|
||||||
"--property", "print.key=true",
|
"--formatter-property", "print.key=true",
|
||||||
"--property", "key.deserializer=org.apache.kafka.test.MockDeserializer",
|
"--formatter-property", "key.deserializer=org.apache.kafka.test.MockDeserializer",
|
||||||
"--formatter-config", propsFile.getAbsolutePath()
|
"--formatter-config", propsFile.getAbsolutePath()
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue