@Test public void testTelemetryPropertiesNotInitializedWhenAlreadyPopulated() { final String host = "predefined_host"; telemetry.getProperties().put(Constants.DOCKER_HOST_PROPERTY_KEY, host); initializerUnderTest.initialize(telemetry); Assert.assertEquals(host, telemetry.getProperties().get(Constants.DOCKER_HOST_PROPERTY_KEY)); }
@Test public void testMDCPropertiesAreBeingSetAsCustomDimensions() throws Exception { Logger logger = (Logger) LoggerFactory.getLogger("root"); MDC.put("key", "value"); logger.error("This is an exception", new Exception("Fake Exception")); TimeUnit.SECONDS.sleep(1); Assert.assertTrue(LogChannelMockVerifier.INSTANCE.getTelemetryCollection().get(0).getProperties().get("key").equals("value")); }
@Test public void testLoggerMessageIsRetainedWhenReportingException() throws Exception { Logger logger = LogManager.getRootLogger(); logger.error("This is an exception", new Exception("Fake Exception")); TimeUnit.SECONDS.sleep(1); Assert.assertEquals(1, LogChannelMockVerifier.INSTANCE.getTelemetryCollection().size()); Assert.assertTrue(LogChannelMockVerifier.INSTANCE.getTelemetryCollection().get(0).getProperties().containsKey("Logger Message")); Assert.assertTrue(LogChannelMockVerifier.INSTANCE.getTelemetryCollection().get(0).getProperties().get("Logger Message").equals("This is an exception")); }
@Test public void heartBeatPayloadContainsDataByDefault() throws Exception { HeartBeatProvider provider = new HeartBeatProvider(); provider.initialize(null); Thread.sleep(100); Method m = provider.getClass().getDeclaredMethod("gatherData"); m.setAccessible(true); Telemetry t = (Telemetry)m.invoke(provider); Assert.assertNotNull(t); // for callable to complete adding Thread.sleep(100); Assert.assertTrue(t.getProperties().size() > 0); }
@Test public void testLoggerMessageIsRetainedWhenReportingException() throws Exception { Logger logger = LogManager.getRootLogger(); logger.error("This is an exception", new Exception("Fake Exception")); TimeUnit.SECONDS.sleep(1); Assert.assertEquals(1, LogChannelMockVerifier.INSTANCE.getTelemetryCollection().size()); Assert.assertTrue(LogChannelMockVerifier.INSTANCE.getTelemetryCollection().get(0).getProperties().containsKey("Logger Message")); Assert.assertTrue(LogChannelMockVerifier.INSTANCE.getTelemetryCollection().get(0).getProperties().get("Logger Message").equals("This is an exception")); }
@Test public void cannotAddUnknownDefaultProperty() throws Exception { DefaultHeartBeatPropertyProvider base = new DefaultHeartBeatPropertyProvider(); String testKey = "testKey"; Field field = base.getClass().getDeclaredField("defaultFields"); field.setAccessible(true); Set<String> defaultFields = (Set<String>)field.get(base); defaultFields.add(testKey); HeartBeatProvider provider = new HeartBeatProvider(); base.setDefaultPayload(new ArrayList<String>(), provider).call(); Method m = provider.getClass().getDeclaredMethod("gatherData"); m.setAccessible(true); Telemetry t = (Telemetry)m.invoke(provider); Assert.assertFalse(t.getProperties().containsKey("testKey")); }
@Test public void testLoggerMessageIsRetainedWhenReportingException() throws Exception { Logger logger = (Logger) LoggerFactory.getLogger("root"); logger.error("This is an exception", new Exception("Fake Exception")); TimeUnit.SECONDS.sleep(1); Assert.assertEquals(1, LogChannelMockVerifier.INSTANCE.getTelemetryCollection().size()); Assert.assertTrue(LogChannelMockVerifier.INSTANCE.getTelemetryCollection().get(0).getProperties().containsKey("Logger Message")); Assert.assertTrue(LogChannelMockVerifier.INSTANCE.getTelemetryCollection().get(0).getProperties().get("Logger Message").equals("This is an exception")); }
@Test public void heartBeatPayloadContainsSpecificProperties() throws Exception { HeartBeatProvider provider = new HeartBeatProvider(); Assert.assertTrue(provider.addHeartBeatProperty("test", "testVal", true)); Method m = provider.getClass().getDeclaredMethod("gatherData"); m.setAccessible(true); Telemetry t = (Telemetry)m.invoke(provider); Assert.assertEquals("testVal", t.getProperties().get("test")); }
@Test public void testWhenTelemetryPropertiesAlreadyPopulatedDeviceIdStillSet() { final String host = "predefined_host"; telemetry.getProperties().put(Constants.DOCKER_HOST_PROPERTY_KEY, host); initializerUnderTest.initialize(telemetry); Assert.assertEquals(host, telemetry.getProperties().get(Constants.DOCKER_HOST_PROPERTY_KEY)); Assert.assertEquals(DEFAULT_CONTAINER_NAME, telemetry.getContext().getDevice().getId()); }
@Test public void testTelemetryInitializedWhenContextAvailable() { initializerUnderTest.initialize(telemetry); Map<String, String> properties = telemetry.getProperties(); Assert.assertEquals(DEFAULT_CONTAINER_NAME, telemetry.getContext().getDevice().getId()); Assert.assertEquals(DEFAULT_IMAGE, properties.get(Constants.DOCKER_IMAGE_PROPERTY_KEY)); Assert.assertEquals(DEFAULT_CONTAINER_NAME, properties.get(Constants.DOCKER_CONTAINER_NAME_PROPERTY_KEY)); Assert.assertEquals(DEFAULT_CONTAINER_ID, properties.get(Constants.DOCKER_CONTAINER_ID_PROPERTY_KEY)); }
if (telemetry.getProperties().get(key) == null) { telemetry.getProperties().put(key, correlationContextMap.get(key));
if (telemetry.getProperties().get(key) == null) { telemetry.getProperties().put(key, correlationContextMap.get(key));