This is an automated email from the ASF dual-hosted git repository.

dengliming 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 431ccc4834 fix: only update metadata enable status within the same 
namespace (#6615) (#7047)
431ccc4834 is described below

commit 431ccc48343e882299981f95e3e6e4c2f72e2ac2
Author: wy471x <[email protected]>
AuthorDate: Thu Sep 17 11:41:20 2026 +0800

    fix: only update metadata enable status within the same namespace (#6615) 
(#7047)
    
    Co-authored-by: Liming Deng <[email protected]>
---
 .../shenyu/admin/service/impl/MetaDataServiceImpl.java   |  2 +-
 .../apache/shenyu/admin/service/MetaDataServiceTest.java | 16 ++++++++++++++++
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/MetaDataServiceImpl.java
 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/MetaDataServiceImpl.java
index ae52536cb1..d8dce3f59f 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/MetaDataServiceImpl.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/MetaDataServiceImpl.java
@@ -129,7 +129,7 @@ public class MetaDataServiceImpl implements MetaDataService 
{
         for (MetaDataDO metaDataDO : metaDataDoList) {
             metaDataDO.setEnabled(enabled);
         }
-        if (metaDataMapper.updateEnableBatch(ids, enabled) > 0) {
+        if (metaDataMapper.updateEnableBatch(ListUtil.map(metaDataDoList, 
MetaDataDO::getId), enabled) > 0) {
             publisher.onEnabled(metaDataDoList);
         }
         return StringUtils.EMPTY;
diff --git 
a/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/MetaDataServiceTest.java
 
b/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/MetaDataServiceTest.java
index 0860090dff..1378c15c94 100644
--- 
a/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/MetaDataServiceTest.java
+++ 
b/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/MetaDataServiceTest.java
@@ -153,6 +153,22 @@ public final class MetaDataServiceTest {
         assertEquals(StringUtils.EMPTY, msg);
     }
 
+    /**
+     * Test case for enabled only updates metadata that belongs to the current 
namespace.
+     */
+    @Test
+    public void testEnabledOnlyUpdatesIdsWithinNamespace() {
+        List<String> ids = Lists.newArrayList("id-in-current-namespace", 
"id-in-other-namespace");
+        MetaDataDO inNamespace = 
MetaDataDO.builder().id("id-in-current-namespace").namespaceId(SYS_DEFAULT_NAMESPACE_ID).build();
+        when(metaDataMapper.selectByIdListAndNamespaceId(ids, 
SYS_DEFAULT_NAMESPACE_ID))
+                .thenReturn(Collections.singletonList(inNamespace));
+        
when(metaDataMapper.updateEnableBatch(Collections.singletonList("id-in-current-namespace"),
 true)).thenReturn(1);
+        String msg = metaDataService.enabledByIdsAndNamespaceId(ids, true, 
SYS_DEFAULT_NAMESPACE_ID);
+        assertEquals(StringUtils.EMPTY, msg);
+        
verify(metaDataMapper).updateEnableBatch(Collections.singletonList("id-in-current-namespace"),
 true);
+        verify(publisher).onEnabled(Collections.singletonList(inNamespace));
+    }
+
     /**
      * Test case for syncData.
      */

Reply via email to