This is an automated email from the ASF dual-hosted git repository.
lizhimins pushed a commit to branch rocketmq-studio
in repository https://gitbox.apache.org/repos/asf/rocketmq-dashboard.git
The following commit(s) were added to refs/heads/rocketmq-studio by this push:
new 060080c2 fix: fail explicitly when consumer diagnostics provider is
missing (#703)
060080c2 is described below
commit 060080c25c953e81e71f70c6e042aeee676b95bd
Author: aias00 <[email protected]>
AuthorDate: Sun Aug 2 20:10:23 2026 -0700
fix: fail explicitly when consumer diagnostics provider is missing (#703)
---
.../group/ConsumerDiagnosticsProviderStub.java | 15 +++--------
.../ConsumerDiagnosticsProviderStubTest.java} | 31 +++++++++-------------
2 files changed, 17 insertions(+), 29 deletions(-)
diff --git
a/server/src/main/java/org/apache/rocketmq/studio/instance/group/ConsumerDiagnosticsProviderStub.java
b/server/src/main/java/org/apache/rocketmq/studio/instance/group/ConsumerDiagnosticsProviderStub.java
index e7089e13..5f89438e 100644
---
a/server/src/main/java/org/apache/rocketmq/studio/instance/group/ConsumerDiagnosticsProviderStub.java
+++
b/server/src/main/java/org/apache/rocketmq/studio/instance/group/ConsumerDiagnosticsProviderStub.java
@@ -17,25 +17,18 @@
package org.apache.rocketmq.studio.instance.group;
+import org.apache.rocketmq.studio.common.exception.BusinessException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
-import java.time.LocalDateTime;
-import java.util.List;
-
@Slf4j
@Component
public class ConsumerDiagnosticsProviderStub implements
ConsumerDiagnosticsProvider {
@Override
public ConsumerStackTraceVO getConsumerStack(String groupName, String
clientId) {
- log.warn("ConsumerDiagnosticsProviderStub.getConsumerStack called -
returning empty stack");
- return ConsumerStackTraceVO.builder()
- .groupName(groupName)
- .clientId(clientId)
- .capturedAt(LocalDateTime.now())
- .threadCount(0)
- .threads(List.of())
- .build();
+ log.warn("ConsumerDiagnosticsProviderStub.getConsumerStack called
without a real diagnostics provider. "
+ + "groupName={}, clientId={}", groupName, clientId);
+ throw new BusinessException(501, "Consumer diagnostics provider is not
configured");
}
}
diff --git
a/server/src/main/java/org/apache/rocketmq/studio/instance/group/ConsumerDiagnosticsProviderStub.java
b/server/src/test/java/org/apache/rocketmq/studio/instance/group/ConsumerDiagnosticsProviderStubTest.java
similarity index 53%
copy from
server/src/main/java/org/apache/rocketmq/studio/instance/group/ConsumerDiagnosticsProviderStub.java
copy to
server/src/test/java/org/apache/rocketmq/studio/instance/group/ConsumerDiagnosticsProviderStubTest.java
index e7089e13..4f486440 100644
---
a/server/src/main/java/org/apache/rocketmq/studio/instance/group/ConsumerDiagnosticsProviderStub.java
+++
b/server/src/test/java/org/apache/rocketmq/studio/instance/group/ConsumerDiagnosticsProviderStubTest.java
@@ -14,28 +14,23 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.apache.rocketmq.studio.instance.group;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Component;
+import org.apache.rocketmq.studio.common.exception.BusinessException;
+import org.junit.jupiter.api.Test;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
-import java.time.LocalDateTime;
-import java.util.List;
+class ConsumerDiagnosticsProviderStubTest {
-@Slf4j
-@Component
-public class ConsumerDiagnosticsProviderStub implements
ConsumerDiagnosticsProvider {
+ private final ConsumerDiagnosticsProviderStub provider = new
ConsumerDiagnosticsProviderStub();
- @Override
- public ConsumerStackTraceVO getConsumerStack(String groupName, String
clientId) {
- log.warn("ConsumerDiagnosticsProviderStub.getConsumerStack called -
returning empty stack");
- return ConsumerStackTraceVO.builder()
- .groupName(groupName)
- .clientId(clientId)
- .capturedAt(LocalDateTime.now())
- .threadCount(0)
- .threads(List.of())
- .build();
+ @Test
+ void getConsumerStackShouldFailWhenRealProviderIsMissing() {
+ assertThatThrownBy(() -> provider.getConsumerStack("cg-orders",
"client-1"))
+ .isInstanceOf(BusinessException.class)
+ .hasMessage("Consumer diagnostics provider is not configured")
+ .satisfies(ex -> assertThat(((BusinessException)
ex).getCode()).isEqualTo(501));
}
}