use of com.amazonaws.xray.emitters.Emitter in project aws-xray-sdk-java by aws.
the class AWSXRayRecorderTest method testSubsegmentEmittedInLambdaContext.
@Test
public void testSubsegmentEmittedInLambdaContext() throws JSONException {
TraceHeader header = TraceHeader.fromString(TRACE_HEADER);
PowerMockito.stub(PowerMockito.method(LambdaSegmentContext.class, "getTraceHeaderFromEnvironment")).toReturn(header);
PowerMockito.stub(PowerMockito.method(LambdaSegmentContextResolver.class, "getLambdaTaskRoot")).toReturn("/var/task");
Emitter mockEmitter = Mockito.mock(Emitter.class);
AWSXRayRecorder recorder = AWSXRayRecorderBuilder.standard().withEmitter(mockEmitter).build();
recorder.createSubsegment("test", () -> {
});
ArgumentCaptor<Subsegment> emittedSubsegment = ArgumentCaptor.forClass(Subsegment.class);
Mockito.verify(mockEmitter, Mockito.times(1)).sendSubsegment(emittedSubsegment.capture());
Subsegment captured = emittedSubsegment.getValue();
JSONAssert.assertEquals(expectedLambdaSubsegment(header.getRootTraceId(), header.getParentId(), captured.getId(), captured.getStartTime(), captured.getEndTime()).toString(), captured.streamSerialize(), JSONCompareMode.NON_EXTENSIBLE);
}
use of com.amazonaws.xray.emitters.Emitter in project aws-xray-sdk-java by aws.
the class AWSXRayRecorderTest method setupAWSXRay.
@Before
public void setupAWSXRay() {
MockitoAnnotations.initMocks(this);
Emitter blankEmitter = Mockito.mock(Emitter.class);
LocalizedSamplingStrategy defaultSamplingStrategy = new LocalizedSamplingStrategy();
Mockito.doReturn(true).when(blankEmitter).sendSegment(Mockito.anyObject());
Mockito.doReturn(true).when(blankEmitter).sendSubsegment(Mockito.anyObject());
AWSXRay.setGlobalRecorder(AWSXRayRecorderBuilder.standard().withEmitter(blankEmitter).withSamplingStrategy(defaultSamplingStrategy).build());
AWSXRay.clearTraceEntity();
}
use of com.amazonaws.xray.emitters.Emitter in project aws-xray-sdk-java by aws.
the class AWSXRayRecorderTest method testExplicitSubsegmentEmitted.
@Test
public void testExplicitSubsegmentEmitted() {
Emitter mockEmitter = Mockito.mock(Emitter.class);
AWSXRayRecorder recorder = AWSXRayRecorderBuilder.standard().withEmitter(mockEmitter).build();
recorder.beginSegment("test");
Subsegment subsegment = recorder.beginSubsegment("test");
recorder.endSubsegment(subsegment);
recorder.endSegment();
Mockito.verify(mockEmitter, Mockito.times(1)).sendSegment(any());
}
use of com.amazonaws.xray.emitters.Emitter in project aws-xray-sdk-java by aws.
the class AWSXRayRecorderTest method testDummySegmentNotEmitted.
@Test
public void testDummySegmentNotEmitted() {
Emitter mockEmitter = Mockito.mock(Emitter.class);
AWSXRayRecorder recorder = AWSXRayRecorderBuilder.standard().withEmitter(mockEmitter).build();
recorder.beginDummySegment();
recorder.beginSubsegment("test");
recorder.endSubsegment();
recorder.endSegment();
Mockito.verify(mockEmitter, Mockito.times(0)).sendSegment(any());
}
use of com.amazonaws.xray.emitters.Emitter in project aws-xray-sdk-java by aws.
the class SegmentListenerTest method setupAWSXRay.
@BeforeEach
void setupAWSXRay() {
Emitter blankEmitter = Mockito.mock(Emitter.class);
Mockito.doReturn(true).when(blankEmitter).sendSegment(Mockito.any());
Mockito.doReturn(true).when(blankEmitter).sendSubsegment(Mockito.any());
CustomSegmentListener segmentListener = new CustomSegmentListener();
AWSXRay.setGlobalRecorder(AWSXRayRecorderBuilder.standard().withEmitter(blankEmitter).withSegmentListener(segmentListener).build());
AWSXRay.clearTraceEntity();
}
Aggregations