TraceContextCorrelation.resolveRequestSource((HttpServletRequest) req, telemetry, instrumentationKey); } else { TelemetryCorrelationUtils.resolveRequestSource((HttpServletRequest) req, telemetry, instrumentationKey);
TraceContextCorrelation.resolveRequestSource((HttpServletRequest) req, telemetry, instrumentationKey); } else { TelemetryCorrelationUtils.resolveRequestSource((HttpServletRequest) req, telemetry, instrumentationKey);
InternalLogger.INSTANCE.trace("Tracestate absent, In backward compatibility mode, will try to resolve " + "request-context"); TelemetryCorrelationUtils.resolveRequestSource(request, requestTelemetry, instrumentationKey); return;
InternalLogger.INSTANCE.trace("Tracestate absent, In backward compatibility mode, will try to resolve " + "request-context"); TelemetryCorrelationUtils.resolveRequestSource(request, requestTelemetry, instrumentationKey); return;
@Test public void testRequestContextIsNotResolvedWithNullRequest() { //setup Hashtable<String, String> headers = new Hashtable<String, String>(); String incomingRequestContextHeader = getRequestContextHeaderValue("id1", "Worker Role"); headers.put(TelemetryCorrelationUtils.REQUEST_CONTEXT_HEADER_NAME, incomingRequestContextHeader); RequestTelemetry requestTelemetry = new RequestTelemetry(); mockProfileFetcher.setResultStatus(ProfileFetcherResultTaskStatus.COMPLETE); mockProfileFetcher.setAppIdToReturn("id2"); //run TelemetryCorrelationUtils.resolveRequestSource(null, requestTelemetry, "ike1"); //validate Assert.assertNull(requestTelemetry.getSource()); }
@Test public void testRequestContextIsNotResolvedIfNoAppIdOrRoleName() { //setup Hashtable<String, String> headers = new Hashtable<String, String>(); //Request-Context is available but with no appId or roleName keys headers.put(TelemetryCorrelationUtils.REQUEST_CONTEXT_HEADER_NAME, "foo=bar"); HttpServletRequest request = ServletUtils.createServletRequestWithHeaders(headers); RequestTelemetry requestTelemetry = new RequestTelemetry(); mockProfileFetcher.setResultStatus(ProfileFetcherResultTaskStatus.COMPLETE); mockProfileFetcher.setAppIdToReturn("id1"); //run TelemetryCorrelationUtils.resolveRequestSource(request, requestTelemetry, "ikey1"); //validate source is not set as the incoming request had no appId or roleName. Assert.assertNull(requestTelemetry.getSource()); }
@Test public void testRequestContextIsNotResolvedWithFailedAppProfileFetch() { //setup Hashtable<String, String> headers = new Hashtable<String, String>(); String incomingRequestContextHeader = getRequestContextHeaderValue("id1", null); headers.put(TelemetryCorrelationUtils.REQUEST_CONTEXT_HEADER_NAME, incomingRequestContextHeader); HttpServletRequest request = ServletUtils.createServletRequestWithHeaders(headers); RequestTelemetry requestTelemetry = new RequestTelemetry(); mockProfileFetcher.setResultStatus(ProfileFetcherResultTaskStatus.FAILED); mockProfileFetcher.setAppIdToReturn("id2"); //run TelemetryCorrelationUtils.resolveRequestSource(request, requestTelemetry, "ikey1"); //validate source is not set as the task to retrieve appId failed. Assert.assertNull(requestTelemetry.getSource()); }
@Test public void testRequestContextIsNotResolvedWithNullRequestTelemetry() { //setup Hashtable<String, String> headers = new Hashtable<String, String>(); String incomingRequestContextHeader = getRequestContextHeaderValue("id1", "Worker Role"); headers.put(TelemetryCorrelationUtils.REQUEST_CONTEXT_HEADER_NAME, incomingRequestContextHeader); HttpServletRequest request = ServletUtils.createServletRequestWithHeaders(headers); RequestTelemetry requestTelemetry = new RequestTelemetry(); mockProfileFetcher.setResultStatus(ProfileFetcherResultTaskStatus.COMPLETE); mockProfileFetcher.setAppIdToReturn("id2"); //run TelemetryCorrelationUtils.resolveRequestSource(request, null, "ike1"); //validate Assert.assertNull(requestTelemetry.getSource()); }
@Test public void testRequestContextIsNotResolvedIfNoHeaderPresent() { //setup Hashtable<String, String> headers = new Hashtable<String, String>(); HttpServletRequest request = ServletUtils.createServletRequestWithHeaders(headers); RequestTelemetry requestTelemetry = new RequestTelemetry(); mockProfileFetcher.setResultStatus(ProfileFetcherResultTaskStatus.COMPLETE); mockProfileFetcher.setAppIdToReturn("id1"); //run TelemetryCorrelationUtils.resolveRequestSource(request, requestTelemetry, "ikey1"); //validate source is not set as the incoming request had no Request-Context header. Assert.assertNull(requestTelemetry.getSource()); }
@Test public void testRequestContextIsResolved() { //setup Hashtable<String, String> headers = new Hashtable<String, String>(); String incomingRequestContextHeader = getRequestContextHeaderValue("id1", null); headers.put(TelemetryCorrelationUtils.REQUEST_CONTEXT_HEADER_NAME, incomingRequestContextHeader); HttpServletRequest request = ServletUtils.createServletRequestWithHeaders(headers); RequestTelemetry requestTelemetry = new RequestTelemetry(); mockProfileFetcher.setResultStatus(ProfileFetcherResultTaskStatus.COMPLETE); mockProfileFetcher.setAppIdToReturn("id2"); //run TelemetryCorrelationUtils.resolveRequestSource(request, requestTelemetry, "ikey1"); //validate we have populated the source as expected Assert.assertEquals(getRequestSourceValue("id1", null), requestTelemetry.getSource()); }
@Test public void testRequestContextIsNotResolvedWithPendingAppProfileFetch() { //setup Hashtable<String, String> headers = new Hashtable<String, String>(); String incomingRequestContextHeader = getRequestContextHeaderValue("id1", null); headers.put(TelemetryCorrelationUtils.REQUEST_CONTEXT_HEADER_NAME, incomingRequestContextHeader); HttpServletRequest request = ServletUtils.createServletRequestWithHeaders(headers); RequestTelemetry requestTelemetry = new RequestTelemetry(); mockProfileFetcher.setResultStatus(ProfileFetcherResultTaskStatus.PENDING); mockProfileFetcher.setAppIdToReturn("id2"); //run TelemetryCorrelationUtils.resolveRequestSource(request, requestTelemetry, "ikey1"); //validate source is not set as the task to retrieve appId was still pending. Assert.assertNull(requestTelemetry.getSource()); }
@Test public void testRequestContextIsNotResolvedWithNullIkey() { //setup Hashtable<String, String> headers = new Hashtable<String, String>(); String incomingRequestContextHeader = getRequestContextHeaderValue("id1", "Worker Role"); headers.put(TelemetryCorrelationUtils.REQUEST_CONTEXT_HEADER_NAME, incomingRequestContextHeader); HttpServletRequest request = ServletUtils.createServletRequestWithHeaders(headers); RequestTelemetry requestTelemetry = new RequestTelemetry(); mockProfileFetcher.setResultStatus(ProfileFetcherResultTaskStatus.COMPLETE); mockProfileFetcher.setAppIdToReturn("id2"); //run TelemetryCorrelationUtils.resolveRequestSource(request, requestTelemetry, null); //validate Assert.assertNull(requestTelemetry.getSource()); }
@Test public void testRequestContextIsNotResolvedForSameApp() { //setup Hashtable<String, String> headers = new Hashtable<String, String>(); String incomingRequestContextHeader = getRequestContextHeaderValue("id1", null); headers.put(TelemetryCorrelationUtils.REQUEST_CONTEXT_HEADER_NAME, incomingRequestContextHeader); HttpServletRequest request = ServletUtils.createServletRequestWithHeaders(headers); RequestTelemetry requestTelemetry = new RequestTelemetry(); mockProfileFetcher.setResultStatus(ProfileFetcherResultTaskStatus.COMPLETE); //appId returned is the same as incoming one. mockProfileFetcher.setAppIdToReturn("id1"); //run TelemetryCorrelationUtils.resolveRequestSource(request, requestTelemetry, "ikey1"); //validate source is not set as the incoming request came from the same application. Assert.assertNull(requestTelemetry.getSource()); }
@Test public void testRequestContextIsResolvedWithAppIdAndRoleName() { //setup Hashtable<String, String> headers = new Hashtable<String, String>(); String incomingRequestContextHeader = getRequestContextHeaderValue("id1", "Worker Role"); headers.put(TelemetryCorrelationUtils.REQUEST_CONTEXT_HEADER_NAME, incomingRequestContextHeader); HttpServletRequest request = ServletUtils.createServletRequestWithHeaders(headers); RequestTelemetry requestTelemetry = new RequestTelemetry(); mockProfileFetcher.setResultStatus(ProfileFetcherResultTaskStatus.COMPLETE); mockProfileFetcher.setAppIdToReturn("id2"); //run TelemetryCorrelationUtils.resolveRequestSource(request, requestTelemetry, "ikey1"); //validate we have populated the source as expected Assert.assertEquals(getRequestSourceValue("id1", "Worker Role"), requestTelemetry.getSource()); }
@Test public void testRequestContextIsResolvedWithRoleNameOnly() { //setup Hashtable<String, String> headers = new Hashtable<String, String>(); String incomingRequestContextHeader = getRequestContextHeaderValue(null, "Worker Role"); headers.put(TelemetryCorrelationUtils.REQUEST_CONTEXT_HEADER_NAME, incomingRequestContextHeader); HttpServletRequest request = ServletUtils.createServletRequestWithHeaders(headers); RequestTelemetry requestTelemetry = new RequestTelemetry(); mockProfileFetcher.setResultStatus(ProfileFetcherResultTaskStatus.COMPLETE); mockProfileFetcher.setAppIdToReturn("id2"); //run TelemetryCorrelationUtils.resolveRequestSource(request, requestTelemetry, "ikey1"); //validate we have populated the source as expected Assert.assertEquals(getRequestSourceValue(null, "Worker Role"), requestTelemetry.getSource()); }