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 150c8a9c7cda..f43781c2136f 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 @@ -108,6 +108,7 @@ public String createOrUpdate(final MetaDataDTO metaDataDTO) { } @Override + @Transactional(rollbackFor = Exception.class) public int deleteByIdsAndNamespaceId(final List ids, final String namespaceId) { List deletedMetaData = metaDataMapper.selectByIdListAndNamespaceId(ids, namespaceId); if (CollectionUtils.isEmpty(deletedMetaData)) { @@ -121,6 +122,7 @@ public int deleteByIdsAndNamespaceId(final List ids, final String namesp } @Override + @Transactional(rollbackFor = Exception.class) public String enabledByIdsAndNamespaceId(final List ids, final Boolean enabled, final String namespaceId) { List metaDataDoList = metaDataMapper.selectByIdListAndNamespaceId(ids, namespaceId); if (CollectionUtils.isEmpty(metaDataDoList)) { 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 87d213980d55..a57bdc74a4b7 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 @@ -60,6 +60,7 @@ import static org.mockito.BDDMockito.given; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.mockStatic; +import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @@ -151,6 +152,13 @@ public void testEnabled() { .thenReturn(Arrays.asList(MetaDataDO.builder().build(), MetaDataDO.builder().build(), MetaDataDO.builder().build())); msg = metaDataService.enabledByIdsAndNamespaceId(ids, false, SYS_DEFAULT_NAMESPACE_ID); assertEquals(StringUtils.EMPTY, msg); + verify(publisher, never()).onEnabled(any()); + when(metaDataMapper.updateEnableBatch(ids, true)).thenReturn(ids.size()); + when(metaDataMapper.selectByIdListAndNamespaceId(ids, SYS_DEFAULT_NAMESPACE_ID)) + .thenReturn(Arrays.asList(MetaDataDO.builder().build(), MetaDataDO.builder().build(), MetaDataDO.builder().build())); + msg = metaDataService.enabledByIdsAndNamespaceId(ids, true, SYS_DEFAULT_NAMESPACE_ID); + assertEquals(StringUtils.EMPTY, msg); + verify(publisher).onEnabled(any()); } /**