Skip to content

Commit

Permalink
[#noissue] Remove mockStatic from testcase.
Browse files Browse the repository at this point in the history
  • Loading branch information
emeroad committed Dec 19, 2023
1 parent 07c2851 commit b0da70f
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ public void handleRequest(ServerRequest<GeneratedMessageV3> serverRequest, Serve
}
}

GeneratedMessageV3 handleApiMetaData(final PApiMetaData apiMetaData) {
PResult handleApiMetaData(final PApiMetaData apiMetaData) {
if (isDebug) {
logger.debug("Handle PApiMetaData={}", MessageFormatUtils.debugLog(apiMetaData));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,19 @@
import com.navercorp.pinpoint.grpc.Header;
import com.navercorp.pinpoint.grpc.server.ServerContext;
import com.navercorp.pinpoint.grpc.trace.PApiMetaData;
import com.navercorp.pinpoint.grpc.trace.PResult;
import io.grpc.Context;
import org.junit.jupiter.api.Test;
import org.mockito.MockedStatic;

import java.util.Collections;

import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.*;
import static org.mockito.Mockito.any;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.mock;

public class GrpcApiMetaDataHandlerTest {

// ApiMetaDataBo{agentId='express-node-sample-id', startTime=1668495162817, apiId=11, apiInfo='express.Function.proto.get(path, callback)', lineNumber=177, methodTypeEnum=DEFAULT}
// from Node agent [11, 'express.Function.proto.get(path, callback)', 24, null, '/Users/workspace/pinpoint/@pinpoint-naver-apm/pinpoint-agent-node/samples/express/src/routes/index.js']
@Test
Expand All @@ -27,18 +33,23 @@ public void stubToApiMetaData() {
.setType(MethodTypeEnum.DEFAULT.getCode())
.setLocation("/Users/workspace/pinpoint/@pinpoint-naver-apm/pinpoint-agent-node/samples/express/src/routes/index.js")
.build();
try (MockedStatic<ServerContext> mocked = mockStatic(ServerContext.class)) {
mocked.when(ServerContext::getAgentInfo).thenReturn(new Header("name", "express-node-sample-id", "agentName", "applicationName", 0, 1668495162817L, 0, Collections.emptyList()));
doAnswer((invocation) -> {
ApiMetaDataBo actual = invocation.getArgument(0);
assertThat(actual).extracting("agentId", "startTime", "apiId", "apiInfo", "lineNumber", "methodTypeEnum", "location")
.contains("express-node-sample-id", 1668495162817L, 13, "express.Function.proto.get(path, callback)", 177, MethodTypeEnum.DEFAULT, "/Users/workspace/pinpoint/@pinpoint-naver-apm/pinpoint-agent-node/samples/express/src/routes/index.js");
return null;
}).when(mockedService).insert(any());

dut.handleApiMetaData(actualStub);

mocked.verify(ServerContext::getAgentInfo);
}

Header header = new Header("name", "express-node-sample-id", "agentName", "applicationName", 0, 1668495162817L, 0, Collections.emptyList());
Context headerContext = Context.current().withValue(ServerContext.AGENT_INFO_KEY, header);
headerContext.run(new Runnable() {
@Override
public void run() {
doAnswer((invocation) -> {
ApiMetaDataBo actual = invocation.getArgument(0);
assertThat(actual).extracting("agentId", "startTime", "apiId", "apiInfo", "lineNumber", "methodTypeEnum", "location")
.contains("express-node-sample-id", 1668495162817L, 13, "express.Function.proto.get(path, callback)", 177, MethodTypeEnum.DEFAULT, "/Users/workspace/pinpoint/@pinpoint-naver-apm/pinpoint-agent-node/samples/express/src/routes/index.js");
return null;
}).when(mockedService).insert(any());

PResult result = dut.handleApiMetaData(actualStub);
assertThat(result.getSuccess()).isTrue();
}
});
}

}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
*/
public class ServerContext {

private static final Context.Key<Header> AGENT_INFO_KEY = Context.key("agentinfo");
public static final Context.Key<Header> AGENT_INFO_KEY = Context.key("agentinfo");

private static final Context.Key<TransportMetadata> TRANSPORT_METADATA_KEY = Context.key("transportmetadata");

Expand Down

0 comments on commit b0da70f

Please sign in to comment.