diff --git a/collector/src/main/java/com/navercorp/pinpoint/collector/handler/grpc/GrpcApiMetaDataHandler.java b/collector/src/main/java/com/navercorp/pinpoint/collector/handler/grpc/GrpcApiMetaDataHandler.java index e10a3f5757220..b048d79e58a23 100644 --- a/collector/src/main/java/com/navercorp/pinpoint/collector/handler/grpc/GrpcApiMetaDataHandler.java +++ b/collector/src/main/java/com/navercorp/pinpoint/collector/handler/grpc/GrpcApiMetaDataHandler.java @@ -69,7 +69,7 @@ public void handleRequest(ServerRequest serverRequest, Serve } } - GeneratedMessageV3 handleApiMetaData(final PApiMetaData apiMetaData) { + PResult handleApiMetaData(final PApiMetaData apiMetaData) { if (isDebug) { logger.debug("Handle PApiMetaData={}", MessageFormatUtils.debugLog(apiMetaData)); } diff --git a/collector/src/test/java/com/navercorp/pinpoint/collector/handler/grpc/GrpcApiMetaDataHandlerTest.java b/collector/src/test/java/com/navercorp/pinpoint/collector/handler/grpc/GrpcApiMetaDataHandlerTest.java index 5a1e11468c36b..97a36fb1c2597 100644 --- a/collector/src/test/java/com/navercorp/pinpoint/collector/handler/grpc/GrpcApiMetaDataHandlerTest.java +++ b/collector/src/test/java/com/navercorp/pinpoint/collector/handler/grpc/GrpcApiMetaDataHandlerTest.java @@ -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 @@ -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 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(); + } + }); } + } diff --git a/collector/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker b/collector/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker deleted file mode 100644 index ca6ee9cea8ec1..0000000000000 --- a/collector/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker +++ /dev/null @@ -1 +0,0 @@ -mock-maker-inline \ No newline at end of file diff --git a/grpc/src/main/java/com/navercorp/pinpoint/grpc/server/ServerContext.java b/grpc/src/main/java/com/navercorp/pinpoint/grpc/server/ServerContext.java index f7af8cee225a3..59573849c2f1a 100644 --- a/grpc/src/main/java/com/navercorp/pinpoint/grpc/server/ServerContext.java +++ b/grpc/src/main/java/com/navercorp/pinpoint/grpc/server/ServerContext.java @@ -24,7 +24,7 @@ */ public class ServerContext { - private static final Context.Key
AGENT_INFO_KEY = Context.key("agentinfo"); + public static final Context.Key
AGENT_INFO_KEY = Context.key("agentinfo"); private static final Context.Key TRANSPORT_METADATA_KEY = Context.key("transportmetadata");