This is an automated email from the ASF dual-hosted git repository. abhishekrb pushed a commit to branch cleanup_cli_peontest in repository https://gitbox.apache.org/repos/asf/druid.git
commit ee83294c719755dcd711037dcb822e5619214bfa Author: Abhishek Balaji Radhakrishnan <[email protected]> AuthorDate: Mon Dec 1 14:05:54 2025 -0800 Cleanup CliPeonTest - Remove usages of FakeCliPeon. It wasn't necessary. The tests verify that the bindings work and validates a flag that is set --- .../java/org/apache/druid/cli/CliPeonTest.java | 101 +++++++-------------- 1 file changed, 34 insertions(+), 67 deletions(-) diff --git a/services/src/test/java/org/apache/druid/cli/CliPeonTest.java b/services/src/test/java/org/apache/druid/cli/CliPeonTest.java index 747b8564e7e..6b2f7b94cbf 100644 --- a/services/src/test/java/org/apache/druid/cli/CliPeonTest.java +++ b/services/src/test/java/org/apache/druid/cli/CliPeonTest.java @@ -45,6 +45,7 @@ import org.apache.druid.indexing.seekablestream.SeekableStreamIndexTaskRunner; import org.apache.druid.indexing.seekablestream.SeekableStreamIndexTaskTuningConfig; import org.apache.druid.indexing.seekablestream.SeekableStreamStartSequenceNumbers; import org.apache.druid.indexing.seekablestream.common.RecordSupplier; +import org.apache.druid.indexing.worker.executor.ExecutorLifecycleConfig; import org.apache.druid.java.util.common.DateTimes; import org.apache.druid.java.util.common.Intervals; import org.apache.druid.java.util.common.granularity.AllGranularity; @@ -97,51 +98,43 @@ public class CliPeonTest @Test public void testCliPeonK8sMode() throws IOException { - File file = temporaryFolder.newFile("task.json"); - FileUtils.write(file, "{\"type\":\"noop\"}", StandardCharsets.UTF_8); - GuiceRunnable runnable = new FakeCliPeon(file.getParent(), "k8s"); - final Injector injector = GuiceInjectors.makeStartupInjector(); - injector.injectMembers(runnable); - Assert.assertNotNull(runnable.makeInjector()); + final Properties properties = new Properties(); + properties.setProperty("druid.indexer.runner.type", "k8s"); + final Injector peonInjector = makePeonInjector(properties, NoopTask.create()); + final ExecutorLifecycleConfig executorLifecycleConfig = peonInjector.getInstance(ExecutorLifecycleConfig.class); + Assert.assertFalse(executorLifecycleConfig.isParentStreamDefined()); } @Test public void testCliPeonNonK8sMode() throws IOException { - File file = temporaryFolder.newFile("task.json"); - FileUtils.write(file, "{\"type\":\"noop\"}", StandardCharsets.UTF_8); - GuiceRunnable runnable = new FakeCliPeon(file.getParent(), "httpRemote"); - final Injector injector = GuiceInjectors.makeStartupInjector(); - injector.injectMembers(runnable); - Assert.assertNotNull(runnable.makeInjector()); + final Properties properties = new Properties(); + properties.setProperty("druid.indexer.runner.type", "httpRemote"); + final Injector peonInjector = makePeonInjector(properties, NoopTask.create()); + final ExecutorLifecycleConfig executorLifecycleConfig = peonInjector.getInstance(ExecutorLifecycleConfig.class); + Assert.assertTrue(executorLifecycleConfig.isParentStreamDefined()); } @Test public void testCliPeonK8sANdWorkerIsK8sMode() throws IOException { - File file = temporaryFolder.newFile("task.json"); - FileUtils.write(file, "{\"type\":\"noop\"}", StandardCharsets.UTF_8); - GuiceRunnable runnable = new FakeCliPeon(file.getParent(), "k8sAndWorker"); - final Injector injector = GuiceInjectors.makeStartupInjector(); - injector.injectMembers(runnable); - Assert.assertNotNull(runnable.makeInjector()); + final Properties properties = new Properties(); + properties.setProperty("druid.indexer.runner.type", "k8sAndWorker"); + final Injector peonInjector = makePeonInjector(properties, NoopTask.create()); + final ExecutorLifecycleConfig executorLifecycleConfig = peonInjector.getInstance(ExecutorLifecycleConfig.class); + Assert.assertFalse(executorLifecycleConfig.isParentStreamDefined()); } @Test public void testCliPeonPolicyEnforcerInToolbox() throws IOException { - CliPeon runnable = new CliPeon(); - File file = temporaryFolder.newFile("task.json"); - FileUtils.write(file, "{\"type\":\"noop\"}", StandardCharsets.UTF_8); - runnable.taskAndStatusFile = ImmutableList.of(file.getParent(), "1"); - - Properties properties = new Properties(); + final Properties properties = new Properties(); properties.setProperty("druid.policy.enforcer.type", "restrictAllTables"); - runnable.configure(properties); - runnable.configure(properties, GuiceInjectors.makeStartupInjector()); - - Injector secondaryInjector = runnable.makeInjector(); - Assert.assertEquals(new RestrictAllTablesPolicyEnforcer(null), secondaryInjector.getInstance(PolicyEnforcer.class)); + final Injector peonInjector = makePeonInjector(properties, NoopTask.create()); + Assert.assertEquals( + new RestrictAllTablesPolicyEnforcer(null), + peonInjector.getInstance(PolicyEnforcer.class) + ); } @Test @@ -192,18 +185,12 @@ public class CliPeonTest @Test public void testCliPeonLocalTmpStorage() throws IOException { + final Properties properties = new Properties(); File file = temporaryFolder.newFile("task.json"); - FileUtils.write(file, "{\"type\":\"noop\"}", StandardCharsets.UTF_8); + FileUtils.write(file, mapper.writeValueAsString(NoopTask.create()), StandardCharsets.UTF_8); + final Injector peonInjector = makePeonInjector(file, properties); - CliPeon runnable = new CliPeon(); - runnable.taskAndStatusFile = ImmutableList.of(file.getParent(), "1"); - Properties properties = new Properties(); - runnable.configure(properties); - runnable.configure(properties, GuiceInjectors.makeStartupInjector()); - Injector secondaryInjector = runnable.makeInjector(); - Assert.assertNotNull(secondaryInjector); - - LocalTmpStorageConfig localTmpStorageConfig = secondaryInjector.getInstance(LocalTmpStorageConfig.class); + LocalTmpStorageConfig localTmpStorageConfig = peonInjector.getInstance(LocalTmpStorageConfig.class); Assert.assertEquals(new File(file.getParent(), "/tmp").getAbsolutePath(), localTmpStorageConfig.getTmpDir().getAbsolutePath()); } @@ -270,11 +257,8 @@ public class CliPeonTest verifyTaskHolder(peonInjector.getInstance(TaskHolder.class), compactionTask); } - private Injector makePeonInjector(Properties properties, Task task) throws IOException + private Injector makePeonInjector(File file, Properties properties) { - File file = temporaryFolder.newFile("task.json"); - FileUtils.write(file, mapper.writeValueAsString(task), StandardCharsets.UTF_8); - final CliPeon peon = new CliPeon(); peon.taskAndStatusFile = ImmutableList.of(file.getParent(), "1"); @@ -283,6 +267,13 @@ public class CliPeonTest return peon.makeInjector(Set.of(NodeRole.PEON)); } + private Injector makePeonInjector(Properties properties, Task task) throws IOException + { + File file = temporaryFolder.newFile("task.json"); + FileUtils.write(file, mapper.writeValueAsString(task), StandardCharsets.UTF_8); + return makePeonInjector(file, properties); + } + private static void verifyLoadSpecHolder(LoadSpecHolder observedLoadSpecHolder, Task task) { Assert.assertTrue(observedLoadSpecHolder instanceof PeonLoadSpecHolder); @@ -300,30 +291,6 @@ public class CliPeonTest Assert.assertEquals(task.getDataSource(), observedTaskHolder.getDataSource()); } - private static class FakeCliPeon extends CliPeon - { - List<String> taskAndStatusFile = new ArrayList<>(); - - FakeCliPeon(String taskDirectory, String runnerType) - { - try { - taskAndStatusFile.add(taskDirectory); - taskAndStatusFile.add("1"); - - Field privateField = CliPeon.class - .getDeclaredField("taskAndStatusFile"); - privateField.setAccessible(true); - privateField.set(this, taskAndStatusFile); - - System.setProperty("druid.indexer.runner.type", runnerType); - } - catch (Exception ex) { - // do nothing - } - - } - } - private static class TestTask extends NoopTask { --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
