@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 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()); }
@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 testOnEndAddsSourceFieldForRequestWithRoleNameOnly() { //setup: initialize a request telemetry context RequestTelemetryContext context = new RequestTelemetryContext(DateTimeUtils.getDateTimeNow().getTime()); ThreadContext.setRequestTelemetryContext(context); //mock a servlet request with cross-component correlation headers Map<String, String> headers = new HashMap<String, String>(); headers.put(TelemetryCorrelationUtils.REQUEST_CONTEXT_HEADER_NAME, TelemetryCorrelationUtilsTests.getRequestContextHeaderValue(null, "Front End")); HttpServletRequest request = ServletUtils.createServletRequestWithHeaders(headers); HttpServletResponse response = (HttpServletResponse)ServletUtils.generateDummyServletResponse(); //configure mock appId fetcher to return different appId from what's on the request header mockProfileFetcher.setAppIdToReturn("id2"); mockProfileFetcher.setResultStatus(ProfileFetcherResultTaskStatus.COMPLETE); //run defaultModule.onBeginRequest(request, response); defaultModule.onEndRequest(request, null); //validate source RequestTelemetry requestTelemetry = ThreadContext.getRequestTelemetryContext().getHttpRequestTelemetry(); Assert.assertEquals(TelemetryCorrelationUtilsTests.getRequestSourceValue(null, "Front End"), requestTelemetry.getSource()); }
@Test public void testOnEndAddsSourceFieldForRequestWithRoleNameAndAppId() { //setup: initialize a request telemetry context RequestTelemetryContext context = new RequestTelemetryContext(DateTimeUtils.getDateTimeNow().getTime()); ThreadContext.setRequestTelemetryContext(context); //mock a servlet request with cross-component correlation headers Map<String, String> headers = new HashMap<String, String>(); headers.put(TelemetryCorrelationUtils.REQUEST_CONTEXT_HEADER_NAME, TelemetryCorrelationUtilsTests.getRequestContextHeaderValue("id1", "Front End")); HttpServletRequest request = ServletUtils.createServletRequestWithHeaders(headers); HttpServletResponse response = (HttpServletResponse)ServletUtils.generateDummyServletResponse(); //configure mock appId fetcher to return different appId from what's on the request header mockProfileFetcher.setAppIdToReturn("id2"); mockProfileFetcher.setResultStatus(ProfileFetcherResultTaskStatus.COMPLETE); //run defaultModule.onBeginRequest(request, response); defaultModule.onEndRequest(request, null); //validate source RequestTelemetry requestTelemetry = ThreadContext.getRequestTelemetryContext().getHttpRequestTelemetry(); Assert.assertEquals(TelemetryCorrelationUtilsTests.getRequestSourceValue("id1", "Front End"), requestTelemetry.getSource()); }
@Test public void testOnEndAddsSourceFieldForRequestWithRequestContext() { //setup: initialize a request telemetry context RequestTelemetryContext context = new RequestTelemetryContext(DateTimeUtils.getDateTimeNow().getTime()); ThreadContext.setRequestTelemetryContext(context); //mock a servlet request with cross-component correlation headers Map<String, String> headers = new HashMap<String, String>(); headers.put(TelemetryCorrelationUtils.REQUEST_CONTEXT_HEADER_NAME, TelemetryCorrelationUtilsTests.getRequestContextHeaderValue("id1", null)); HttpServletRequest request = ServletUtils.createServletRequestWithHeaders(headers); HttpServletResponse response = (HttpServletResponse)ServletUtils.generateDummyServletResponse(); //configure mock appId fetcher to return different appId from what's on the request header mockProfileFetcher.setAppIdToReturn("id2"); mockProfileFetcher.setResultStatus(ProfileFetcherResultTaskStatus.COMPLETE); //run defaultModule.onBeginRequest(request, response); defaultModule.onEndRequest(request, null); //validate source RequestTelemetry requestTelemetry = ThreadContext.getRequestTelemetryContext().getHttpRequestTelemetry(); Assert.assertEquals(TelemetryCorrelationUtilsTests.getRequestSourceValue("id1", null), requestTelemetry.getSource()); }
@Test public void testOnEndAddsSourceFieldForRequestWithRoleNameForSameApp() { //setup: initialize a request telemetry context RequestTelemetryContext context = new RequestTelemetryContext(DateTimeUtils.getDateTimeNow().getTime()); ThreadContext.setRequestTelemetryContext(context); //mock a servlet request with cross-component correlation headers Map<String, String> headers = new HashMap<String, String>(); headers.put(TelemetryCorrelationUtils.REQUEST_CONTEXT_HEADER_NAME, TelemetryCorrelationUtilsTests.getRequestContextHeaderValue("id1", "Front End")); HttpServletRequest request = ServletUtils.createServletRequestWithHeaders(headers); HttpServletResponse response = (HttpServletResponse)ServletUtils.generateDummyServletResponse(); //configure mock appId fetcher to return the same appId from what's on the request header mockProfileFetcher.setAppIdToReturn("id1"); mockProfileFetcher.setResultStatus(ProfileFetcherResultTaskStatus.COMPLETE); //run defaultModule.onBeginRequest(request, response); defaultModule.onEndRequest(request, null); //validate source RequestTelemetry requestTelemetry = ThreadContext.getRequestTelemetryContext().getHttpRequestTelemetry(); Assert.assertEquals(TelemetryCorrelationUtilsTests.getRequestSourceValue(null, "Front End"), requestTelemetry.getSource()); }
Assert.assertEquals(TelemetryCorrelationUtilsTests.getRequestSourceValue("id1", null), requestTelemetry.getSource());