kipshi commented on code in PR #5332:
URL: https://github.com/apache/inlong/pull/5332#discussion_r937385856
##########
inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/core/impl/HeartbeatServiceTest.java:
##########
@@ -17,130 +17,62 @@
package org.apache.inlong.manager.service.core.impl;
-import com.github.pagehelper.Page;
-import com.github.pagehelper.PageInfo;
-import org.apache.inlong.manager.pojo.heartbeat.ComponentHeartbeat;
-import org.apache.inlong.manager.pojo.heartbeat.ComponentHeartbeatResponse;
-import org.apache.inlong.manager.pojo.heartbeat.GroupHeartbeat;
-import org.apache.inlong.manager.pojo.heartbeat.GroupHeartbeatResponse;
-import org.apache.inlong.manager.pojo.heartbeat.HeartbeatPageRequest;
-import org.apache.inlong.manager.pojo.heartbeat.HeartbeatQueryRequest;
-import org.apache.inlong.manager.pojo.heartbeat.HeartbeatReportRequest;
-import org.apache.inlong.manager.pojo.heartbeat.StreamHeartbeat;
-import org.apache.inlong.manager.pojo.heartbeat.StreamHeartbeatResponse;
-import org.apache.inlong.manager.dao.entity.ComponentHeartbeatEntity;
-import org.apache.inlong.manager.dao.entity.GroupHeartbeatEntity;
-import org.apache.inlong.manager.dao.entity.StreamHeartbeatEntity;
+import com.google.common.collect.Maps;
+import org.apache.inlong.common.heartbeat.GroupHeartbeat;
+import org.apache.inlong.common.heartbeat.StreamHeartbeat;
+import org.apache.inlong.manager.common.util.JsonUtils;
import org.apache.inlong.manager.dao.mapper.ComponentHeartbeatEntityMapper;
import org.apache.inlong.manager.dao.mapper.GroupHeartbeatEntityMapper;
import org.apache.inlong.manager.dao.mapper.StreamHeartbeatEntityMapper;
+import org.apache.inlong.manager.pojo.heartbeat.HeartbeatQueryRequest;
+import org.apache.inlong.manager.pojo.heartbeat.HeartbeatReportRequest;
+import org.apache.inlong.manager.pojo.heartbeat.StreamHeartbeatResponse;
+import org.apache.inlong.manager.service.ServiceBaseTest;
import org.apache.inlong.manager.service.core.HeartbeatService;
import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import org.mockito.InjectMocks;
-import org.mockito.Mock;
-import org.mockito.Mockito;
-import org.mockito.MockitoAnnotations;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import java.time.Instant;
import java.util.ArrayList;
import java.util.List;
-
-import static org.mockito.BDDMockito.given;
+import java.util.Map;
/**
* Heartbeat service test.
*/
-public class HeartbeatServiceTest {
+@EnableAutoConfiguration
+public class HeartbeatServiceTest extends ServiceBaseTest {
- @InjectMocks
- private HeartbeatService heartbeatService = new HeartbeatServiceImpl();
- @Mock
+ @Autowired
+ private HeartbeatService heartbeatService;
+ @Autowired
private ComponentHeartbeatEntityMapper componentHeartbeatMapper;
- @Mock
+ @Autowired
private GroupHeartbeatEntityMapper groupHeartbeatMapper;
- @Mock
+ @Autowired
private StreamHeartbeatEntityMapper streamHeartbeatMapper;
- /**
- * setUp
- */
- @BeforeEach
- public void setUp() {
- MockitoAnnotations.openMocks(this);
- ComponentHeartbeatEntity componentHeartbeat = new
ComponentHeartbeatEntity();
- componentHeartbeat.setComponent("Sort");
- componentHeartbeat.setInstance("127.0.0.1");
- componentHeartbeat.setStatusHeartbeat("[{\"status\":\"running\"}]");
-
componentHeartbeat.setMetricHeartbeat("[{\"mem\":\"16gb\",\"cpu\":\"60%\"}]");
- componentHeartbeat.setReportTime(System.currentTimeMillis());
- Page<ComponentHeartbeatEntity> componentPage = new Page<>();
- componentPage.add(componentHeartbeat);
- componentPage.setTotal(1);
- given(componentHeartbeatMapper.insert(new
ComponentHeartbeatEntity())).willReturn(1);
- given(componentHeartbeatMapper.selectByKey(Mockito.anyString(),
- Mockito.anyString())).willReturn(componentHeartbeat);
-
given(componentHeartbeatMapper.selectByCondition(Mockito.any())).willReturn(componentPage);
-
- GroupHeartbeatEntity groupHeartbeat = new GroupHeartbeatEntity();
- groupHeartbeat.setComponent("Sort");
- groupHeartbeat.setInstance("127.0.0.1");
-
groupHeartbeat.setStatusHeartbeat("[{\"summaryMetric\":{\"totalRecordNumOfRead\""
- + ":
\"10\"},\"streamMetrics\":[{\"streamId\":\"stream1\"}]}]");
- groupHeartbeat.setReportTime(System.currentTimeMillis());
-
groupHeartbeat.setMetricHeartbeat("[{\"summaryMetric\":{\"totalRecordNumOfRead\""
- + ": \"10\"},"
- + "\"streamMetrics\":[{\"streamId\":\"stream1\"}]}]");
- Page<GroupHeartbeatEntity> groupPage = new Page<>();
- groupPage.add(groupHeartbeat);
- groupPage.setTotal(1);
- given(groupHeartbeatMapper.selectByKey(Mockito.anyString(),
- Mockito.anyString(),
Mockito.anyString())).willReturn(groupHeartbeat);
-
given(groupHeartbeatMapper.selectByCondition(Mockito.any())).willReturn(groupPage);
-
- StreamHeartbeatEntity streamHeartbeat = new StreamHeartbeatEntity();
- streamHeartbeat.setComponent("Sort");
- streamHeartbeat.setInstance("127.0.0.1");
- streamHeartbeat.setInlongGroupId("group1");
- streamHeartbeat.setInlongStreamId("test_test");
- streamHeartbeat.setStatusHeartbeat("[{\"statue\":\"running\"}]");
- streamHeartbeat.setMetricHeartbeat("[{\"outMsg\":\"1\",\"inMsg\":2}]");
- streamHeartbeat.setReportTime(System.currentTimeMillis());
-
- Page<StreamHeartbeatEntity> streamPage = new Page<>();
- streamPage.add(streamHeartbeat);
- streamPage.setTotal(1);
-
- given(streamHeartbeatMapper.selectByKey(Mockito.anyString(),
- Mockito.anyString(), Mockito.anyString(), Mockito.anyString()))
- .willReturn(streamHeartbeat);
-
given(streamHeartbeatMapper.selectByCondition(Mockito.any())).willReturn(streamPage);
- }
-
@Test
public void testReportHeartbeat() {
HeartbeatReportRequest request = new HeartbeatReportRequest();
- request.setComponent("Sort");
- request.setInstance("127.0.0.1");
+ request.setComponentType("AGENT");
Review Comment:
done
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]