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

xiaoyu 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 3de2c3b3e9 [type:bugfix] fix namespace bugs (#5799)
3de2c3b3e9 is described below

commit 3de2c3b3e93a7bff6d02d17e07f352f7c5b4ce15
Author: aias00 <liuhon...@apache.org>
AuthorDate: Mon Nov 25 16:19:48 2024 +0800

    [type:bugfix] fix namespace bugs (#5799)
    
    * [type:bugfix] fix namespace bugs
    
    * [type:bugfix] fix namespace bugs
    
    * [type:bugfix] fix namespace bugs
    
    * [type:bugfix] fix namespace bugs
    
    ---------
    
    Co-authored-by: xiaoyu <xia...@apache.org>
---
 .../controller/NamespacePluginController.java      |   7 +-
 .../admin/controller/PermissionController.java     |  14 +++
 .../shenyu/admin/controller/PluginController.java  |   2 +-
 .../admin/service/NamespacePluginService.java      |   3 +-
 .../service/impl/NamespacePluginServiceImpl.java   | 103 +++++++++++++--------
 .../mappers/namespace-plugin-rel-sqlmap.xml        |   3 +-
 .../admin/controller/PluginControllerTest.java     |  28 +++---
 .../shenyu/e2e/client/admin/AdminClient.java       |   6 +-
 8 files changed, 103 insertions(+), 63 deletions(-)

diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/NamespacePluginController.java
 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/NamespacePluginController.java
index 10f94007b8..a99952141d 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/NamespacePluginController.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/NamespacePluginController.java
@@ -55,7 +55,7 @@ import java.util.List;
 /**
  * this is namespace plugin controller.
  */
-@RestApi("/namespacePlugin")
+@RestApi("/namespace-plugin")
 public class NamespacePluginController implements 
PagedController<NamespacePluginQueryCondition, NamespacePluginVO> {
 
     private final NamespacePluginService namespacePluginService;
@@ -230,11 +230,12 @@ public class NamespacePluginController implements 
PagedController<NamespacePlugi
     /**
      * active plugin snapshot of namespace.
      *
+     * @param namespaceId the namespace id
      * @return list
      */
     @GetMapping("/snapshot/active")
-    public ShenyuAdminResult activePluginSnapshot() {
-        return 
ShenyuAdminResult.success(namespacePluginService.activePluginSnapshot());
+    public ShenyuAdminResult activePluginSnapshot(final String namespaceId) {
+        return 
ShenyuAdminResult.success(namespacePluginService.activePluginSnapshot(namespaceId));
     }
 
     @Override
diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/PermissionController.java
 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/PermissionController.java
index cb3edb46f0..228a432caf 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/PermissionController.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/PermissionController.java
@@ -54,4 +54,18 @@ public class PermissionController {
                 .map(item -> 
ShenyuAdminResult.success(ShenyuResultMessage.MENU_SUCCESS, item))
                 .orElseGet(() -> 
ShenyuAdminResult.error(ShenyuResultMessage.MENU_FAILED));
     }
+
+    /**
+     * get menu by namespace.
+     *
+     * @param namespaceId namespace id
+     * @return {@linkplain ShenyuAdminResult}
+     */
+    @GetMapping("/getUserPermissionByNamespace")
+    public ShenyuAdminResult getUserPermissionByNamespace(@RequestParam(name = 
"namespaceId", required = false) final String namespaceId) {
+        PermissionMenuVO permissionMenuVO = 
permissionService.getPermissionMenu(namespaceId);
+        return Optional.ofNullable(permissionMenuVO)
+                .map(item -> 
ShenyuAdminResult.success(ShenyuResultMessage.MENU_SUCCESS, item))
+                .orElseGet(() -> 
ShenyuAdminResult.error(ShenyuResultMessage.MENU_FAILED));
+    }
 }
diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/PluginController.java
 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/PluginController.java
index f07681efd5..0331eba53c 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/PluginController.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/PluginController.java
@@ -51,7 +51,7 @@ import java.util.List;
 /**
  * this is plugin controller.
  */
-@RestApi("/plugin")
+@RestApi("/plugin-template")
 public class PluginController implements PagedController<PluginQueryCondition, 
PluginVO> {
 
     private final PluginService pluginService;
diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/NamespacePluginService.java
 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/NamespacePluginService.java
index 5bc47e9f75..99c4ec50c4 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/NamespacePluginService.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/NamespacePluginService.java
@@ -140,9 +140,10 @@ public interface NamespacePluginService extends 
PageService<NamespacePluginQuery
     /**
      * active plugin snapshot.
      *
+     * @param namespaceId the namespaceId
      * @return plugin list
      */
-    List<PluginSnapshotVO> activePluginSnapshot();
+    List<PluginSnapshotVO> activePluginSnapshot(String namespaceId);
 
     /**
      * import plugin data.
diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/NamespacePluginServiceImpl.java
 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/NamespacePluginServiceImpl.java
index 8f1a804629..007d5e5868 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/NamespacePluginServiceImpl.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/NamespacePluginServiceImpl.java
@@ -22,11 +22,15 @@ import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shenyu.admin.exception.ShenyuAdminException;
 import org.apache.shenyu.admin.mapper.NamespacePluginRelMapper;
+import org.apache.shenyu.admin.mapper.PluginHandleMapper;
 import org.apache.shenyu.admin.mapper.PluginMapper;
-import org.apache.shenyu.admin.model.dto.PluginDTO;
+import org.apache.shenyu.admin.mapper.SelectorMapper;
 import org.apache.shenyu.admin.model.dto.NamespacePluginDTO;
+import org.apache.shenyu.admin.model.dto.PluginDTO;
 import org.apache.shenyu.admin.model.entity.NamespacePluginRelDO;
 import org.apache.shenyu.admin.model.entity.PluginDO;
+import org.apache.shenyu.admin.model.entity.PluginHandleDO;
+import org.apache.shenyu.admin.model.entity.SelectorDO;
 import org.apache.shenyu.admin.model.page.CommonPager;
 import org.apache.shenyu.admin.model.page.PageResultUtils;
 import org.apache.shenyu.admin.model.query.NamespacePluginQuery;
@@ -34,8 +38,8 @@ import 
org.apache.shenyu.admin.model.result.ConfigImportResult;
 import org.apache.shenyu.admin.model.vo.NamespacePluginVO;
 import org.apache.shenyu.admin.model.vo.PluginHandleVO;
 import org.apache.shenyu.admin.model.vo.PluginSnapshotVO;
-import org.apache.shenyu.admin.service.PluginHandleService;
 import org.apache.shenyu.admin.service.NamespacePluginService;
+import org.apache.shenyu.admin.service.PluginHandleService;
 import org.apache.shenyu.admin.service.publish.NamespacePluginEventPublisher;
 import org.apache.shenyu.admin.transfer.PluginTransfer;
 import org.apache.shenyu.admin.utils.ShenyuResultMessage;
@@ -54,25 +58,33 @@ import java.util.stream.Collectors;
 
 @Service
 public class NamespacePluginServiceImpl implements NamespacePluginService {
-
+    
     private final NamespacePluginRelMapper namespacePluginRelMapper;
-
+    
     private final PluginHandleService pluginHandleService;
-
+    
     private final NamespacePluginEventPublisher namespacePluginEventPublisher;
-
+    
     private final PluginMapper pluginMapper;
-
+    
+    private final SelectorMapper selectorMapper;
+    
+    private final PluginHandleMapper pluginHandleMapper;
+    
     public NamespacePluginServiceImpl(final NamespacePluginRelMapper 
namespacePluginRelMapper,
                                       final PluginHandleService 
pluginHandleService,
                                       final NamespacePluginEventPublisher 
namespacePluginEventPublisher,
-                                      final PluginMapper pluginMapper) {
+                                      final PluginMapper pluginMapper,
+                                      final SelectorMapper selectorMapper,
+                                      final PluginHandleMapper 
pluginHandleMapper) {
         this.namespacePluginRelMapper = namespacePluginRelMapper;
         this.pluginHandleService = pluginHandleService;
         this.namespacePluginEventPublisher = namespacePluginEventPublisher;
         this.pluginMapper = pluginMapper;
+        this.selectorMapper = selectorMapper;
+        this.pluginHandleMapper = pluginHandleMapper;
     }
-
+    
     @Override
     public NamespacePluginVO findById(final String id) {
         return namespacePluginRelMapper.selectById(id);
@@ -94,7 +106,7 @@ public class NamespacePluginServiceImpl implements 
NamespacePluginService {
         namespacePluginRelMapper.insertSelective(namespacePluginRelDO);
         return 
namespacePluginRelMapper.selectByPluginIdAndNamespaceId(pluginId, namespaceId);
     }
-
+    
     @Override
     @Transactional(rollbackFor = Exception.class)
     public String update(final NamespacePluginDTO namespacePluginDTO) {
@@ -107,7 +119,7 @@ public class NamespacePluginServiceImpl implements 
NamespacePluginService {
         }
         return ShenyuResultMessage.UPDATE_SUCCESS;
     }
-
+    
     @Override
     @Transactional(rollbackFor = Exception.class)
     public String delete(final List<String> ids) {
@@ -123,12 +135,12 @@ public class NamespacePluginServiceImpl implements 
NamespacePluginService {
         }
         return StringUtils.EMPTY;
     }
-
+    
     @Override
     public CommonPager<NamespacePluginVO> listByPage(final 
NamespacePluginQuery namespacePluginQuery) {
         return PageResultUtils.result(namespacePluginQuery.getPageParameter(), 
() -> namespacePluginRelMapper.selectByQuery(namespacePluginQuery));
     }
-
+    
     @Override
     public List<PluginData> listAll(final String namespaceId) {
         return 
ListUtil.map(namespacePluginRelMapper.selectAllByNamespaceId(namespaceId), 
PluginTransfer.INSTANCE::mapToData);
@@ -143,28 +155,19 @@ public class NamespacePluginServiceImpl implements 
NamespacePluginService {
     public List<NamespacePluginVO> listByNamespaceId(final String namespaceId) 
{
         return namespacePluginRelMapper.selectAllByNamespaceId(namespaceId);
     }
-
+    
     @Override
     public List<NamespacePluginVO> listAllData(final String namespaceId) {
-        Map<String, List<PluginHandleVO>> pluginHandleMap = 
pluginHandleService.listAllData()
-                .stream()
-                .collect(Collectors.groupingBy(PluginHandleVO::getPluginId));
-
-        return namespacePluginRelMapper.selectAllByNamespaceId(namespaceId)
-                .stream()
-                .filter(Objects::nonNull)
-                .peek(namespacePluginVO -> {
-                    List<PluginHandleVO> pluginHandleList = Optional
-                            
.ofNullable(pluginHandleMap.get(namespacePluginVO.getPluginId()))
-                            .orElse(Lists.newArrayList())
-                            .stream()
-                            // to make less volume of export data
-                            .peek(x -> x.setDictOptions(null))
-                            .collect(Collectors.toList());
-                    namespacePluginVO.setPluginHandleList(pluginHandleList);
-                }).collect(Collectors.toList());
+        Map<String, List<PluginHandleVO>> pluginHandleMap = 
pluginHandleService.listAllData().stream().collect(Collectors.groupingBy(PluginHandleVO::getPluginId));
+        
+        return 
namespacePluginRelMapper.selectAllByNamespaceId(namespaceId).stream().filter(Objects::nonNull).peek(namespacePluginVO
 -> {
+            List<PluginHandleVO> pluginHandleList = 
Optional.ofNullable(pluginHandleMap.get(namespacePluginVO.getPluginId())).orElse(Lists.newArrayList()).stream()
+                    // to make less volume of export data
+                    .peek(x -> 
x.setDictOptions(null)).collect(Collectors.toList());
+            namespacePluginVO.setPluginHandleList(pluginHandleList);
+        }).collect(Collectors.toList());
     }
-
+    
     @Override
     public String enabled(final List<String> ids, final Boolean enabled) {
         List<NamespacePluginVO> namespacePluginVOList = 
namespacePluginRelMapper.selectByIds(ids);
@@ -189,9 +192,7 @@ public class NamespacePluginServiceImpl implements 
NamespacePluginService {
             return StringUtils.EMPTY;
         }
         
-        Map<String, NamespacePluginVO> namespacePluginMap = namespacePluginList
-                .stream()
-                .collect(Collectors.toMap(NamespacePluginVO::getPluginId, 
Function.identity()));
+        Map<String, NamespacePluginVO> namespacePluginMap = 
namespacePluginList.stream().collect(Collectors.toMap(NamespacePluginVO::getPluginId,
 Function.identity()));
         
         List<NamespacePluginVO> updateList = Lists.newArrayList();
         
@@ -212,11 +213,35 @@ public class NamespacePluginServiceImpl implements 
NamespacePluginService {
     }
     
     @Override
-    public List<PluginSnapshotVO> activePluginSnapshot() {
-        //todo:Not yet  implemented
-        return null;
+    public List<PluginSnapshotVO> activePluginSnapshot(final String 
namespaceId) {
+        List<NamespacePluginVO> namespacePluginVOList = 
namespacePluginRelMapper.selectByNamespaceId(namespaceId);
+        
+        if (CollectionUtils.isEmpty(namespacePluginVOList)) {
+            return Lists.newArrayList();
+        }
+        List<String> pluginIds = 
namespacePluginVOList.stream().map(NamespacePluginVO::getPluginId).toList();
+        
+        List<SelectorDO> selectorDOList = 
selectorMapper.selectAllByNamespaceId(namespaceId);
+        
+        Map<String, Integer> selectorCountMap = 
selectorDOList.stream().collect(Collectors.groupingBy(SelectorDO::getPluginId, 
Collectors.summingInt(x -> 1)));
+        
+        List<PluginHandleDO> pluginHandleDOList = 
pluginHandleMapper.selectByPluginIdList(pluginIds);
+        
+        Map<String, Integer> pluginHandleCountMap = 
pluginHandleDOList.stream().collect(Collectors.groupingBy(PluginHandleDO::getPluginId,
 Collectors.summingInt(x -> 1)));
+        
+        return namespacePluginVOList.stream().map(namespacePluginVO -> {
+            PluginSnapshotVO pluginSnapshotVO = new PluginSnapshotVO();
+            pluginSnapshotVO.setId(namespacePluginVO.getPluginId());
+            pluginSnapshotVO.setName(namespacePluginVO.getName());
+            pluginSnapshotVO.setConfig(namespacePluginVO.getConfig());
+            pluginSnapshotVO.setRole(namespacePluginVO.getRole());
+            
pluginSnapshotVO.setSelectorCount(selectorCountMap.getOrDefault(namespacePluginVO.getPluginId(),
 0));
+            
pluginSnapshotVO.setHandleCount(pluginHandleCountMap.getOrDefault(namespacePluginVO.getPluginId(),
 0));
+            return pluginSnapshotVO;
+        }).collect(Collectors.toList());
+        
     }
-
+    
     @Override
     public ConfigImportResult importData(final List<PluginDTO> pluginList) {
         return null;
diff --git 
a/shenyu-admin/src/main/resources/mappers/namespace-plugin-rel-sqlmap.xml 
b/shenyu-admin/src/main/resources/mappers/namespace-plugin-rel-sqlmap.xml
index 62636764d7..a85c8a3f3b 100644
--- a/shenyu-admin/src/main/resources/mappers/namespace-plugin-rel-sqlmap.xml
+++ b/shenyu-admin/src/main/resources/mappers/namespace-plugin-rel-sqlmap.xml
@@ -81,9 +81,8 @@
     <select id="selectByQuery" 
parameterType="org.apache.shenyu.admin.model.query.NamespacePluginQuery"
             resultType="org.apache.shenyu.admin.model.vo.NamespacePluginVO">
         SELECT
-        npr.id as id,
         npr.namespace_id AS namespaceId,
-        npr.plugin_id AS pluginId,
+        npr.plugin_id AS id,
         npr.config AS config,
         npr.sort AS sort,
         npr.enabled AS enabled,
diff --git 
a/shenyu-admin/src/test/java/org/apache/shenyu/admin/controller/PluginControllerTest.java
 
b/shenyu-admin/src/test/java/org/apache/shenyu/admin/controller/PluginControllerTest.java
index 28a84e9d2e..72772881a3 100644
--- 
a/shenyu-admin/src/test/java/org/apache/shenyu/admin/controller/PluginControllerTest.java
+++ 
b/shenyu-admin/src/test/java/org/apache/shenyu/admin/controller/PluginControllerTest.java
@@ -107,7 +107,7 @@ public final class PluginControllerTest {
         commonPager.setDataList(pluginVOS);
         final PluginQuery pluginQuery = new PluginQuery("t_n", 1, 
pageParameter);
         
given(this.pluginService.listByPage(pluginQuery)).willReturn(commonPager);
-        this.mockMvc.perform(MockMvcRequestBuilders.get("/plugin")
+        this.mockMvc.perform(MockMvcRequestBuilders.get("/plugin-template")
                         .param("name", "t_n")
                         .param("enabled", "1")
                         .param("currentPage", 
String.valueOf(pageParameter.getCurrentPage()))
@@ -122,7 +122,7 @@ public final class PluginControllerTest {
     public void testQueryAllPlugins() throws Exception {
         given(this.pluginService.listAll())
                 .willReturn(new ArrayList<>());
-        this.mockMvc.perform(MockMvcRequestBuilders.get("/plugin/all"))
+        
this.mockMvc.perform(MockMvcRequestBuilders.get("/plugin-template/all"))
                 .andExpect(status().isOk())
                 .andReturn();
     }
@@ -130,7 +130,7 @@ public final class PluginControllerTest {
     @Test
     public void testDetailPlugin() throws Exception {
         given(this.pluginService.findById("123")).willReturn(pluginVO);
-        this.mockMvc.perform(MockMvcRequestBuilders.get("/plugin/{id}", "123"))
+        
this.mockMvc.perform(MockMvcRequestBuilders.get("/plugin-template/{id}", "123"))
                 .andExpect(status().isOk())
                 .andExpect(jsonPath("$.message", 
is(ShenyuResultMessage.DETAIL_SUCCESS)))
                 .andExpect(jsonPath("$.data.id", is(pluginVO.getId())))
@@ -150,7 +150,7 @@ public final class PluginControllerTest {
         when(pluginMapper.existed(pluginDTO.getId())).thenReturn(false);
         
given(this.pluginService.createOrUpdate(pluginDTO)).willReturn(ShenyuResultMessage.CREATE_SUCCESS);
 
-        this.mockMvc.perform(MockMvcRequestBuilders.multipart("/plugin")
+        
this.mockMvc.perform(MockMvcRequestBuilders.multipart("/plugin-template")
                         .param("name", pluginDTO.getName())
                         .param("enabled", 
String.valueOf(pluginDTO.getEnabled()))
                         .param("role", pluginDTO.getRole())
@@ -163,7 +163,7 @@ public final class PluginControllerTest {
         pluginDTO.setId("123");
         when(pluginMapper.existed(pluginDTO.getId())).thenReturn(true);
         
given(this.pluginService.createOrUpdate(pluginDTO)).willReturn(ShenyuResultMessage.UPDATE_SUCCESS);
-        this.mockMvc.perform(MockMvcRequestBuilders.multipart("/plugin")
+        
this.mockMvc.perform(MockMvcRequestBuilders.multipart("/plugin-template")
                         .param("file", pluginDTO.getFile())
                         .param("id", pluginDTO.getId())
                         .param("name", pluginDTO.getName())
@@ -176,7 +176,7 @@ public final class PluginControllerTest {
 
         // update fail
         when(pluginMapper.existed(pluginDTO.getId())).thenReturn(false);
-        this.mockMvc.perform(MockMvcRequestBuilders.multipart("/plugin")
+        
this.mockMvc.perform(MockMvcRequestBuilders.multipart("/plugin-template")
                         .file(file)
                         .param("id", pluginDTO.getId())
                         .param("name", pluginDTO.getName())
@@ -199,7 +199,7 @@ public final class PluginControllerTest {
         
when(SpringBeanUtils.getInstance().getBean(PluginMapper.class)).thenReturn(pluginMapper);
         when(pluginMapper.existed(pluginDTO.getId())).thenReturn(true);
         
given(this.pluginService.createOrUpdate(pluginDTO)).willReturn(ShenyuResultMessage.UPDATE_SUCCESS);
-        this.mockMvc.perform(MockMvcRequestBuilders.put("/plugin/{id}", 
pluginDTO.getId())
+        
this.mockMvc.perform(MockMvcRequestBuilders.put("/plugin-template/{id}", 
pluginDTO.getId())
                         
.contentType(MediaType.APPLICATION_FORM_URLENCODED_VALUE)
                         .param("name", pluginDTO.getName())
                         .param("enabled", 
String.valueOf(pluginDTO.getEnabled()))
@@ -209,7 +209,7 @@ public final class PluginControllerTest {
                 .andExpect(jsonPath("$.message", 
is(ShenyuResultMessage.UPDATE_SUCCESS)))
                 .andReturn();
         when(pluginMapper.existed(pluginDTO.getId())).thenReturn(null);
-        this.mockMvc.perform(MockMvcRequestBuilders.put("/plugin/{id}", 
pluginDTO.getId())
+        
this.mockMvc.perform(MockMvcRequestBuilders.put("/plugin-template/{id}", 
pluginDTO.getId())
                         .contentType(MediaType.MULTIPART_FORM_DATA_VALUE)
                         .param("name", pluginDTO.getName())
                         .param("enabled", 
String.valueOf(pluginDTO.getEnabled()))
@@ -219,7 +219,7 @@ public final class PluginControllerTest {
                 .andReturn();
         when(pluginMapper.existed(pluginDTO.getId())).thenReturn(true);
         
given(this.pluginService.createOrUpdate(pluginDTO)).willReturn(ShenyuResultMessage.CREATE_SUCCESS);
-        this.mockMvc.perform(MockMvcRequestBuilders.put("/plugin/{id}", 
pluginDTO.getId())
+        
this.mockMvc.perform(MockMvcRequestBuilders.put("/plugin-template/{id}", 
pluginDTO.getId())
                         
.contentType(MediaType.APPLICATION_FORM_URLENCODED_VALUE)
                         .param("name", pluginDTO.getName())
                         .param("enabled", 
String.valueOf(pluginDTO.getEnabled()))
@@ -233,7 +233,7 @@ public final class PluginControllerTest {
     @Test
     public void testDeletePlugins() throws Exception {
         
given(this.pluginService.delete(Collections.singletonList("123"))).willReturn(StringUtils.EMPTY);
-        this.mockMvc.perform(MockMvcRequestBuilders.delete("/plugin/batch")
+        
this.mockMvc.perform(MockMvcRequestBuilders.delete("/plugin-template/batch")
                         .contentType(MediaType.APPLICATION_JSON)
                         .content("[\"123\"]"))
                 .andExpect(status().isOk())
@@ -241,7 +241,7 @@ public final class PluginControllerTest {
                 .andReturn();
 
         
given(this.pluginService.delete(Collections.singletonList("123"))).willReturn(AdminConstants.SYS_PLUGIN_ID_NOT_EXIST);
-        this.mockMvc.perform(MockMvcRequestBuilders.delete("/plugin/batch")
+        
this.mockMvc.perform(MockMvcRequestBuilders.delete("/plugin-template/batch")
                         .contentType(MediaType.APPLICATION_JSON)
                         .content("[\"123\"]"))
                 .andExpect(status().isOk())
@@ -249,7 +249,7 @@ public final class PluginControllerTest {
                 .andReturn();
 
         
given(this.pluginService.delete(Collections.singletonList("123"))).willReturn(AdminConstants.SYS_PLUGIN_NOT_DELETE);
-        this.mockMvc.perform(MockMvcRequestBuilders.delete("/plugin/batch")
+        
this.mockMvc.perform(MockMvcRequestBuilders.delete("/plugin-template/batch")
                         .contentType(MediaType.APPLICATION_JSON)
                         .content("[\"123\"]"))
                 .andExpect(status().isOk())
@@ -263,7 +263,7 @@ public final class PluginControllerTest {
         batchCommonDTO.setEnabled(false);
         batchCommonDTO.setIds(Collections.singletonList("123"));
         given(this.pluginService.enabled(batchCommonDTO.getIds(), 
batchCommonDTO.getEnabled())).willReturn(StringUtils.EMPTY);
-        this.mockMvc.perform(MockMvcRequestBuilders.post("/plugin/enabled")
+        
this.mockMvc.perform(MockMvcRequestBuilders.post("/plugin-template/enabled")
                         .contentType(MediaType.APPLICATION_JSON)
                         
.content(GsonUtils.getInstance().toJson(batchCommonDTO)))
                 .andExpect(status().isOk())
@@ -271,7 +271,7 @@ public final class PluginControllerTest {
                 .andReturn();
 
         given(this.pluginService.enabled(batchCommonDTO.getIds(), 
batchCommonDTO.getEnabled())).willReturn(AdminConstants.SYS_PLUGIN_ID_NOT_EXIST);
-        this.mockMvc.perform(MockMvcRequestBuilders.post("/plugin/enabled")
+        
this.mockMvc.perform(MockMvcRequestBuilders.post("/plugin-template/enabled")
                         .contentType(MediaType.APPLICATION_JSON)
                         
.content(GsonUtils.getInstance().toJson(batchCommonDTO)))
                 .andExpect(status().isOk())
diff --git 
a/shenyu-e2e/shenyu-e2e-client/src/main/java/org/apache/shenyu/e2e/client/admin/AdminClient.java
 
b/shenyu-e2e/shenyu-e2e-client/src/main/java/org/apache/shenyu/e2e/client/admin/AdminClient.java
index cee6b43a4d..1056c119ba 100644
--- 
a/shenyu-e2e/shenyu-e2e-client/src/main/java/org/apache/shenyu/e2e/client/admin/AdminClient.java
+++ 
b/shenyu-e2e/shenyu-e2e-client/src/main/java/org/apache/shenyu/e2e/client/admin/AdminClient.java
@@ -152,7 +152,7 @@ public class AdminClient extends BaseClient {
         int total;
         do {
             ResponseEntity<ShenYuResult> response = template.exchange(
-                    baseURL + "/plugin?currentPage={cur}&pageSize={page}",
+                    baseURL + 
"/plugin-template?currentPage={cur}&pageSize={page}",
                     HttpMethod.GET,
                     new HttpEntity<>(basicAuth),
                     ShenYuResult.class,
@@ -501,7 +501,7 @@ public class AdminClient extends BaseClient {
      * @param requestBody requestBody
      */
     public void changePluginStatus(final String id, final Map<String, String> 
requestBody) {
-        putResource("/namespacePlugin", id, NamespacePluginDTO.class, 
requestBody);
+        putResource("/namespace-plugin", id, NamespacePluginDTO.class, 
requestBody);
     }
 
     private <T extends ResourceDTO> T putResource(final String uri, final 
String id, final Class<T> valueType, final Map<String, String> requestBody) {
@@ -544,7 +544,7 @@ public class AdminClient extends BaseClient {
      */
     public void syncPluginAll() {
         HttpEntity<SearchCondition> entity = new HttpEntity<>(basicAuth);
-        template.postForEntity(baseURL + "/plugin/syncPluginAll", entity, 
ShenYuResult.class);
+        template.postForEntity(baseURL + "/plugin-template/syncPluginAll", 
entity, ShenYuResult.class);
         log.warn("admin syncPluginAll");
     }
 

Reply via email to