@Test public void testSetIsFirstTrue() { ConcurrentHashMap<String, String> map = new ConcurrentHashMap<String, String>(); SessionContext context = new SessionContext(map); context.setIsFirst(true); assertEquals(context.getIsFirst(), true); assertEquals(map.size(), 1); assertEquals(Boolean.valueOf(map.get(ContextTagKeys.getKeys().getSessionIsFirst())), true); }
@Test public void testSetIsFirstNull() { ConcurrentHashMap<String, String> map = new ConcurrentHashMap<String, String>(); SessionContext context = new SessionContext(map); context.setIsFirst(null); assertNull(context.getIsFirst()); assertEquals(map.size(), 0); assertNull(map.get(ContextTagKeys.getKeys().getSessionIsFirst())); }
@Test public void testIsFirstSessionSetWhenRequired() { TraceTelemetry telemetry = new TraceTelemetry(); sessionTelemetryInitializer.onInitializeTelemetry(telemetry); Assert.assertEquals("First session expected.", true, telemetry.getContext().getSession().getIsFirst()); }
/** * Initializes the properties of the given telemetry. * * @param telemetry The {@link com.microsoft.applicationinsights.telemetry.Telemetry} to initialize. */ @Override protected void onInitializeTelemetry(Telemetry telemetry) { SessionContext session = telemetry.getContext().getSession(); if (!CommonUtils.isNullOrEmpty(session.getId())) { return; } RequestTelemetry requestTelemetry = ThreadContext.getRequestTelemetryContext().getHttpRequestTelemetry(); SessionContext requestSessionContext = requestTelemetry.getContext().getSession(); if (requestSessionContext == null) { return; } session.setId(requestSessionContext.getId()); Boolean isFirst = requestSessionContext.getIsFirst(); session.setIsFirst(isFirst != null ? isFirst : false); } }
/** * Initializes the properties of the given telemetry. * * @param telemetry The {@link com.microsoft.applicationinsights.telemetry.Telemetry} to initialize. */ @Override protected void onInitializeTelemetry(Telemetry telemetry) { SessionContext session = telemetry.getContext().getSession(); if (!CommonUtils.isNullOrEmpty(session.getId())) { return; } RequestTelemetry requestTelemetry = ThreadContext.getRequestTelemetryContext().getHttpRequestTelemetry(); SessionContext requestSessionContext = requestTelemetry.getContext().getSession(); if (requestSessionContext == null) { return; } session.setId(requestSessionContext.getId()); Boolean isFirst = requestSessionContext.getIsFirst(); session.setIsFirst(isFirst != null ? isFirst : false); } }
@Override public void initialize(Telemetry telemetry) { RequestTelemetry requestTelemetry = ThreadContext.getRequestTelemetryContext().getHttpRequestTelemetry(); SessionContext requestSessionContext = requestTelemetry.getContext().getSession(); if (expectedSessionId == null) { //No longer testing for UUID //Assert.assertTrue(Sanitizer.isUUID(requestSessionContext.getId())); Assert.assertNotEquals(requestSessionContext.getId(), HttpHelper.getCookie()); } else { Assert.assertEquals(expectedSessionId, requestSessionContext.getId()); } Assert.assertEquals(expectedIsFirst, requestSessionContext.getIsFirst()); } }
private void testNoSessionCookie(Boolean isFirstValue) { RequestTelemetryContext requestTelemetryContext = ThreadContext.getRequestTelemetryContext(); requestTelemetryContext.getHttpRequestTelemetry().getContext().getSession().setIsFirst(isFirstValue); requestTelemetryContext.getHttpRequestTelemetry().getContext().getSession().setId(null); TraceTelemetry telemetry = new TraceTelemetry(); sessionTelemetryInitializer.onInitializeTelemetry(telemetry); Assert.assertNull(telemetry.getContext().getSession().getId()); Assert.assertFalse(telemetry.getContext().getSession().getIsFirst()); } }