TraceContextCorrelation.resolveCorrelation(request, response, telemetry); } else {
TraceContextCorrelation.resolveCorrelation(request, response, telemetry); } else {
@Test public void testCorrelationIdsAreResolvedIfTraceparentEmpty() { //setup - empty RequestId Map<String, String> headers = new HashMap<>(); headers.put(TraceContextCorrelation.TRACEPARENT_HEADER_NAME, ""); HttpServletRequest request = ServletUtils.createServletRequestWithHeaders(headers); HttpServletResponse response = (HttpServletResponse)ServletUtils.generateDummyServletResponse(); RequestTelemetry requestTelemetry = new RequestTelemetry(); //run TraceContextCorrelation.resolveCorrelation(request, response, requestTelemetry); //validate operation context ID's - there is no parent, so parentId should be null, traceId // is newly generated and request.Id is based on new traceId-spanId OperationContext operation = requestTelemetry.getContext().getOperation(); Assert.assertNotNull(requestTelemetry.getId()); // First trace will have it's own spanId also. Assert.assertTrue(requestTelemetry.getId().startsWith("|" + operation.getId())); Assert.assertNull(operation.getParentId()); }
@Test public void testCorrelationIdsAreResolvedIfNoTraceparentHeader() { //setup - no headers Map<String, String> headers = new HashMap<>(); HttpServletRequest request = ServletUtils.createServletRequestWithHeaders(headers); HttpServletResponse response = (HttpServletResponse)ServletUtils.generateDummyServletResponse(); RequestTelemetry requestTelemetry = new RequestTelemetry(); //run TraceContextCorrelation.resolveCorrelation(request, response, requestTelemetry); //validate operation context ID's - there is no parent, so parentId should be null, traceId // is newly generated and request.Id is based on new traceId-spanId OperationContext operation = requestTelemetry.getContext().getOperation(); Assert.assertNotNull(requestTelemetry.getId()); // First trace will have it's own spanId also. Assert.assertTrue(requestTelemetry.getId().startsWith(formatedID(operation.getId()))); Assert.assertNull(operation.getParentId()); }
@Test public void testTraceparentAreResolved() { //setup Map<String, String> headers = new HashMap<>(); Traceparent t = new Traceparent(); headers.put(TraceContextCorrelation.TRACEPARENT_HEADER_NAME, t.toString()); HttpServletRequest request = ServletUtils.createServletRequestWithHeaders(headers); HttpServletResponse response = (HttpServletResponse)ServletUtils.generateDummyServletResponse(); RequestTelemetry requestTelemetry = new RequestTelemetry(); //run TraceContextCorrelation.resolveCorrelation(request, response, requestTelemetry); //validate we have generated proper ID's Assert.assertNotNull(requestTelemetry.getId()); Assert.assertTrue(requestTelemetry.getId().startsWith(formatedID(t.getTraceId()))); //validate operation context ID's OperationContext operation = requestTelemetry.getContext().getOperation(); Assert.assertEquals(t.getTraceId(), operation.getId()); Assert.assertEquals(formatedID(t.getTraceId() + "." + t.getSpanId()), operation.getParentId()); }