Search in sources :

Example 1 with AgentInfoService

use of com.navercorp.pinpoint.web.service.AgentInfoService in project pinpoint by naver.

the class ApplicationMapBuilderTest method setUp.

@Before
public void setUp() {
    MapResponseDao mapResponseDao = mock(MapResponseDao.class);
    mapResponseNodeHistogramDataSource = new MapResponseNodeHistogramDataSource(mapResponseDao);
    ResponseHistograms responseHistograms = mock(ResponseHistograms.class);
    responseHistogramBuilderNodeHistogramDataSource = new ResponseHistogramsNodeHistogramDataSource(responseHistograms);
    AgentInfoService agentInfoService = mock(AgentInfoService.class);
    agentInfoServerInstanceListDataSource = new AgentInfoServerInstanceListDataSource(agentInfoService);
    Answer<List<ResponseTime>> responseTimeAnswer = new Answer<List<ResponseTime>>() {

        final long timestamp = System.currentTimeMillis();

        @Override
        public List<ResponseTime> answer(InvocationOnMock invocation) {
            Application application = invocation.getArgument(0);
            String applicationName = application.getName();
            ServiceType applicationServiceType = application.getServiceType();
            int depth = ApplicationMapBuilderTestHelper.getDepthFromApplicationName(applicationName);
            ResponseTime responseTime = new ResponseTime(application.getName(), application.getServiceType(), timestamp);
            responseTime.addResponseTime(ApplicationMapBuilderTestHelper.createAgentIdFromDepth(depth), applicationServiceType.getHistogramSchema().getNormalSlot().getSlotTime(), 1);
            return Collections.singletonList(responseTime);
        }
    };
    when(mapResponseDao.selectResponseTime(any(Application.class), any(Range.class))).thenAnswer(responseTimeAnswer);
    when(responseHistograms.getResponseTimeList(any(Application.class))).thenAnswer(responseTimeAnswer);
    when(agentInfoService.getAgentsByApplicationName(anyString(), anyLong())).thenAnswer(new Answer<Set<AgentInfo>>() {

        @Override
        public Set<AgentInfo> answer(InvocationOnMock invocation) throws Throwable {
            String applicationName = invocation.getArgument(0);
            AgentInfo agentInfo = ApplicationMapBuilderTestHelper.createAgentInfoFromApplicationName(applicationName);
            AgentStatus agentStatus = new AgentStatus(agentInfo.getAgentId(), AgentLifeCycleState.RUNNING, 0);
            agentInfo.setStatus(agentStatus);
            Set<AgentInfo> agentInfos = new HashSet<>();
            agentInfos.add(agentInfo);
            return agentInfos;
        }
    });
    when(agentInfoService.getAgentsByApplicationNameWithoutStatus(anyString(), anyLong())).thenAnswer(new Answer<Set<AgentInfo>>() {

        @Override
        public Set<AgentInfo> answer(InvocationOnMock invocation) throws Throwable {
            String applicationName = invocation.getArgument(0);
            AgentInfo agentInfo = ApplicationMapBuilderTestHelper.createAgentInfoFromApplicationName(applicationName);
            Set<AgentInfo> agentInfos = new HashSet<>();
            agentInfos.add(agentInfo);
            return agentInfos;
        }
    });
    when(agentInfoService.getAgentStatus(anyString(), anyLong())).thenAnswer(new Answer<AgentStatus>() {

        @Override
        public AgentStatus answer(InvocationOnMock invocation) throws Throwable {
            String agentId = invocation.getArgument(0);
            AgentStatus agentStatus = new AgentStatus(agentId, AgentLifeCycleState.RUNNING, System.currentTimeMillis());
            return agentStatus;
        }
    });
    doAnswer(new Answer<List<Optional<AgentStatus>>>() {

        @Override
        public List<Optional<AgentStatus>> answer(InvocationOnMock invocation) throws Throwable {
            List<Optional<AgentStatus>> result = new ArrayList<>();
            AgentStatusQuery query = invocation.getArgument(0);
            for (SimpleAgentKey agentInfo : query.getAgentKeys()) {
                AgentStatus agentStatus = new AgentStatus(agentInfo.getAgentId(), AgentLifeCycleState.RUNNING, System.currentTimeMillis());
                result.add(Optional.of(agentStatus));
            }
            return result;
        }
    }).when(agentInfoService).getAgentStatus(any());
}
Also used : HashSet(java.util.HashSet) Set(java.util.Set) AgentInfoService(com.navercorp.pinpoint.web.service.AgentInfoService) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) AgentInfoServerInstanceListDataSource(com.navercorp.pinpoint.web.applicationmap.appender.server.datasource.AgentInfoServerInstanceListDataSource) ResponseHistograms(com.navercorp.pinpoint.web.vo.ResponseHistograms) AgentStatus(com.navercorp.pinpoint.web.vo.AgentStatus) ServiceType(com.navercorp.pinpoint.common.trace.ServiceType) MapResponseNodeHistogramDataSource(com.navercorp.pinpoint.web.applicationmap.appender.histogram.datasource.MapResponseNodeHistogramDataSource) ArrayList(java.util.ArrayList) List(java.util.List) ResponseTime(com.navercorp.pinpoint.web.vo.ResponseTime) MapResponseDao(com.navercorp.pinpoint.web.dao.MapResponseDao) Range(com.navercorp.pinpoint.web.vo.Range) Answer(org.mockito.stubbing.Answer) Mockito.doAnswer(org.mockito.Mockito.doAnswer) AgentStatusQuery(com.navercorp.pinpoint.web.vo.AgentStatusQuery) SimpleAgentKey(com.navercorp.pinpoint.common.server.bo.SimpleAgentKey) InvocationOnMock(org.mockito.invocation.InvocationOnMock) ResponseHistogramsNodeHistogramDataSource(com.navercorp.pinpoint.web.applicationmap.appender.histogram.datasource.ResponseHistogramsNodeHistogramDataSource) AgentInfo(com.navercorp.pinpoint.web.vo.AgentInfo) Application(com.navercorp.pinpoint.web.vo.Application) Before(org.junit.Before)

