This is an automated email from the ASF dual-hosted git repository.
Aias00 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 0c2c2180f5 fix: add validation for non-existent plugins in
checkNamespacePluginRel and update associated unit tests (#6941)
0c2c2180f5 is described below
commit 0c2c2180f5b755ad9482ceb55cb5a21bc149dc65
Author: Limbo <[email protected]>
AuthorDate: Sun Aug 23 10:50:46 2026 +0800
fix: add validation for non-existent plugins in checkNamespacePluginRel and
update associated unit tests (#6941)
Co-authored-by: aias00 <[email protected]>
---
.../register/AbstractShenyuClientRegisterServiceImpl.java | 5 ++++-
.../register/AbstractShenyuClientRegisterServiceImplTest.java | 11 +++++++++++
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/register/AbstractShenyuClientRegisterServiceImpl.java
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/register/AbstractShenyuClientRegisterServiceImpl.java
index 231e0f7a00..167383a12c 100644
---
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/register/AbstractShenyuClientRegisterServiceImpl.java
+++
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/register/AbstractShenyuClientRegisterServiceImpl.java
@@ -225,10 +225,13 @@ public abstract class
AbstractShenyuClientRegisterServiceImpl extends FallbackSh
@Override
public void checkNamespacePluginRel(final String namespaceId, final String
pluginName) {
+ String errorMsg = String.format("%s plugin not enabled for current
namespace or plugin not exist for namespaceId: %s", pluginName, namespaceId);
PluginDO pluginDO = pluginMapper.selectByName(pluginName);
+ if (Objects.isNull(pluginDO)) {
+ throw new IllegalArgumentException(errorMsg);
+ }
NamespacePluginVO namespacePluginRelation =
namespacePluginRelMapper.selectByPluginIdAndNamespaceId(pluginDO.getId(),
namespaceId);
if (Objects.isNull(namespacePluginRelation)) {
- String errorMsg = String.format("%s plugin not enabled for current
namespace or plugin not exist for namespaceId: %s", pluginName, namespaceId);
throw new IllegalArgumentException(errorMsg);
}
}
diff --git
a/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/register/AbstractShenyuClientRegisterServiceImplTest.java
b/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/register/AbstractShenyuClientRegisterServiceImplTest.java
index b79b1cc58a..898d960640 100644
---
a/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/register/AbstractShenyuClientRegisterServiceImplTest.java
+++
b/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/register/AbstractShenyuClientRegisterServiceImplTest.java
@@ -191,6 +191,17 @@ public final class
AbstractShenyuClientRegisterServiceImplTest {
assertEquals(ShenyuResultMessage.SUCCESS,
abstractShenyuClientRegisterService.doRegisterURI("Selector_Name",
Collections.singletonList(uriRegisterDTO), SYS_DEFAULT_NAMESPACE_ID));
}
+ @Test
+ public void testCheckNamespacePluginRelWhenPluginMissing() {
+ String pluginName = "missing-plugin";
+
+ IllegalArgumentException exception =
assertThrows(IllegalArgumentException.class,
+ () ->
abstractShenyuClientRegisterService.checkNamespacePluginRel(SYS_DEFAULT_NAMESPACE_ID,
pluginName));
+
+ assertEquals("missing-plugin plugin not enabled for current namespace
or plugin not exist for namespaceId: "
+ + SYS_DEFAULT_NAMESPACE_ID, exception.getMessage());
+ }
+
@Test
public void testGetMetaDataService() {
assertEquals(metaDataService,
abstractShenyuClientRegisterService.getMetaDataService());