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());

Reply via email to