mirror of
https://github.com/wahyd4/pinpoint.git
synced 2026-08-18 01:06:03 +10:00
[유치수] [NOBTS] add InvokeMethodInterceptor unit test.
git-svn-id: http://svn.bds.nhncorp.com/pe/hippo-tomcat-profiler/trunk@550 84d0f5b1-2673-498c-a247-62c4ff18d310
This commit is contained in:
@@ -104,6 +104,11 @@
|
||||
<version>4.8.2</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.mockito</groupId>
|
||||
<artifactId>mockito-all</artifactId>
|
||||
<version>1.9.0</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
||||
@@ -8,6 +8,7 @@ import com.profiler.context.Annotation;
|
||||
import com.profiler.context.Header;
|
||||
import com.profiler.context.Trace;
|
||||
import com.profiler.context.TraceID;
|
||||
import com.profiler.context.tracer.DefaultTracer;
|
||||
import com.profiler.interceptor.StaticAroundInterceptor;
|
||||
import com.profiler.trace.RequestTracer;
|
||||
|
||||
@@ -22,31 +23,36 @@ public class InvokeMethodInterceptor implements StaticAroundInterceptor {
|
||||
|
||||
String traceID = request.getHeader(Header.HTTP_TRACE_ID.toString());
|
||||
String parentSpanID = request.getHeader(Header.HTTP_PARENT_SPAN_ID.toString());
|
||||
String spanID = request.getHeader(Header.HTTP_PARENT_SPAN_ID.toString());
|
||||
String spanID = request.getHeader(Header.HTTP_SPAN_ID.toString());
|
||||
Boolean sampled = Boolean.valueOf(request.getHeader(Header.HTTP_SAMPLED.toString()));
|
||||
Integer flags = Integer.valueOf(request.getHeader(Header.HTTP_FLAGS.toString()));
|
||||
|
||||
String parameters = getParameter(request);
|
||||
|
||||
// record
|
||||
// TODO: traceid 유무 확인.
|
||||
Trace.setTraceId(new TraceID(traceID, parentSpanID, spanID, sampled, flags));
|
||||
Trace.recordRpcName("service_name", requestURL);
|
||||
if (traceID != null) {
|
||||
Trace.setTraceId(new TraceID(traceID, parentSpanID, spanID, sampled, flags));
|
||||
} else {
|
||||
Trace.setTraceId(TraceID.newTraceId());
|
||||
}
|
||||
|
||||
Trace.addTracer(new DefaultTracer());
|
||||
|
||||
Trace.recordRpcName("tomcat", requestURL);
|
||||
Trace.recordServerAddr(request.getLocalAddr(), request.getLocalPort());
|
||||
Trace.recordBinary("http.uri", parameters);
|
||||
Trace.record("Parameter=" + parameters);
|
||||
Trace.record(new Annotation.ServerRecv());
|
||||
|
||||
RequestTracer.startTransaction(requestURL, clientIP, System.currentTimeMillis(), parameters);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
// To change body of catch statement use File | Settings | File
|
||||
// Templates.
|
||||
}
|
||||
System.out.println("end--------------");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void after(Object target, String className, String methodName, Object[] args, Object result) {
|
||||
Trace.record(new Annotation.ServerSend());
|
||||
|
||||
RequestTracer.endTransaction();
|
||||
}
|
||||
|
||||
|
||||
@@ -1,10 +1,46 @@
|
||||
package com.profiler.modifier.tomcat;
|
||||
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import java.util.Enumeration;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
public class InvokeMethodInterceptorTest {
|
||||
@Test
|
||||
public void getURLs() {
|
||||
import com.profiler.context.Header;
|
||||
|
||||
}
|
||||
public class InvokeMethodInterceptorTest {
|
||||
|
||||
HttpServletRequest request;
|
||||
HttpServletResponse response;
|
||||
|
||||
@Before
|
||||
public void beforeTest() {
|
||||
request = mock(HttpServletRequest.class);
|
||||
response = mock(HttpServletResponse.class);
|
||||
|
||||
when(request.getRequestURI()).thenReturn("/hellotest.nhn");
|
||||
when(request.getRemoteAddr()).thenReturn("10.0.0.1");
|
||||
when(request.getHeader(Header.HTTP_TRACE_ID.toString())).thenReturn("TRACEID");
|
||||
when(request.getHeader(Header.HTTP_PARENT_SPAN_ID.toString())).thenReturn("PARENTSPANID");
|
||||
when(request.getHeader(Header.HTTP_SPAN_ID.toString())).thenReturn("SPANID");
|
||||
when(request.getHeader(Header.HTTP_SAMPLED.toString())).thenReturn("false");
|
||||
when(request.getHeader(Header.HTTP_FLAGS.toString())).thenReturn("0");
|
||||
|
||||
Enumeration<?> enumeration = mock(Enumeration.class);
|
||||
when(request.getParameterNames()).thenReturn(enumeration);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void doTest() {
|
||||
InvokeMethodInterceptor interceptor = new InvokeMethodInterceptor();
|
||||
|
||||
interceptor.before("target", "classname", "methodname", new Object[] { request, response });
|
||||
|
||||
interceptor.after("target", "classname", "methodname", new Object[] { request, response }, new Object());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user