You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@inlong.apache.org by he...@apache.org on 2022/09/15 03:13:56 UTC

[inlong] branch master updated: [INLONG-5775][Manager] Add unit tests for the Inlong Consume (#5777)

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

healchow pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/inlong.git


The following commit(s) were added to refs/heads/master by this push:
     new cc63c57e3 [INLONG-5775][Manager] Add unit tests for the Inlong Consume (#5777)
cc63c57e3 is described below

commit cc63c57e396fe4d09a46d17338e44977ea3d580f
Author: ciscozhou <45...@users.noreply.github.com>
AuthorDate: Thu Sep 15 11:13:51 2022 +0800

    [INLONG-5775][Manager] Add unit tests for the Inlong Consume (#5777)
    
    Co-authored-by: healchow <he...@gmail.com>
---
 .../dao/mapper/InlongConsumeEntityMapper.java      |   4 +-
 .../resources/mappers/ConsumptionEntityMapper.xml  |   2 +-
 .../mappers/InlongConsumeEntityMapper.xml          |   8 +-
 .../mappers/WorkflowProcessEntityMapper.xml        |   2 +-
 .../resources/mappers/WorkflowTaskEntityMapper.xml |   2 +-
 .../pojo/consume/InlongConsumeCountInfo.java       |   8 +-
 .../service/consume/InlongConsumeServiceImpl.java  |  26 ++--
 .../service/consume/InlongConsumeServiceTest.java  | 165 +++++++++++++++++++++
 .../service/core/impl/InlongStreamServiceTest.java |  21 +--
 .../service/group/InlongGroupServiceTest.java      |  21 ++-
 10 files changed, 207 insertions(+), 52 deletions(-)

diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongConsumeEntityMapper.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongConsumeEntityMapper.java
index feaf28a50..ab9615e70 100644
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongConsumeEntityMapper.java
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongConsumeEntityMapper.java
@@ -19,11 +19,11 @@ package org.apache.inlong.manager.dao.mapper;
 
 import org.apache.ibatis.annotations.Param;
 import org.apache.inlong.manager.dao.entity.InlongConsumeEntity;
+import org.apache.inlong.manager.pojo.common.CountInfo;
 import org.apache.inlong.manager.pojo.consume.InlongConsumePageRequest;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
-import java.util.Map;
 
 @Repository
 public interface InlongConsumeEntityMapper {
@@ -32,7 +32,7 @@ public interface InlongConsumeEntityMapper {
 
     InlongConsumeEntity selectById(Integer id);
 
-    List<Map<String, Object>> countByUser(@Param(value = "username") String username);
+    List<CountInfo> countByUser(@Param(value = "username") String username);
 
     List<InlongConsumeEntity> selectByCondition(InlongConsumePageRequest request);
 
diff --git a/inlong-manager/manager-dao/src/main/resources/mappers/ConsumptionEntityMapper.xml b/inlong-manager/manager-dao/src/main/resources/mappers/ConsumptionEntityMapper.xml
index 885cc22e6..9865ca0a1 100644
--- a/inlong-manager/manager-dao/src/main/resources/mappers/ConsumptionEntityMapper.xml
+++ b/inlong-manager/manager-dao/src/main/resources/mappers/ConsumptionEntityMapper.xml
@@ -264,7 +264,7 @@
     <select id="countByQuery"
             parameterType="org.apache.inlong.manager.pojo.consumption.ConsumptionQuery"
             resultType="org.apache.inlong.manager.pojo.common.CountInfo">
-        select status as `key`, count(1) as value
+        select status as `key`, count(1) as `value`
         from consumption
         where is_deleted=0
         <if test="consumerGroup != null and consumerGroup != ''">
diff --git a/inlong-manager/manager-dao/src/main/resources/mappers/InlongConsumeEntityMapper.xml b/inlong-manager/manager-dao/src/main/resources/mappers/InlongConsumeEntityMapper.xml
index 435d6ca3c..0eaee7686 100644
--- a/inlong-manager/manager-dao/src/main/resources/mappers/InlongConsumeEntityMapper.xml
+++ b/inlong-manager/manager-dao/src/main/resources/mappers/InlongConsumeEntityMapper.xml
@@ -51,12 +51,12 @@
                                     mq_type, topic, inlong_group_id,
                                     filter_enabled, inlong_stream_id,
                                     ext_params, in_charges, status,
-                                    is_deleted, creator, modifier)
+                                    creator, modifier)
         values (#{id, jdbcType=INTEGER}, #{consumerGroup, jdbcType=VARCHAR}, #{description, jdbcType=VARCHAR},
                 #{mqType, jdbcType=VARCHAR}, #{topic, jdbcType=VARCHAR}, #{inlongGroupId, jdbcType=VARCHAR},
                 #{filterEnabled, jdbcType=INTEGER}, #{inlongStreamId, jdbcType=VARCHAR},
                 #{extParams, jdbcType=LONGVARCHAR}, #{inCharges, jdbcType=VARCHAR}, #{status, jdbcType=INTEGER},
-                #{isDeleted, jdbcType=INTEGER}, #{creator, jdbcType=VARCHAR}, #{modifier, jdbcType=VARCHAR})
+                #{creator, jdbcType=VARCHAR}, #{modifier, jdbcType=VARCHAR})
     </insert>
 
     <select id="selectById" parameterType="java.lang.Integer" resultMap="BaseResultMap">
@@ -65,8 +65,8 @@
         from inlong_consume
         where id = #{id, jdbcType=INTEGER}
     </select>
-    <select id="countByUser" resultType="java.util.Map">
-        select status, count(1) as total
+    <select id="countByUser" resultType="org.apache.inlong.manager.pojo.common.CountInfo">
+        select status as `key`, count(1) as `value`
         from inlong_consume
         where is_deleted = 0
           and (creator = #{username, jdbcType=VARCHAR} or FIND_IN_SET(#{username, jdbcType=VARCHAR}, in_charges))
diff --git a/inlong-manager/manager-dao/src/main/resources/mappers/WorkflowProcessEntityMapper.xml b/inlong-manager/manager-dao/src/main/resources/mappers/WorkflowProcessEntityMapper.xml
index a557fe8e4..3a46eef18 100644
--- a/inlong-manager/manager-dao/src/main/resources/mappers/WorkflowProcessEntityMapper.xml
+++ b/inlong-manager/manager-dao/src/main/resources/mappers/WorkflowProcessEntityMapper.xml
@@ -114,7 +114,7 @@
 
     <select id="countByQuery" parameterType="org.apache.inlong.manager.pojo.workflow.ProcessCountRequest"
             resultType="org.apache.inlong.manager.pojo.common.CountInfo">
-        select status as `key`, count(1) as value
+        select status as `key`, count(1) as `value`
         from workflow_process
         <where>
             <if test="name != null and name !=''">
diff --git a/inlong-manager/manager-dao/src/main/resources/mappers/WorkflowTaskEntityMapper.xml b/inlong-manager/manager-dao/src/main/resources/mappers/WorkflowTaskEntityMapper.xml
index ab7bb9d3a..8746164fd 100644
--- a/inlong-manager/manager-dao/src/main/resources/mappers/WorkflowTaskEntityMapper.xml
+++ b/inlong-manager/manager-dao/src/main/resources/mappers/WorkflowTaskEntityMapper.xml
@@ -136,7 +136,7 @@
     <select id="countByQuery"
             parameterType="org.apache.inlong.manager.pojo.workflow.TaskCountRequest"
             resultType="org.apache.inlong.manager.pojo.common.CountInfo">
-        select status as `key`, count(1) as value
+        select status as `key`, count(1) as `value`
         from workflow_task
         <where>
             <if test="processId != null">
diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/consume/InlongConsumeCountInfo.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/consume/InlongConsumeCountInfo.java
index e48d97e0d..f15440be8 100644
--- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/consume/InlongConsumeCountInfo.java
+++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/consume/InlongConsumeCountInfo.java
@@ -29,15 +29,15 @@ import lombok.Data;
 public class InlongConsumeCountInfo {
 
     @ApiModelProperty(value = "Total consume number")
-    private long totalCount;
+    private Integer totalCount = 0;
 
     @ApiModelProperty(value = "Total number of to be allocated (the number of configuring consumes)")
-    private long waitAssignCount;
+    private Integer waitAssignCount = 0;
 
     @ApiModelProperty(value = "Total number of to be approved")
-    private long waitApproveCount;
+    private Integer waitApproveCount = 0;
 
     @ApiModelProperty(value = "Total number of rejections")
-    private long rejectCount;
+    private Integer rejectCount = 0;
 
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/consume/InlongConsumeServiceImpl.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/consume/InlongConsumeServiceImpl.java
index f0c5cec8f..d1621cb02 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/consume/InlongConsumeServiceImpl.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/consume/InlongConsumeServiceImpl.java
@@ -28,6 +28,7 @@ import org.apache.inlong.manager.common.util.CommonBeanUtils;
 import org.apache.inlong.manager.common.util.Preconditions;
 import org.apache.inlong.manager.dao.entity.InlongConsumeEntity;
 import org.apache.inlong.manager.dao.mapper.InlongConsumeEntityMapper;
+import org.apache.inlong.manager.pojo.common.CountInfo;
 import org.apache.inlong.manager.pojo.common.OrderFieldEnum;
 import org.apache.inlong.manager.pojo.common.OrderTypeEnum;
 import org.apache.inlong.manager.pojo.common.PageResult;
@@ -46,7 +47,6 @@ import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
-import java.util.Map;
 import java.util.Objects;
 import java.util.stream.Collectors;
 
@@ -78,10 +78,10 @@ public class InlongConsumeServiceImpl implements InlongConsumeService {
         }
 
         InlongConsumeOperator consumeOperator = consumeOperatorFactory.getInstance(request.getMqType());
-        consumeOperator.saveOpt(request, operator);
+        Integer id = consumeOperator.saveOpt(request, operator);
 
         LOGGER.info("success to save inlong consume for consumer group={} by user={}", consumerGroup, operator);
-        return request.getId();
+        return id;
     }
 
     @Override
@@ -147,23 +147,23 @@ public class InlongConsumeServiceImpl implements InlongConsumeService {
 
     @Override
     public InlongConsumeCountInfo countStatus(String username) {
-        List<Map<String, Object>> statusCount = consumeMapper.countByUser(username);
-        InlongConsumeCountInfo countInfo = new InlongConsumeCountInfo();
-        for (Map<String, Object> map : statusCount) {
-            int status = (Integer) map.get("status");
-            long count = (Long) map.get("count");
-            countInfo.setTotalCount(countInfo.getTotalCount() + count);
+        List<CountInfo> countInfoList = consumeMapper.countByUser(username);
+        InlongConsumeCountInfo result = new InlongConsumeCountInfo();
+        for (CountInfo countInfo : countInfoList) {
+            int status = Integer.parseInt(countInfo.getKey());
+            int count = countInfo.getValue();
+            result.setTotalCount(result.getTotalCount() + count);
             if (status == ConsumeStatus.WAIT_ASSIGN.getCode()) {
-                countInfo.setWaitAssignCount(countInfo.getWaitAssignCount() + count);
+                result.setWaitAssignCount(result.getWaitAssignCount() + count);
             } else if (status == ConsumeStatus.WAIT_APPROVE.getCode()) {
-                countInfo.setWaitApproveCount(countInfo.getWaitApproveCount() + count);
+                result.setWaitApproveCount(result.getWaitApproveCount() + count);
             } else if (status == ConsumeStatus.REJECTED.getCode()) {
-                countInfo.setRejectCount(countInfo.getRejectCount() + count);
+                result.setRejectCount(result.getRejectCount() + count);
             }
         }
 
         LOGGER.debug("success to count inlong consume for user={}", username);
-        return countInfo;
+        return result;
     }
 
     @Override
diff --git a/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/consume/InlongConsumeServiceTest.java b/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/consume/InlongConsumeServiceTest.java
new file mode 100644
index 000000000..ad58b9ca6
--- /dev/null
+++ b/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/consume/InlongConsumeServiceTest.java
@@ -0,0 +1,165 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.inlong.manager.service.consume;
+
+import org.apache.inlong.manager.common.consts.MQType;
+import org.apache.inlong.manager.common.enums.ClusterType;
+import org.apache.inlong.manager.pojo.cluster.pulsar.PulsarClusterRequest;
+import org.apache.inlong.manager.pojo.common.OrderFieldEnum;
+import org.apache.inlong.manager.pojo.common.OrderTypeEnum;
+import org.apache.inlong.manager.pojo.common.PageResult;
+import org.apache.inlong.manager.pojo.consume.InlongConsumeBriefInfo;
+import org.apache.inlong.manager.pojo.consume.InlongConsumeCountInfo;
+import org.apache.inlong.manager.pojo.consume.InlongConsumeInfo;
+import org.apache.inlong.manager.pojo.consume.InlongConsumePageRequest;
+import org.apache.inlong.manager.pojo.consume.pulsar.ConsumePulsarRequest;
+import org.apache.inlong.manager.service.ServiceBaseTest;
+import org.apache.inlong.manager.service.cluster.InlongClusterService;
+import org.apache.inlong.manager.service.core.impl.InlongStreamServiceTest;
+import org.apache.inlong.manager.service.group.InlongGroupServiceTest;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * Test for {@link InlongConsumeServiceImpl}
+ */
+public class InlongConsumeServiceTest extends ServiceBaseTest {
+
+    private final String groupId = "consume_group_id";
+    private final String streamId = "consume_stream_id";
+    private final String consumerGroup = "test_consumer_group";
+    private final String deadLetterTopic = "test_dlp";
+    private Integer clusterId;
+
+    @Autowired
+    private InlongConsumeService consumeService;
+    @Autowired
+    private InlongGroupServiceTest groupServiceTest;
+    @Autowired
+    private InlongStreamServiceTest streamServiceTest;
+    @Autowired
+    private InlongClusterService clusterService;
+
+    @BeforeEach
+    public void before() {
+        groupServiceTest.saveGroup(groupId, GLOBAL_OPERATOR);
+        streamServiceTest.saveInlongStream(groupId, streamId, GLOBAL_OPERATOR);
+        // before saving inlong consume, the related MQ cluster must exist
+        this.saveCluster();
+    }
+
+    @Test
+    public void testAll() {
+        // test save operation
+        Integer consumeId = this.testSave();
+        Assertions.assertNotNull(consumeId);
+
+        // test get operation
+        InlongConsumeInfo consumeInfo = this.testGet(consumeId);
+        Assertions.assertEquals(consumeInfo.getId(), consumeId);
+
+        // test list operation
+        Assertions.assertTrue(this.testList().getPageSize() > 0);
+
+        // test count status operation
+        InlongConsumeCountInfo countInfo = testCountStatus();
+        Assertions.assertNotNull(countInfo);
+
+        // test update operation
+        Assertions.assertTrue(this.testUpdate(consumeInfo));
+
+        // test delete operation
+        Assertions.assertTrue(this.testDelete(consumeId));
+    }
+
+    @AfterEach
+    public void after() {
+        streamServiceTest.deleteStream(groupId, streamId, GLOBAL_OPERATOR);
+        // Current status=to_be_submit was not allowed to delete
+        // groupServiceTest.deleteGroup(groupId, GLOBAL_OPERATOR);
+        // before saving inlong consume, the related MQ cluster must exist
+        clusterService.delete(clusterId, GLOBAL_OPERATOR);
+    }
+
+    private Integer testSave() {
+        ConsumePulsarRequest request = new ConsumePulsarRequest();
+        request.setInlongGroupId(groupId);
+        request.setInlongStreamId(streamId);
+        request.setMqType(MQType.PULSAR);
+        request.setTopic(streamId);
+        request.setConsumerGroup(consumerGroup);
+        request.setInCharges(GLOBAL_OPERATOR);
+        request.setIsDlq(1);
+        request.setDeadLetterTopic(deadLetterTopic);
+        request.setIsRlq(0);
+        return consumeService.save(request, GLOBAL_OPERATOR);
+    }
+
+    private InlongConsumeInfo testGet(Integer id) {
+        return consumeService.get(id);
+    }
+
+    private PageResult<InlongConsumeBriefInfo> testList() {
+        InlongConsumePageRequest request = new InlongConsumePageRequest();
+        request.setPageNum(1);
+        request.setPageSize(10);
+        request.setOrderField(OrderFieldEnum.CREATE_TIME.name());
+        request.setOrderType(OrderTypeEnum.DESC.name());
+        request.setConsumerGroup(consumerGroup);
+        return consumeService.list(request);
+    }
+
+    private Boolean testUpdate(InlongConsumeInfo consumeInfo) {
+        ConsumePulsarRequest request = new ConsumePulsarRequest();
+        request.setId(consumeInfo.getId());
+        request.setMqType(MQType.PULSAR);
+        request.setInlongGroupId(groupId);
+        request.setIsDlq(1);
+        request.setDeadLetterTopic(deadLetterTopic);
+        request.setIsRlq(0);
+        request.setVersion(consumeInfo.getVersion());
+        return consumeService.update(request, GLOBAL_OPERATOR);
+    }
+
+    private InlongConsumeCountInfo testCountStatus() {
+        return consumeService.countStatus(GLOBAL_OPERATOR);
+    }
+
+    private Boolean testDelete(Integer id) {
+        return consumeService.delete(id, GLOBAL_OPERATOR);
+    }
+
+    private void saveCluster() {
+        PulsarClusterRequest request = new PulsarClusterRequest();
+        String clusterTag = "consume_cluster_tag";
+        request.setClusterTags(clusterTag);
+        String clusterName = "consume_pulsar_cluster";
+        request.setName(clusterName);
+        request.setType(ClusterType.PULSAR);
+        String adminUrl = "http://127.0.0.1:8080";
+        request.setAdminUrl(adminUrl);
+        String tenant = "public";
+        request.setTenant(tenant);
+        request.setInCharges(GLOBAL_OPERATOR);
+        clusterId = clusterService.save(request, GLOBAL_OPERATOR);
+    }
+
+}
diff --git a/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/core/impl/InlongStreamServiceTest.java b/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/core/impl/InlongStreamServiceTest.java
index 203005aa1..74772fe84 100644
--- a/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/core/impl/InlongStreamServiceTest.java
+++ b/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/core/impl/InlongStreamServiceTest.java
@@ -19,10 +19,9 @@ package org.apache.inlong.manager.service.core.impl;
 
 import org.apache.inlong.manager.pojo.stream.InlongStreamInfo;
 import org.apache.inlong.manager.pojo.stream.InlongStreamRequest;
+import org.apache.inlong.manager.service.group.InlongGroupServiceTest;
 import org.apache.inlong.manager.service.stream.InlongStreamService;
-import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
-import org.apache.inlong.manager.service.group.InlongGroupServiceTest;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -36,8 +35,6 @@ public class InlongStreamServiceTest {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(InlongStreamServiceTest.class);
 
-    private final String globalOperator = "admin";
-
     @Autowired
     private InlongStreamService streamService;
     @Autowired
@@ -66,20 +63,16 @@ public class InlongStreamServiceTest {
         return streamService.save(request, operator);
     }
 
-    // @Test
-    public void testSaveAndDelete() {
-        String groupId = "stream_service_test_group";
-        String streamId = "stream_service_test_stream";
-        Integer id = this.saveInlongStream(groupId, streamId, globalOperator);
-        Assertions.assertNotNull(id);
-
-        boolean result = streamService.delete(groupId, streamId, globalOperator);
-        Assertions.assertTrue(result);
+    /**
+     * Delete one inlong stream
+     */
+    public Boolean deleteStream(String groupId, String streamId, String operator) {
+        return streamService.delete(groupId, streamId, operator);
     }
 
     @Test
     public void test() {
-        LOGGER.info("If you don't add test, UnusedImports: Unused import: org.junit.Test.");
+        LOGGER.info("Blank test for inlong stream service");
     }
 
 }
diff --git a/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/group/InlongGroupServiceTest.java b/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/group/InlongGroupServiceTest.java
index 535c290d8..e175e9ce9 100644
--- a/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/group/InlongGroupServiceTest.java
+++ b/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/group/InlongGroupServiceTest.java
@@ -17,13 +17,13 @@
 
 package org.apache.inlong.manager.service.group;
 
-import org.apache.inlong.manager.common.enums.GroupStatus;
 import org.apache.inlong.manager.common.consts.MQType;
+import org.apache.inlong.manager.common.enums.GroupStatus;
+import org.apache.inlong.manager.dao.entity.InlongGroupExtEntity;
+import org.apache.inlong.manager.dao.mapper.InlongGroupExtEntityMapper;
 import org.apache.inlong.manager.pojo.group.InlongGroupExtInfo;
 import org.apache.inlong.manager.pojo.group.InlongGroupInfo;
 import org.apache.inlong.manager.pojo.group.pulsar.InlongPulsarInfo;
-import org.apache.inlong.manager.dao.entity.InlongGroupExtEntity;
-import org.apache.inlong.manager.dao.mapper.InlongGroupExtEntityMapper;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
@@ -50,7 +50,7 @@ public class InlongGroupServiceTest {
     InlongGroupExtEntityMapper groupExtMapper;
 
     /**
-     * Test to save group
+     * Save one inlong group with Pulsar info
      */
     public String saveGroup(String inlongGroupId, String operator) {
         InlongGroupInfo groupInfo;
@@ -77,14 +77,11 @@ public class InlongGroupServiceTest {
         return groupService.save(pulsarInfo.genRequest(), operator);
     }
 
-    // @TestComponent runs as a whole without injecting objects
-    // @Test
-    public void testSaveAndDelete() {
-        String groupId = this.saveGroup(globalGroupId, globalOperator);
-        Assertions.assertNotNull(groupId);
-
-        boolean result = groupService.delete(groupId, globalOperator);
-        Assertions.assertTrue(result);
+    /**
+     * Delete one inlong group
+     */
+    public Boolean deleteGroup(String groupId, String operator) {
+        return groupService.delete(groupId, operator);
     }
 
     // @TestComponent runs as a whole without injecting objects