poorbarcode commented on code in PR #21781: URL: https://github.com/apache/pulsar/pull/21781#discussion_r1436213390
########## pulsar-broker/src/test/java/org/apache/pulsar/broker/resourcegroup/ResourceGroupConfigListenerTest.java: ########## @@ -288,4 +298,27 @@ private void prepareData() throws PulsarAdminException { testAddRg.setDispatchRateInBytes(200L); } + + @Test + public void testLoadAllResourceGroupsAsyncFailed() { + PulsarService pulsarService = mock(PulsarService.class); + PulsarResources pulsarResources = mock(PulsarResources.class); + + doReturn(pulsarResources).when(pulsarService).getPulsarResources(); + + ResourceGroupService resourceGroupService = mock(ResourceGroupService.class); + ResourceGroupResources resourceGroupResources = mock(ResourceGroupResources.class); Review Comment: > This test is used to verify the resource groups failed to load, the resourceGroupResources.getStore() is never called and is unreachable. After run the test, you will get the below error ``` java.lang.AssertionError: Expected ExecutionException to be thrown, but NullPointerException was thrown at org.testng.Assert.expectThrows(Assert.java:2450) at org.testng.Assert.expectThrows(Assert.java:2421) at org.apache.pulsar.broker.resourcegroup.ResourceGroupConfigListenerTest.testLoadAllResourceGroupsAsyncFailed(ResourceGroupConfigListenerTest.java:315) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.testng.internal.invokers.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:139) at org.testng.internal.invokers.TestInvoker.invokeMethod(TestInvoker.java:677) at org.testng.internal.invokers.TestInvoker.invokeTestMethod(TestInvoker.java:221) at org.testng.internal.invokers.MethodRunner.runInSequence(MethodRunner.java:50) at org.testng.internal.invokers.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:969) at org.testng.internal.invokers.TestInvoker.invokeTestMethods(TestInvoker.java:194) at org.testng.internal.invokers.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:148) at org.testng.internal.invokers.TestMethodWorker.run(TestMethodWorker.java:128) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at org.testng.TestRunner.privateRun(TestRunner.java:829) at org.testng.TestRunner.run(TestRunner.java:602) at org.testng.SuiteRunner.runTest(SuiteRunner.java:437) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:431) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:391) at org.testng.SuiteRunner.run(SuiteRunner.java:330) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:95) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1256) at org.testng.TestNG.runSuitesLocally(TestNG.java:1176) at org.testng.TestNG.runSuites(TestNG.java:1099) at org.testng.TestNG.run(TestNG.java:1067) at com.intellij.rt.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:66) at com.intellij.rt.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:105) Caused by: java.lang.NullPointerException: Cannot invoke "org.apache.pulsar.metadata.api.MetadataStore.registerListener(java.util.function.Consumer)" because the return value of "org.apache.pulsar.broker.resources.ResourceGroupResources.getStore()" is null at org.apache.pulsar.broker.resourcegroup.ResourceGroupConfigListener.<init>(ResourceGroupConfigListener.java:57) at org.apache.pulsar.broker.resourcegroup.ResourceGroupConfigListenerTest.lambda$testLoadAllResourceGroupsAsyncFailed$11(ResourceGroupConfigListenerTest.java:316) at org.testng.Assert.expectThrows(Assert.java:2440) ... 29 more ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@pulsar.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org