This is an automated email from the ASF dual-hosted git repository.
liuhongyu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shenyu.git
The following commit(s) were added to refs/heads/master by this push:
new 9234be312b test: add more test for FallbackShenyuClientRegisterService
(#6155)
9234be312b is described below
commit 9234be312b213803bff9a1691ddf5afb82f41588
Author: shown <[email protected]>
AuthorDate: Mon Sep 15 08:53:52 2025 +0800
test: add more test for FallbackShenyuClientRegisterService (#6155)
Signed-off-by: yuluo-yx <[email protected]>
Co-authored-by: aias00 <[email protected]>
---
.../FallbackShenyuClientRegisterService.java | 30 +++++++---------
.../FallbackShenyuClientRegisterServiceTest.java | 41 ++++++++++++++++++++++
2 files changed, 53 insertions(+), 18 deletions(-)
diff --git
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/register/FallbackShenyuClientRegisterService.java
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/register/FallbackShenyuClientRegisterService.java
index 8dc7bf2032..1ff2cc6e5b 100644
---
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/register/FallbackShenyuClientRegisterService.java
+++
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/register/FallbackShenyuClientRegisterService.java
@@ -86,7 +86,7 @@ public abstract class FallbackShenyuClientRegisterService
implements ShenyuClien
FallbackRegisterTask registryTask = new FallbackRegisterTask(key,
this);
fallsRegisters.put(key, holder);
timer.add(registryTask);
- LOG.info("Add to Fallback and wait for execution, {}:{}:{}",
holder.getNamespaceId(), holder.getSelectorName(), holder.getUriList());
+ LOG.info("Add to Fallback and wait for execution, {}:{}:{}",
holder.namespaceId(), holder.selectorName(), holder.uriList());
}
private void removeFallBack(final String key) {
@@ -96,9 +96,9 @@ public abstract class FallbackShenyuClientRegisterService
implements ShenyuClien
private void recover(final String key) {
FallbackHolder fallbackHolder = fallsRegisters.get(key);
if (Objects.nonNull(fallbackHolder)) {
- List<URIRegisterDTO> uriList = fallbackHolder.getUriList();
- String selectorName = fallbackHolder.getSelectorName();
- this.doRegisterURI(selectorName, uriList,
fallbackHolder.getNamespaceId());
+ List<URIRegisterDTO> uriList = fallbackHolder.uriList();
+ String selectorName = fallbackHolder.selectorName();
+ this.doRegisterURI(selectorName, uriList,
fallbackHolder.namespaceId());
LOG.info("Register success: {},{}", selectorName, uriList);
}
}
@@ -128,13 +128,7 @@ public abstract class FallbackShenyuClientRegisterService
implements ShenyuClien
/**
* The type Fall holder.
*/
- private static final class FallbackHolder {
-
- private final String selectorName;
-
- private final List<URIRegisterDTO> uriList;
-
- private final String namespaceId;
+ private record FallbackHolder(String selectorName, List<URIRegisterDTO>
uriList, String namespaceId) {
/**
* Instantiates a new Fall holder.
@@ -142,10 +136,7 @@ public abstract class FallbackShenyuClientRegisterService
implements ShenyuClien
* @param selectorName the selector name
* @param uriList the uri list
*/
- FallbackHolder(final String selectorName, final List<URIRegisterDTO>
uriList, final String namespaceId) {
- this.selectorName = selectorName;
- this.uriList = uriList;
- this.namespaceId = namespaceId;
+ private FallbackHolder {
}
/**
@@ -153,7 +144,8 @@ public abstract class FallbackShenyuClientRegisterService
implements ShenyuClien
*
* @return the selector name
*/
- public String getSelectorName() {
+ @Override
+ public String selectorName() {
return selectorName;
}
@@ -162,7 +154,8 @@ public abstract class FallbackShenyuClientRegisterService
implements ShenyuClien
*
* @return the uri list
*/
- public List<URIRegisterDTO> getUriList() {
+ @Override
+ public List<URIRegisterDTO> uriList() {
return uriList;
}
@@ -171,7 +164,8 @@ public abstract class FallbackShenyuClientRegisterService
implements ShenyuClien
*
* @return the namespace id
*/
- public String getNamespaceId() {
+ @Override
+ public String namespaceId() {
return namespaceId;
}
}
diff --git
a/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/register/FallbackShenyuClientRegisterServiceTest.java
b/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/register/FallbackShenyuClientRegisterServiceTest.java
index 7def1cb009..7ee4ac7e9a 100644
---
a/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/register/FallbackShenyuClientRegisterServiceTest.java
+++
b/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/register/FallbackShenyuClientRegisterServiceTest.java
@@ -25,10 +25,12 @@ import org.apache.shenyu.register.common.dto.URIRegisterDTO;
import org.junit.jupiter.api.Test;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import static
org.apache.shenyu.common.constant.Constants.SYS_DEFAULT_NAMESPACE_ID;
import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
/**
* Test cases for FallbackShenyuClientRegisterService.
@@ -37,6 +39,7 @@ class FallbackShenyuClientRegisterServiceTest {
@Test
public void testRegisterURI() {
+
MockFallbackShenyuClientRegisterService
mockFallbackShenyuClientRegisterService = new
MockFallbackShenyuClientRegisterService();
assertEquals("doRegisterURI",
mockFallbackShenyuClientRegisterService.registerURI("Selector_Name", new
ArrayList<>(), SYS_DEFAULT_NAMESPACE_ID));
@@ -44,6 +47,44 @@ class FallbackShenyuClientRegisterServiceTest {
assertEquals(StringUtils.EMPTY,
mockFallbackShenyuClientRegisterServiceException.registerURI("Selector_Name",
new ArrayList<>(), SYS_DEFAULT_NAMESPACE_ID));
}
+ @Test
+ public void testHeartbeat() {
+
+ MockFallbackShenyuClientRegisterService mockService = new
MockFallbackShenyuClientRegisterService();
+ List<URIRegisterDTO> uriList = Collections.singletonList(new
URIRegisterDTO());
+ String result = mockService.heartbeat("Selector_Name", uriList,
SYS_DEFAULT_NAMESPACE_ID);
+
+ assertEquals("doHeartbeat", result);
+
+ MockFallbackShenyuClientRegisterServiceException mockExceptionService
= new MockFallbackShenyuClientRegisterServiceException();
+
+ assertThrows(ShenyuException.class, () ->
mockExceptionService.heartbeat("Selector_Name", uriList,
SYS_DEFAULT_NAMESPACE_ID));
+ }
+
+ @Test
+ public void testRpcType() {
+
+ MockFallbackShenyuClientRegisterService mockService = new
MockFallbackShenyuClientRegisterService();
+
+ assertEquals("grpc", mockService.rpcType());
+ }
+
+ @Test
+ public void testRegisterMetaDataAndApiDoc() {
+
+ MockFallbackShenyuClientRegisterService mockService = new
MockFallbackShenyuClientRegisterService();
+
+ assertEquals(null, mockService.register(new MetaDataRegisterDTO()));
+ assertEquals(null, mockService.registerApiDoc(new
ApiDocRegisterDTO()));
+ }
+
+ @Test
+ public void testCheckNamespacePluginRel() {
+ MockFallbackShenyuClientRegisterService mockService = new
MockFallbackShenyuClientRegisterService();
+ // Should not throw any exception
+ mockService.checkNamespacePluginRel("namespace", "plugin");
+ }
+
static class MockFallbackShenyuClientRegisterService extends
FallbackShenyuClientRegisterService {
@Override