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

Reply via email to