private OperationContext createAndInitializeTelemetry() { TraceTelemetry telemetry = new TraceTelemetry(); defaultInitializer.initialize(telemetry); return telemetry.getContext().getOperation(); }
private static void testSeverityLevel(SeverityLevel severityLevel) { TraceTelemetry telemetry = new TraceTelemetry("Mock"); telemetry.setSeverityLevel(severityLevel); assertEquals(telemetry.getSeverityLevel(), severityLevel); } }
@Test public void testSetMessage() { TraceTelemetry telemetry = new TraceTelemetry("MockMessage"); telemetry.setMessage("MockMessage1"); assertEquals("MockMessage1", telemetry.getMessage()); }
/** * Initializes a new instance of the class with the specified parameter 'message'. * @param message The message. Max length 10000. * @param severityLevel The severity level. */ public TraceTelemetry(String message, SeverityLevel severityLevel) { super(); data = new MessageData(); initialize(data.getProperties()); setMessage(message); setSeverityLevel(severityLevel); }
@Override public boolean process(Telemetry telemetry) { if (telemetry == null) { return true; } if (!(telemetry instanceof TraceTelemetry)) { return true; } if (fromSeverityLevel == null) { return false; } TraceTelemetry tt = (TraceTelemetry) telemetry; String message = tt.getMessage(); if (LocalStringsUtils.isNullOrEmpty(message)) { return true; } if (tt.getSeverityLevel() == null) { return true; } if (tt.getSeverityLevel().compareTo(this.fromSeverityLevel) < 0) { return false; } return true; }
/** * Sends the given event to AI. * * @param event The event to send. */ public void sendEvent(ApplicationInsightsEvent event) { String formattedMessage = event.getMessage(); Map<String, String> customParameters = event.getCustomParameters(); Telemetry telemetry; if (event.isException()) { ExceptionTelemetry exceptionTelemetry = new ExceptionTelemetry(event.getException()); exceptionTelemetry.setSeverityLevel(event.getNormalizedSeverityLevel()); telemetry = exceptionTelemetry; } else { TraceTelemetry traceTelemetry = new TraceTelemetry(formattedMessage); traceTelemetry.setSeverityLevel(event.getNormalizedSeverityLevel()); telemetry = traceTelemetry; } telemetry.getContext().getProperties().putAll(customParameters); telemetryClient.track(telemetry); }
@Test public void testProcessOffSeverityLevel() throws Throwable { TraceTelemetryFilter tested = new TraceTelemetryFilter(); tested.setFromSeverityLevel(" off"); for (SeverityLevel sl : SeverityLevel.values()) { TraceTelemetry traceTelemetry = new TraceTelemetry(); traceTelemetry.setSeverityLevel(sl); traceTelemetry.setMessage("A A 1"); boolean result = tested.process(traceTelemetry); assertFalse(result); } }
@Before public void testInit() { reset(contextPollerMock); when(contextPollerMock.getDockerContext()).thenReturn(defaultDockerContext); when(contextPollerMock.isCompleted()).thenReturn(true); telemetry = new TraceTelemetry(); }
TraceTelemetry tt = new TraceTelemetry(message, SeverityLevel.Information); tt.getContext().setInstrumentationKey(iKey); testCases.add(new Object[]{ "Trace", getTelemetryBuilder(TraceTelemetry.ENVELOPE_NAME, iKey) .setMessage(Message.newBuilder() .setVer(tt.getVer()) .setMessage(message) .setSeverityLevel(LocalForwarderModelTransformer.transformSeverityLevel(tt.getSeverityLevel())) tt = new TraceTelemetry(message, SeverityLevel.Error); tt.getContext().setInstrumentationKey(iKey); tt.getProperties().putAll(props); testCases.add(new Object[]{ "Trace, with props", getTelemetryBuilder(TraceTelemetry.ENVELOPE_NAME, iKey) .setMessage(Message.newBuilder() .setVer(tt.getVer()) .setMessage(message) .setSeverityLevel(LocalForwarderModelTransformer.transformSeverityLevel(tt.getSeverityLevel())) .putAllProperties(props)
@Test public void testEmptyCtor() { TraceTelemetry telemetry = new TraceTelemetry(); assertEquals("", telemetry.getMessage()); }
@Test(expected = Throwable.class) public void testProcessWithNullData() throws Throwable { TraceTelemetryFilter tested = new TraceTelemetryFilter(); tested.setFromSeverityLevel(null); TraceTelemetry traceTelemetry = new TraceTelemetry(); traceTelemetry.setMessage("A A 1"); boolean result = tested.process(traceTelemetry); assertTrue(result); }
@Override public Telemetry apply(BaseTelemetry bt) { Preconditions.checkNotNull(bt); TraceTelemetry t = (TraceTelemetry) bt; final Message.Builder mb = Message.newBuilder() .setVer(t.getVer()); final SeverityLevel sl = transformSeverityLevel(t.getSeverityLevel()); if (sl != SeverityLevel.UNRECOGNIZED) mb.setSeverityLevel(sl); if (t.getMessage() != null) mb.setMessage(t.getMessage()); if (t.getProperties() != null) mb.putAllProperties(t.getProperties()); return telemetryBuilderWithStandardFields(t).setMessage(mb).build(); } });
@Test public void testFirstValueIsNull() { TraceTelemetry telemetry = new TraceTelemetry("Mock"); assertNull(telemetry.getSeverityLevel()); }
private static void verifyTraceTelemetry(Telemetry telemetry, SeverityLevel expectedSeverityLevel, Map<String, String> expectedProperties) { assertNotNull(telemetry); assertTrue(telemetry instanceof TraceTelemetry); TraceTelemetry traceTelemetry = (TraceTelemetry)telemetry; assertEquals(traceTelemetry.getSeverityLevel(), expectedSeverityLevel); if (expectedProperties != null) { assertEquals(traceTelemetry.getContext().getProperties(), expectedProperties); } }
@Override protected void failed(Throwable e, Description description) { System.out.println("Failure detected. Printing found telemetry:"); List<Telemetry> telemetries = LogChannelMockVerifier.INSTANCE.getTelemetryCollection(); for (Telemetry t : telemetries) { String tname = t.getClass().getSimpleName(); String tinfo = tname; if (t instanceof TraceTelemetry) { TraceTelemetry trct = (TraceTelemetry)t; tinfo = String.format("%s{message='%s'}", tname, trct.getMessage()); } else if (t instanceof ExceptionTelemetry) { ExceptionTelemetry ext = (ExceptionTelemetry)t; tinfo = String.format("%s{%s[message='%s']}", tname, ext.getException().getClass().getSimpleName(), ext.getException().getMessage()); } System.out.println(" - "+tinfo); } System.out.printf("%d total telemetries collected.%n", telemetries.size()); } };
/** * Sends the given event to AI. * * @param event The event to send. */ public void sendEvent(ApplicationInsightsEvent event) { String formattedMessage = event.getMessage(); Map<String, String> customParameters = event.getCustomParameters(); Telemetry telemetry; if (event.isException()) { ExceptionTelemetry exceptionTelemetry = new ExceptionTelemetry(event.getException()); exceptionTelemetry.setSeverityLevel(event.getNormalizedSeverityLevel()); telemetry = exceptionTelemetry; } else { TraceTelemetry traceTelemetry = new TraceTelemetry(formattedMessage); traceTelemetry.setSeverityLevel(event.getNormalizedSeverityLevel()); telemetry = traceTelemetry; } telemetry.getContext().getProperties().putAll(customParameters); telemetryClient.track(telemetry); }
@Test public void testProcessWarningLevel() throws Throwable { TraceTelemetryFilter tested = new TraceTelemetryFilter(); tested.setFromSeverityLevel(" Warn"); for (SeverityLevel sl : SeverityLevel.values()) { TraceTelemetry traceTelemetry = new TraceTelemetry(); traceTelemetry.setSeverityLevel(sl); traceTelemetry.setMessage("A A 1"); boolean result = tested.process(traceTelemetry); if (sl.equals(SeverityLevel.Verbose) || sl.equals(SeverityLevel.Information)) { assertFalse(result); } else { assertTrue(result); } } }
@Test public void testContextThrowsInInitialize() { ContextInitializer mockContextInitializer = new ContextInitializer() { @Override public void initialize(TelemetryContext context) { throw new RuntimeException(); } }; configuration.getContextInitializers().add(mockContextInitializer); TraceTelemetry telemetry = new TraceTelemetry("test"); client.track(telemetry); }
@Test public void testCtor() { TraceTelemetry telemetry = new TraceTelemetry("MockMessage"); assertEquals("MockMessage", telemetry.getMessage()); }
@Test(expected = Throwable.class) public void testProcessWithEmptyData() throws Throwable { TraceTelemetryFilter tested = new TraceTelemetryFilter(); tested.setFromSeverityLevel(""); TraceTelemetry traceTelemetry = new TraceTelemetry(); traceTelemetry.setMessage("A A 1"); boolean result = tested.process(traceTelemetry); assertTrue(result); }