Aggregations

SimpleAgentKey (com.navercorp.pinpoint.common.server.bo.SimpleAgentKey)1 ServiceType (com.navercorp.pinpoint.common.trace.ServiceType)1 MapResponseNodeHistogramDataSource (com.navercorp.pinpoint.web.applicationmap.appender.histogram.datasource.MapResponseNodeHistogramDataSource)1 ResponseHistogramsNodeHistogramDataSource (com.navercorp.pinpoint.web.applicationmap.appender.histogram.datasource.ResponseHistogramsNodeHistogramDataSource)1 AgentInfoServerInstanceListDataSource (com.navercorp.pinpoint.web.applicationmap.appender.server.datasource.AgentInfoServerInstanceListDataSource)1 MapResponseDao (com.navercorp.pinpoint.web.dao.MapResponseDao)1 AgentInfoService (com.navercorp.pinpoint.web.service.AgentInfoService)1 AgentInfo (com.navercorp.pinpoint.web.vo.AgentInfo)1 AgentStatus (com.navercorp.pinpoint.web.vo.AgentStatus)1 AgentStatusQuery (com.navercorp.pinpoint.web.vo.AgentStatusQuery)1 Application (com.navercorp.pinpoint.web.vo.Application)1 Range (com.navercorp.pinpoint.web.vo.Range)1 ResponseHistograms (com.navercorp.pinpoint.web.vo.ResponseHistograms)1 ResponseTime (com.navercorp.pinpoint.web.vo.ResponseTime)1 ArrayList (java.util.ArrayList)1 HashSet (java.util.HashSet)1 List (java.util.List)1 Set (java.util.Set)1 Before (org.junit.Before)1 ArgumentMatchers.anyString (org.mockito.ArgumentMatchers.anyString)1